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

# Google Analytics 4 — Streaming de eventos

> Transmita automáticamente eventos de exposición a experimentos de Kameleoon a Google Analytics 4 desde el lado del servidor para un análisis de comportamiento enriquecido por variación del experimento.

La integración Kameleoon Google Analytics 4 Event Streaming le permite enviar automáticamente eventos a su cuenta de Google Analytics 4 cada vez que los visitantes son expuestos a un experimento de Kameleoon. Esta funcionalidad permite una analítica enriquecida en Google Analytics 4, proporcionando información sobre la exposición a los experimentos para ayudarle a comprender mejor el comportamiento y la interacción del usuario.

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/integrations/as-a-destination/analytics/google-analytics-4/google-analytics-4-event-streaming/Capture-decran-2025-04-29-a-16.22.59-1536x256.png)
</Frame>

Esta integración utiliza el dispatcher de eventos de Kameleoon para enviar eventos del lado del servidor a su cuenta de Google Analytics 4 en lotes mediante el endpoint **`/mp/collect`** de la [HTTP API de Google Analytics 4](https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference?client_type=gtag#transport).

## Ventajas clave

* **Información precisa sobre el comportamiento:** La integración envía eventos específicos a herramientas de terceros para los visitantes expuestos a experimentos web y feature flags en proyectos basados en SDK. Este seguimiento detallado proporciona una visión clara de cómo las diferentes variaciones afectan a las acciones del usuario. Por ejemplo, puede observar qué variación genera más clics, conversiones u otros resultados deseados, ayudándole a determinar el enfoque más eficaz.
* **Toma de decisiones en tiempo real:** La integración proporciona datos en tiempo real. Con esta información actualizada, puede ajustar rápidamente las estrategias si una variación no está funcionando como se esperaba o asignar recursos para aprovechar las variaciones exitosas.
* **Configuración sencilla:** Habilite las integraciones de terceros en la aplicación de Kameleoon sin necesidad de código personalizado o cambios en el SDK.

## Consideraciones

**Tiempo de entrega de eventos:** El servidor de Kameleoon envía los eventos a Google Analytics 4 con un retraso mínimo de 30 minutos.

## Requisitos previos

Para configurar esta integración, necesita la siguiente información:

* **SDK de Kameleoon:** Un SDK debe estar instalado en su proyecto del lado del servidor.
* **API secret:** El secreto de API generado en Google Analytics, documentado [aquí](https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference?client_type=gtag#payload).
* **Measurement ID:** Para SDKs web, el identificador de un Data Stream, como se documenta [aquí](https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference?client_type=gtag#payload).
* **Firebase app ID:** Para SDKs móviles, el identificador de una aplicación Firebase, como se documenta [aquí](https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference?client_type=firebase#payload).

### Elegir el identificador GA4 correcto

Para garantizar una correcta atribución del usuario en los informes de GA4, debe crear el dato personalizado correcto según el tipo de aplicación:

* **Para proyectos basados en web (sitios web que utilizan `gtag.js`):** Cree un dato personalizado llamado `ga4_client_id` y recupere el `client_id` de GA4 (normalmente almacenado en la cookie `_ga`).
* **Para aplicaciones móviles basadas en Firebase:** Cree un dato personalizado llamado `ga4_app_instance_id` y recupere el `app_instance_id` del SDK de Firebase.

Esta distinción se aplica a todos los tipos de integraciones de GA4 en Kameleoon, ya sea para experimentos web o experimentos con feature flags.

## Configuración

Esta integración se puede utilizar para experimentación web y de funcionalidades.

### Para experimentos web

Habilite la integración en la **página de integraciones**.

#### Identificar el client ID de GA4

Debe enviar un identificador de instancia al backend de Kameleoon en cada visita. El identificador exacto depende de su configuración de GA4. Si está utilizando GA4 con el método `gtag.js`, envíe el `client_id`. A continuación se muestra un ejemplo de implementación con `gtag.js` utilizando nuestra Activation API.

#### Configurar el dato personalizado

* **Name:** `ga4_client_id`
* **Select** su proyecto.
* **Retrieval method:** Kameleoon Activation API.
* **Type:** Single
* **Format:** String
* **Scope:** Visit

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/integrations/as-a-destination/analytics/google-analytics-4/google-analytics-4-event-streaming/Capture-decran-2025-05-06-a-15.00.46.png)
</Frame>

#### Añadir código en el script global

```javascript theme={null}
if(!Kameleoon.API.CurrentVisit.customData["ga4_client_id"]){

// First, create a ga4ClientId variable and obtain your GA4 client ID.
let gaClientId = null;

const getClientId = () =>{
    gtag('get', 'G-XXXXXXXXXX', 'client_id', function(clientId) {
        gaClientId = clientId;
    });
    return gaClientId !== null
}

Kameleoon.API.Core.runWhenConditionTrue(
    () => getClientId(),
    () =>{
        // Then set your Kameleoon "ga_client_id" custom data to this value using Kameleoon's Activation API
        Kameleoon.API.Data.setCustomData("ga4_client_id", gaClientId);
    },
    200
)

}
```

#### Activar la integración para sus campañas

Añada la integración al finalizar su experimento web.

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/integrations/as-a-destination/analytics/google-analytics-4/google-analytics-4-event-streaming/Capture-decran-2025-04-29-a-16.34.40-1536x407.png)
</Frame>

### Para experimentos de funcionalidades

Configure la integración en el entorno del feature flag bajo la sección **Integrations**. Habilítela para cada entorno en el que desee que esté activa.

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/integrations/as-a-destination/analytics/google-analytics-4/google-analytics-4-event-streaming/Capture-decran-2025-06-02-a-10.37.49-1.png)
</Frame>

### Para móvil

Si está utilizando la analítica de GA4 con una aplicación Firebase, debe enviar el **Firebase app instance ID**.

Aquí hay un ejemplo con el SDK de Android de Kameleoon:

1. Identifique el Firebase app instance ID de GA4.
2. Configure un dato personalizado.
   * **Name:** `ga_app_instance_id`
   * **Select** su proyecto.
   * **Retrieval method**: método del SDK de Kameleoon.
   * **Type:** Single
   * **Format:** String
   * **Scope:** Visit

<Frame>
  ![](https://storage.googleapis.com/kameleoon-storage-documentation/user-manual/images/integrations/as-a-destination/analytics/google-analytics-4/google-analytics-4-event-streaming/Capture-decran-2025-05-06-a-15.09.15.png)
</Frame>

#### Ejemplo en Java utilizando el SDK de Android de Kameleoon

Primero, obtenga su Firebase app instance ID y guárdelo en una variable.

A continuación, utilice el SDK de Kameleoon para establecer su dato personalizado `ga4_app_instance_id` a este valor, asegurándose de usar el índice correcto para el dato personalizado `ga4_app_instance_id`, que puede encontrar en la interfaz de Kameleoon.

En este ejemplo, el índice es `12`:

`kameleoonClient.addData(new CustomData(12, appInstanceId));`

Una vez que la integración esté activa y su experimento esté publicado, Kameleoon empezará a enviar eventos de experimento a Google Analytics 4 cada vez que un visitante sea expuesto. Estos eventos se construyen según las [mejores prácticas](https://developers.google.com/analytics/devguides/collection/ga4/integration) recomendadas por Google. Estos eventos incluyen detalles clave como:

* Un identificador único para la instancia de aplicación Firebase, solo para configuración SDK, llamado `app_instance_id`.
* Un identificador único para el cliente, solo para configuración web, llamado `client_id`.
* Tiempo de exposición.
* Un identificador único para el experimento y la variación que sigue el formato `KAM-XXXX-YYYY`, donde `XXXX` es el ID del experimento de Kameleoon y `YYYY` es el ID de la variación.

#### Ejemplo de payload de evento

Kameleoon envía eventos a Google Analytics 4 en el siguiente formato:

```json theme={null}
{
  "events": [
    {
      "name": "experience_impression",
      "exp_variant_string": "KAM-1234-5567",
      "timestamp_micros": 1718201234000
    },
    {
      "name": "experience_impression",
      "exp_variant_string": "KAM-5678-6978",
      "timestamp_micros": 1718201267000
    }
  ],
  "app_instance_id": "example-instance-id"
}
```

##### Identificar usuarios

Kameleoon **no** incluye identificadores de usuario (como `user_id` o `client_id`) en el payload del evento por defecto. La identificación se gestiona a través de los siguientes campos, según el entorno:

* **Móvil:** `app_instance_id` (estándar para las aplicaciones móviles GA4)
* **Web:** `client_id` (el equivalente de `app_instance_id` para clientes web)

Si está utilizando Kameleoon en un backend web o en una configuración del lado del servidor, puede transmitir el `client_id` de GA4 definiéndolo como un campo de dato personalizado (por ejemplo, `ga4_client_id`).

Puede establecer este campo utilizando cualquier método de recuperación disponible, no solo la Activation API. Solo necesita estar definido al menos una vez por sesión de Kameleoon.

##### Enriquecer eventos

Kameleoon no incluye sus datos personalizados específicos de negocio en el payload del evento de servidor a servidor.

Si necesita enriquecer el payload con datos adicionales (como `client_id` o atributos de usuario) y tiene una cuenta de Kameleoon, puede añadirlo mediante campos de datos personalizados en su configuración del SDK o enviar una [solicitud de funcionalidad](https://feedback.kameleoon.com/).
