> ## 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.

# Enviar respuestas de encuestas a Google Sheets

> Configure un Google Apps Script y los ajustes de la encuesta en el Widget Studio para enviar automáticamente las respuestas de la encuesta a un Google Sheet mediante HTTP POST.

<Note>
  Si desea recopilar las respuestas de su widget en Kameleoon y exportarlas a CSV, consulte [este](./survey-data-export) artículo.
</Note>

En este artículo, aprenderá:

* Cómo configurar su Google Sheet para recibir los datos de la encuesta.
* Cómo configurar la pestaña **Configuración de la encuesta** en el **Widget Studio** para enviar las respuestas a Google Sheets.

## Configurar su Google Sheet

1. Vaya a [Google Sheets](https://sheets.google.com/) y cree una nueva hoja de cálculo.
2. Nombre la pestaña **Sheet 1** (que es la **predeterminada**).
3. En la primera fila, defina las columnas de la siguiente manera:

<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>

**Detalles:**

* **Columna A** > Introduzca **Date**. Esta celda se rellenará automáticamente con la fecha y hora de cada envío.
* **Desde la columna B en adelante** > Introduzca el nombre de cada elemento de encuesta o formulario añadido a su widget.

Puede encontrar el nombre de un elemento en el árbol de elementos en la pestaña **Contenido** de la sección **Diseño**.

<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>

Cuando selecciona un elemento (por ejemplo, una escala), su nombre aparece en la parte superior de la barra lateral de edición.

<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>

Usemos este widget como ejemplo:

<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>

Este widget tiene dos elementos de encuesta. Por lo tanto, en la primera fila del Google Sheet, debemos introducir:

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

4. Añada 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>

* Haga clic en **Extensiones** > **App Script**. Se abrirá un nuevo Google Script. Renómbrelo (por ejemplo, **My form data**).
* Sustituya todo el código por el siguiente:

```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 por algún motivo no puede nombrar su pestaña "Sheet 1", cambie la primera línea del script y sustituya "Sheet 1" por el nombre real de su pestaña.
</Note>

Cuando haya terminado, su script debería tener este aspecto:

<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. Haga clic en **Guardar proyecto en Drive** (a la izquierda de **Ejecutar**).
2. En el menú desplegable a la derecha de **Depurar**, seleccione **`initialSetup`** (debería estar seleccionado de forma predeterminada).
3. Haga clic en **Ejecutar**.

Es posible que vea una ventana emergente solicitando permisos. Haga clic en **Revisar permisos** y continúe a la siguiente pantalla.

Como Google no ha revisado el script, puede aparecer un mensaje de advertencia. Haga clic en **Ir a Mailing List (no seguro)** para configurar los permisos correctos para actualizar su formulario.

<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>

Una vez concedidos los permisos correctos al script, debería ver la siguiente salida en la consola del editor de scripts:

<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>

En el menú de la izquierda, haga clic en **Activadores** para añadir un activador para el 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>

A continuación, haga clic en **Añadir activador**.

En la ventana que aparece, seleccione las siguientes opciones:

* **Elegir qué función ejecutar:** `doPost`
* **Elegir qué implementación se debe ejecutar**: `Head`
* **Seleccionar fuente del evento:** `Desde la hoja de cálculo`
* **Seleccionar tipo de evento:** `Al enviar el formulario`

<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>

Haga clic en **Guardar**.

Haga clic en **Implementar** > **Nueva implementación**.

<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>

Haga clic en el icono de **rueda dentada** junto a **Seleccionar tipo** > **Aplicación web**.

En el formulario que aparece, seleccione las siguientes opciones:

* **Descripción:** `My Form Data` (puede ser lo que desee; simplemente hágalo descriptivo).
* **Aplicación web > Ejecutar como:** `Yo`
* **Aplicación web > Quién tiene acceso:** `Cualquiera`

Haga clic en **Implementar**.

<Warning>
  **Quién tiene acceso: `Cualquiera`** es obligatorio para la transmisión correcta de los resultados.
</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>

Copie la URL.

## Configurar la configuración de la encuesta en el Widget Studio

1. En la pestaña **Configuración de la encuesta**, seleccione el botón que los usuarios harán clic para enviar su respuesta.
2. En **¿Cómo se recopilan las respuestas?**, elija **Solicitud HTTP (externa)**.
   * **Nombre de la solicitud:** Asigne un nombre a su solicitud (por ejemplo, Enviar datos a mi Google Sheet).
   * **Método:** Seleccione **`POST`**.
   * **URL de acción:** Pegue la URL generada por su Google Apps Script.
3. Guarde su configuración.

## Probar su configuración

1. **Previsualice** su widget.
2. Rellene la encuesta y haga clic en **Enviar**.
3. Vuelva a su Google Sheet.

Debería ver ahora una nueva fila con su respuesta.
