> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Sheets

> Synchronisez les événements personnalisés de Google Sheets vers OneSignal pour déclencher des Journeys automatisés et des campagnes de messagerie personnalisées basées sur le comportement des utilisateurs.

export const DATA_TYPE_0 = "columns"

export const PLATFORM_0 = "Google Sheets"

export const COLUMN_HEADER_0 = "Sheets Column Examples"

export const PROPERTIES_DESCRIPTION_0 = "Multiple columns combined into JSON"

## Aperçu

L'intégration OneSignal + Google Sheets permet la synchronisation automatique des événements personnalisés de vos Google Sheets vers OneSignal. Cela vous permet de déclencher des Journeys automatisés et des campagnes de messagerie personnalisées basées sur les données comportementales des utilisateurs stockées dans vos feuilles de calcul, parfait pour les équipes qui gèrent les données d'événements de manière collaborative.

***

## Prérequis

* Accès aux [Event Streams](/docs/en/event-streams) pour les événements de message sortants (Les limitations de forfait et les dépassements s'appliquent)
* Accès aux [Événements personnalisés](/docs/en/custom-events) pour la synchronisation des événements entrants (Les limitations de forfait et les dépassements s'appliquent)
* [Forfait de compte mis à jour](https://onesignal.com/pricing) (non disponible sur les applications gratuites)

### Google Sheets

* **Compte Google** avec accès à la feuille contenant les données d'événements
* **Feuille de calcul d'événements** avec une structure de colonnes appropriée pour les données d'événements
* **Autorisations de partage de feuille** pour que OneSignal puisse accéder aux données
* **Format de données cohérent** dans votre feuille de suivi des événements

***

## Configuration

<Steps>
  <Step title="Préparer votre feuille de données d'événements">
    Structurez votre Google Sheet avec les colonnes requises pour les données d'événements :

    **Colonnes requises :**

    * `event_name` ou `event_type` : Le nom de l'événement (Chaîne)
    * `user_id` ou `email` : Identifiant utilisateur (Chaîne)
    * `timestamp` ou `created_at` : Horodatage de l'événement (Date/DateTime)
    * `properties` : Propriétés de l'événement au format JSON ou colonnes séparées (Optionnel)

    **Exemple de structure de feuille :**

    ```
    | event_name | user_id | timestamp           | product_id | amount |
    |------------|---------|---------------------|------------|--------|
    | purchase   | user123 | 2024-01-15 10:30:00 | prod_abc   | 29.99  |
    | signup     | user456 | 2024-01-15 11:45:00 |            |        |
    ```
  </Step>

  <Step title="Configurer les autorisations de la feuille">
    Partagez votre Google Sheet avec le compte de service de OneSignal :

    1. Ouvrez votre Google Sheet
    2. Cliquez sur le bouton **Partager** en haut à droite
    3. Ajoutez l'adresse e-mail du compte de service OneSignal (fournie lors de la configuration)
    4. Définissez les autorisations sur **Lecteur** (accès en lecture seule)
    5. Cliquez sur **Envoyer** pour accorder l'accès

    <Info>
      OneSignal fournira l'adresse e-mail spécifique du compte de service pendant le processus de configuration de l'intégration.
    </Info>
  </Step>

  <Step title="Ajouter l'intégration dans OneSignal">
    Dans OneSignal, allez dans **Data > Integrations** et cliquez sur **Add Integration**.

    Sélectionnez **Google Sheets** et fournissez :

    * **URL de la feuille** : L'URL complète de votre Google Sheet
    * **Nom de la feuille** : Le nom spécifique de l'onglet/feuille contenant les données d'événements
    * **Ligne d'en-tête** : Numéro de ligne contenant les en-têtes de colonnes (généralement 1)
    * **Plage de données** : Plage de cellules contenant vos données d'événements (par ex., `A2:F1000`)
  </Step>

  <Step title="Configurer le mappage des colonnes">
    Mappez vos colonnes Google Sheets aux champs d'événements OneSignal :

    * **Colonne du nom de l'événement** : Sélectionnez la colonne contenant les noms d'événements
    * **Colonne de l'ID utilisateur** : Sélectionnez la colonne avec les identifiants utilisateurs
    * **Colonne de l'horodatage** : Sélectionnez la colonne avec les horodatages d'événements
    * **Colonnes de propriétés** : Sélectionnez les colonnes supplémentaires à inclure comme propriétés d'événements

    <Info>
      Vous pouvez mapper plusieurs colonnes comme propriétés d'événements. OneSignal les combinera en une seule charge utile d'événement.
    </Info>
  </Step>

  <Step title="Définir le calendrier de synchronisation">
    Configurez la fréquence à laquelle OneSignal doit vérifier les nouvelles données d'événements :

    * **Fréquence de synchronisation** : Choisissez parmi 15 minutes, horaire ou quotidien
    * **Synchronisation incrémentielle** : Activez pour synchroniser uniquement les nouvelles lignes depuis la dernière mise à jour
    * **Filtre d'horodatage** : Synchronisez uniquement les événements dans une plage de temps spécifique

    <Warning>
      Google Sheets a des limites de débit d'API. Une synchronisation plus fréquente peut être limitée pour les feuilles avec des jeux de données volumineux.
    </Warning>
  </Step>

  <Step title="Tester la connexion">
    Cliquez sur **Test Connection** pour vérifier que OneSignal peut accéder à votre Google Sheet et lire correctement les données d'événements.
  </Step>
</Steps>

***

### Mappage des données d'événement

Mappez vos {DATA_TYPE_0} {PLATFORM_0} au format des événements personnalisés de OneSignal :

| Champ OneSignal | {COLUMN_HEADER_0} | Description                     | Requis |
| --------------- | ----------------- | ------------------------------- | ------ |
| `name`          | `event_name`      | Identifiant de l'événement      | Oui    |
| `external_id`   | `user_id`         | Identifiant de l'utilisateur    | Oui    |
| `timestamp`     | `event_timestamp` | Quand l'événement s'est produit | Non    |
| `properties`    | `event_data`      | {PROPERTIES_DESCRIPTION_0}      | Non    |

***

## Configuration avancée

### Configuration de la synchronisation incrémentielle

Configurez la synchronisation incrémentielle pour ne traiter que les nouveaux événements :

1. **Colonne d'horodatage** : Assurez-vous que votre feuille dispose d'une colonne d'horodatage cohérente
2. **Ordre de tri** : Conservez les événements triés par horodatage (les plus récents en dernier)
3. **Ajout uniquement** : Ajoutez de nouveaux événements en bas de votre feuille
4. **Éviter les modifications** : Ne modifiez pas les lignes d'événements historiques après leur synchronisation

### Validation des données

Implémentez la validation des données dans votre Google Sheet :

```
Data > Data validation
- Event Name: List from range (predefined event types)
- User ID: Custom formula to check format
- Timestamp: Date/Time format validation
- Amount: Number validation for numeric properties
```

### Flux de travail collaboratifs

Meilleures pratiques pour la collaboration en équipe :

* **Plages nommées** : Utilisez des plages nommées pour les sections de données d'événements
* **Plages protégées** : Protégez les lignes d'en-tête contre les modifications accidentelles
* **Commentaires** : Ajoutez des commentaires pour expliquer les définitions d'événements
* **Historique des versions** : Utilisez l'historique des versions de Google Sheets pour suivre les modifications
* **Contrôles d'accès** : Limitez l'accès en modification aux membres de l'équipe de saisie de données

### Optimisation des performances

Optimisez pour les grands ensembles de données :

* **Limites de feuille** : Conservez les feuilles individuelles sous 10 000 lignes pour de meilleures performances
* **Feuilles multiples** : Utilisez des feuilles séparées pour différents types d'événements
* **Archivage des données** : Archivez mensuellement les anciennes données vers des feuilles séparées
* **Formules** : Minimisez les formules complexes dans les plages de données d'événements

<Warning>
  Google Sheets fonctionne mieux avec moins de 50 000 cellules au total. Pour le suivi d'événements à volume élevé, envisagez plutôt d'utiliser une source de base de données.
</Warning>

***

## FAQ

### À quelle fréquence OneSignal synchronise-t-il les événements depuis Google Sheets ?

OneSignal peut se synchroniser aussi fréquemment que toutes les 15 minutes, mais nous recommandons une synchronisation horaire ou quotidienne pour la plupart des cas d'utilisation afin de respecter les limites d'API de Google.

### Plusieurs membres de l'équipe peuvent-ils ajouter des événements à la même feuille ?

Oui, Google Sheets prend en charge la collaboration en temps réel. Cependant, assurez-vous que les membres de l'équipe comprennent le format de données requis et la structure des colonnes.

### Que se passe-t-il si quelqu'un modifie les données d'événements historiques ?

OneSignal se synchronise en fonction des horodatages et des positions des lignes. La modification des données historiques peut entraîner des événements en double ou des incohérences de données. Nous recommandons des flux de travail en ajout uniquement.
