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

# Envoyer les réponses au sondage vers Google Sheets

> Configurez un Google Apps Script et les paramètres de sondage du Widget Studio pour envoyer automatiquement les réponses au sondage à une Google Sheet via HTTP POST.

<Note>
  Si vous souhaitez collecter les réponses de votre widget dans Kameleoon et les exporter au format CSV, consultez [cet](./survey-data-export) article.
</Note>

Dans cet article, vous apprendrez :

* Comment configurer votre Google Sheet pour recevoir les données du sondage.
* Comment configurer l'onglet **Survey Settings** dans le **Widget Studio** pour envoyer les réponses à Google Sheets.

## Configurer votre Google Sheet

1. Accédez à [Google Sheets](https://sheets.google.com/) et créez une nouvelle feuille de calcul.
2. Nommez l'onglet **Sheet 1** (qui est la valeur **par défaut**).
3. Dans la première ligne, définissez les colonnes comme suit :

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/widgets/create-a-widget-with-the-widget-studio/create-csat-nps-and-surveys/send-survey-responses-to-google-sheets/google-sheet-row1.png)
</Frame>

**Détails :**

* **Column A** > Entrez **Date**. Cette cellule sera automatiquement remplie avec la date et l'heure de chaque soumission.
* **À partir de Column B** > Entrez le nom de chaque élément de sondage ou de formulaire ajouté à votre widget.

Vous pouvez trouver le nom d'un élément dans l'arborescence des éléments dans l'onglet **Content** de la section **Design**.

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/widgets/create-a-widget-with-the-widget-studio/create-csat-nps-and-surveys/send-survey-responses-to-google-sheets/elements-tree.png)
</Frame>

Lorsque vous sélectionnez un élément (par exemple, une scale), son nom apparaît en haut de la barre latérale d'édition.

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/widgets/create-a-widget-with-the-widget-studio/create-csat-nps-and-surveys/send-survey-responses-to-google-sheets/edit-name-1536x842.png)
</Frame>

Prenons ce widget comme exemple :

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/widgets/create-a-widget-with-the-widget-studio/create-csat-nps-and-surveys/send-survey-responses-to-google-sheets/example-widget-1536x1018.png)
</Frame>

Ce widget comporte deux éléments de sondage. Ainsi, dans la première ligne de la Google Sheet, nous devons saisir :

* **Column A :** Date
* **Column B :** Scale
* **Column C :** Long Answer

4. Ajouter un Google App Script

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/widgets/create-csat-nps-and-surveys/send-survey-responses-to-google-sheets/0.png)
</Frame>

* Cliquez sur **Extensions** > **App Script**. Un nouveau Google Script s'ouvre. Renommez-le (par exemple, **My form data**).
* Remplacez tout le code par les éléments suivants :

```javascript theme={null}
const sheetName = 'Sheet1'
  const scriptProp = PropertiesService.getScriptProperties()
  function initialSetup () {
    const activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet()
    scriptProp.setProperty('key', activeSpreadsheet.getId())
  }
  function doPost (e) {
    const lock = LockService.getScriptLock()
    lock.tryLock(10000)
  try {
      const doc = SpreadsheetApp.openById(scriptProp.getProperty('key'))
      const sheet = doc.getSheetByName(sheetName)
  const headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]
  const nextRow = sheet.getLastRow() + 1
  const newRow = headers.map(function(header) {
  return header === 'Date' ? new Date() : e.parameter[header]})
   sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow])
   return ContentService   .createTextOutput(JSON.stringify({ 'result': 'success', 'row': nextRow }))   .setMimeType(ContentService.MimeType.JSON)
  }
  catch (e) {
      return ContentService
        .createTextOutput(JSON.stringify({ 'result': 'error', 'error': e }))
        .setMimeType(ContentService.MimeType.JSON)
    }
  finally {
      lock.releaseLock()
    }
  }
```

<Note>
  Si, pour une raison quelconque, vous ne pouvez pas nommer votre onglet « Sheet 1 », modifiez la première ligne du script et remplacez « Sheet 1 » par le nom réel de votre onglet.
</Note>

Une fois terminé, votre script devrait ressembler à ceci :

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/widgets/create-csat-nps-and-surveys/send-survey-responses-to-google-sheets/1.png)
</Frame>

1. Cliquez sur **Save project to Drive** (à gauche de **Run**).
2. Dans la liste déroulante à droite de **Debug**, sélectionnez **`initialSetup`** (cela devrait être sélectionné par défaut).
3. Cliquez sur **Run**.

Vous pouvez voir un pop-in demandant des autorisations. Cliquez sur **Review permission** et passez à l'écran suivant.

Parce que Google n'a pas examiné le script, un message d'avertissement peut apparaître. Cliquez sur **Go to Mailing List (unsafe)** pour configurer les autorisations correctes pour mettre à jour votre formulaire.

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/widgets/create-csat-nps-and-surveys/send-survey-responses-to-google-sheets/2.png)
</Frame>

Une fois les autorisations correctes données au script, vous devriez voir la sortie suivante dans la console de l'éditeur de script :

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/widgets/create-csat-nps-and-surveys/send-survey-responses-to-google-sheets/3.png)
</Frame>

Dans le menu de gauche, cliquez sur **Triggers** pour ajouter un déclencheur au script/

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/widgets/create-csat-nps-and-surveys/send-survey-responses-to-google-sheets/4.png)
</Frame>

Cliquez ensuite sur **Add trigger**.

Dans la fenêtre qui apparaît, sélectionnez les options suivantes :

* **Choose which function to run :** `doPost`
* **Choose which deployment should run** : `Head`
* **Select event source :** `From spreadsheet`
* **Select event type :** `On form submit`

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/widgets/create-csat-nps-and-surveys/send-survey-responses-to-google-sheets/5.png)
</Frame>

Cliquez sur **Save**.

Cliquez sur **Deploy** > **New deployment**.

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/widgets/create-csat-nps-and-surveys/send-survey-responses-to-google-sheets/6.png)
</Frame>

Cliquez sur l'icône **cog** à côté de **Select type** > **Web app**.

Dans le formulaire qui apparaît, sélectionnez les options suivantes :

* **Description :** `My Form Data` (cela peut être ce que vous voulez ; rendez-le simplement descriptif.)
* **Web app > Execute as :** `Me`
* **Web app > Who has access :** `Anyone`

Cliquez sur **Deploy**.

<Warning>
  **Who has access : `Anyone`** est obligatoire pour la transmission correcte des résultats.
</Warning>

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/assets/widgets/create-csat-nps-and-surveys/send-survey-responses-to-google-sheets/7.png)
</Frame>

Copiez l'URL.

## Configurer les paramètres de sondage dans le Widget Studio

1. Dans l'onglet **Survey Settings**, sélectionnez le bouton sur lequel les utilisateurs cliqueront pour soumettre leur réponse.
2. Sous **How are responses collected?**, choisissez **HTTP Request (external)**.
   * **Request Name :** Donnez un nom à votre requête (par exemple, Send data to my Google Sheet).
   * **Method :** Sélectionnez **`POST`**.
   * **Action URL :** Collez l'URL générée par votre Google Apps Script.
3. Enregistrez votre configuration.

## Tester votre configuration

1. **Previsualisez** votre widget.
2. Remplissez le sondage et **Submit**.
3. Retournez à votre Google Sheet.

Vous devriez maintenant voir une nouvelle ligne avec votre réponse.
