Etiquetas de Universal Analytics

Para habilitar los cambios en el tiempo de ejecución de tu implementación de Google Analytics que no requieren que vuelvas a compilar y vuelvas a enviar el objeto binario de tu app a los mercados, implementa Universal Analytics (UA) en tu app con Google Tag Manager (GTM).

En esta guía, se muestra cómo utilizar las etiquetas de Universal Analytics y el SDK de Google Tag Manager para iOS a fin de hacer lo siguiente:

Enviar vistas de pantalla

Para enviar una vista de pantalla cada vez que se abre una nueva pantalla en tu app a Google Analytics, haz lo siguiente:

  1. Crea una variable de nombre de pantalla.
  2. Crea un activador de eventos de pantalla abierta.
  3. Crea una etiqueta de vista de pantalla de Universal Analytics.
  4. Envía el evento de pantalla abierta y el nombre de la pantalla a la capa de datos.

1. Crea una variable de nombre de pantalla

Para crear una variable de nombre de pantalla en GTM:

  1. Accede a tu cuenta de Google Tag Manager.
  2. Selecciona un contenedor para dispositivos móviles.
  3. En la barra de navegación izquierda, haz clic en Variables.
  4. En Variables definidas por el usuario, haz clic en Nueva.
  5. Haz clic en Variable sin título para ingresar el nombre de la variable screen name.
  6. Elija Data Layer Variable como tipo de variable.
  7. Ingresa screenName como Nombre de variable de capa de datos y establece su valor predeterminado unknown screen.
  8. Haz clic en Crear variable.

2. Crea un activador de eventos de pantalla abierto

Si deseas crear un activador en GTM para activar la etiqueta de vista de pantalla de Universal Analytics, sigue estos pasos:

  1. Accede a tu cuenta de Google Tag Manager.
  2. Selecciona un contenedor para dispositivos móviles.
  3. En la barra de navegación izquierda, haz clic en Activadores.
  4. Haz clic en Nueva.
  5. Haz clic en Activador sin título para ingresar el nombre del activador OpenScreenEvent.
  6. Elige Evento personalizado.
  7. En Fire On, ingresa la siguiente condición:

    Un activador que se activa cuando el evento es igual a openScreen

  8. Haz clic en Crear activador.

3. Cómo crear una etiqueta de vista de pantalla de Universal Analytics

Para crear una etiqueta de vista de pantalla de Universal Analytics que activó el evento de pantalla abierta, sigue estos pasos:

  1. Accede a tu cuenta de Google Tag Manager.
  2. Selecciona un contenedor para dispositivos móviles.
  3. En la barra de navegación izquierda, haz clic en Etiquetas.
  4. Haz clic en Nueva.
  5. Haz clic en Etiqueta sin título (Untitled Tag) para ingresar el nombre de la etiqueta en Abrir pantalla (Open Screen).
  6. Elige el producto Google Analytics.
  7. Ingresa el ID de seguimiento.
  8. Selecciona App View como Track Type.
  9. Haz clic en Más parámetros de configuración.
  10. Haz clic en Campos para configurar.
  11. Haz clic repetidamente en + Agregar campo (Add field) para agregar los siguientes campos:

    Agrega estos campos: nombre de la app, versión de la app y nombre de la pantalla.

  12. Haz clic en Continuar.
  13. En Activado, haz clic en Personalizado.
  14. Selecciona el activador personalizado OpenScreenEvent.
  15. Haz clic en Guardar.
  16. Haz clic en Crear etiqueta.

4. Envía el evento de pantalla abierta y el nombre de la pantalla a la capa de datos

Agrega código a tu app para enviar un evento openScreen y un valor screenName a la capa de datos, por ejemplo:

//  ViewController.m
//  Push an 'openScreen' event to the data layer.
//
#import "ViewController.h"
#import "TAGDataLayer.h"
#import "TAGManager.h"

@implementation ViewController

- (void)viewDidAppear {
    [super viewDidAppear];

    // NOTE: A GTM container should already have been opened, otherwise events
    //     pushed to the DataLayer will not fire tags in that container.
    TAGDataLayer *dataLayer = [TAGManager instance].dataLayer;

    [dataLayer push:@{@"event": @"openScreen",          // Event, name of Open Screen Event.
                      @"screenName": @"Home Screen"}];  // Name of the screen name field, screen name value.
}

// Rest of the ViewController implementation

@end

Enviar eventos

Para enviar un evento a Google Analytics cuando un usuario interactúa con los controles de la IU o el contenido en tu app, haz lo siguiente:

  1. Crea variables de eventos(opcional).
  2. Crea un activador de eventos.
  3. Crea una etiqueta del evento de Universal Analytics.
  4. Envía el valor de la variable de evento y de la variable de evento a la capa de datos.

En los siguientes pasos, se muestra cómo se envía un evento a Google Analytics cuando un usuario inicia una reproducción de video.

1. Crea variables de eventos (opcional)

Si el evento utiliza variables de capa de datos para representar sus campos de categoría, acción, etiqueta o valor, primero debes crear esas variables. En este ejemplo, la etiqueta del evento de reproducción de video utiliza una variable de capa de datos para obtener el nombre del video.

Para crear una variable de nombre de video en GTM, sigue estos pasos:

  1. Accede a tu cuenta de Google Tag Manager.
  2. Selecciona un contenedor para dispositivos móviles.
  3. En la barra de navegación izquierda, haz clic en Variables.
  4. En Variables definidas por el usuario, haz clic en Nueva.
  5. Haz clic en Variable sin título para ingresar el nombre de la variable nombre del video.
  6. Elija Data Layer Variable como tipo de variable.
  7. Ingresa videoName como el Nombre de variable de capa de datos y establece su valor predeterminado en unknown video.
  8. Haz clic en Crear variable.

2. Crea un activador de eventos

Si deseas crear un activador de evento en GTM para activar la etiqueta del evento de Universal Analytics, sigue estos pasos:

  1. Accede a tu cuenta de Google Tag Manager.
  2. Selecciona un contenedor para dispositivos móviles.
  3. En la barra de navegación izquierda, haz clic en Activadores.
  4. Haz clic en Nueva.
  5. Haz clic en Activador sin título (Untitled Trigger) para ingresar el nombre del activador VideoPlayEvent.
  6. Elige Evento personalizado.
  7. En Fire On, ingresa la siguiente condición:

    Activador que se activará cuando el evento sea igual a videoPlay.

  8. Haz clic en Crear activador.

3. Cómo crear una etiqueta del evento de Universal Analytics

Para crear una etiqueta del evento de Universal Analytics que activó el evento de reproducción de video, sigue estos pasos:

  1. Accede a tu cuenta de Google Tag Manager.
  2. Selecciona un contenedor para dispositivos móviles.
  3. En la barra de navegación izquierda, haz clic en Etiquetas.
  4. Haz clic en Nueva.
  5. Haz clic en Etiqueta sin título para ingresar el nombre de la etiqueta Evento de reproducción de video.
  6. Elige el producto Google Analytics.
  7. Ingresa el ID de seguimiento.
  8. Selecciona Event como el Track Type.
  9. Ingresa los siguientes parámetros de seguimiento de eventos:

    ingrese estos parámetros de seguimiento: Categoría: video, Acción: reproducción y Etiqueta: video.

  10. Haz clic en Más parámetros de configuración.
  11. Haz clic en Campos para configurar.
  12. Haz clic repetidamente en + Agregar campo (Add field) para agregar los siguientes campos:

    Agrega estos campos: nombre de la app, versión de la app y nombre de la pantalla.

  13. Haz clic en Continuar.
  14. En Activado, haz clic en Personalizado.
  15. Selecciona el activador personalizado VideoPlayEvent.
  16. Haz clic en Guardar.
  17. Haz clic en Crear etiqueta.

4. Envía el valor de la variable de evento y del evento a la capa de datos.

Escribe código para enviar un evento videoPlay y un valor videoName a la capa de datos, por ejemplo:

//  VideoPlayer.m
//  Push a 'videoPlay' event to the data layer.
//
#import "TAGDataLayer.h"
#import "TAGManager.h"
#import "Video.h"
#import "VideoPlayer.h"

@implementation VideoPlayer
// Called when a user initiates a video playback.
- (void)onPlay:(Video *)video {

    TAGDataLayer *dataLayer = [TAGManager instance].dataLayer;

    // This call assumes the container has already been opened, otherwise events
    // pushed to the DataLayer will not fire tags in that container.
    [dataLayer push:@{@"event": @"videoPlay",          // Event, name of Video Play Event.
                      @"videoName": video.title,       // Additional data layer variables used by the event tag.
                      @"screenName": @"Home Screen"}];

    [self play:video];
}

// Rest of the implementation
@end


Envía transacciones de comercio electrónico

Cuando un usuario completa una compra directa desde la aplicación, para enviar la transacción y los elementos asociados a Google Analytics, haz lo siguiente:

  1. Crea un activador de transacciones.
  2. Crea una etiqueta de transacción de Universal Analytics.
  3. Envía elementos, transacciones y eventos de transacciones a la capa de datos.

Para obtener la lista de nombres de variables de transacciones y artículos admitidos, consulta Variables de capa de datos de comercio electrónico compatibles.

1. Crea un activador de transacción

Si deseas crear un activador de transacciones en GTM para activar la etiqueta de transacción de Universal Analytics, sigue estos pasos:

  1. Accede a tu cuenta de Google Tag Manager.
  2. Selecciona un contenedor para dispositivos móviles.
  3. En la barra de navegación izquierda, haz clic en Activadores.
  4. Haz clic en Nueva.
  5. Haz clic en Activador sin título para ingresar el nombre del activador TransactionCompleted.
  6. Elige Evento personalizado.
  7. En Fire On, ingresa la siguiente condición:

    Un activador que se activa cuando el evento es igual a una transacción

  8. Haz clic en Crear activador.

2. Cómo crear una etiqueta de transacción de Universal Analytics

Para crear una etiqueta de transacción de Universal Analytics que activó el evento de transacción, sigue estos pasos:

  1. Accede a tu cuenta de Google Tag Manager.
  2. Selecciona un contenedor para dispositivos móviles.
  3. En la barra de navegación izquierda, haz clic en Etiquetas.
  4. Haz clic en Nueva.
  5. Haz clic en Etiqueta sin título para ingresar el nombre de la etiqueta en Transacción completada.
  6. Elige el producto Google Analytics.
  7. Ingresa el ID de seguimiento.
  8. Selecciona Transaction como el Track Type.
  9. Haz clic en Más parámetros de configuración.
  10. Haz clic en Campos para configurar.
  11. Haz clic repetidamente en + Agregar campo (Add field) para agregar los siguientes campos:

    Agrega estos campos: nombre de la app, versión de la app y nombre de la pantalla.

  12. Haz clic en Continuar.
  13. En Activado, haz clic en Personalizado.
  14. Selecciona el activador personalizado TransactionCompleted.
  15. Haz clic en Guardar.
  16. Haz clic en Crear etiqueta.

3. Envía eventos, transacciones y elementos a la capa de datos

Escribe código para enviar el evento de transacción, la transacción y los elementos asociados a la capa de datos. Debes usar los nombres de variables de transacciones y de elementos admitidos para enviar los datos de transacciones y de elementos a la capa de datos. Por ejemplo:

// Called when a user completes a transaction.
- (void)onPurchaseCompleted:(Purchase *)purchase {

  TAGDataLayer *dataLayer = [TAGManager instance].dataLayer;

  // An array to store dictionaries of item data.
  NSMutableArray *purchasedItems = [NSMutableArray array];

  // Push item data into dictionaries and store in the purchasedItems array.
  // Note that item.price and item.quantity must be of type NSString.
  for (id item in purchase.items) {
    [purchasedItems addObject:@{@"name": item.name,
                                @"sku": item.sku,
                                @"category": item.category,
                                @"price": item.price,
                                @"currency": @"USD",
                                @"quantity": item.quantity}];
  }

  // This call assumes the container has already been opened, otherwise events
  // pushed to the DataLayer will not fire tags in that container.
  // Note that purchase.tax, purchase.shipping, and purchase.total must be of type NSString.
  [dataLayer push:@{@"event": @"transaction",                  // Event, name of Transaction Event.
                    @"transactionId": purchase.transactionId,  // Additional fields required by the tag.
                    @"transactionTotal": purchase.total,
                    @"transactionAffiliation": @"In-app Store",
                    @"transactionTax": purchase.tax,
                    @"transactionShipping": purchase.shipping,
                    @"transactionCurrency": @"USD",
                    @"transactionProducts": purchasedItems}];

  // Since the data layer is persistent, you should reset fields to [NSNull null] after
  // you are done pushing the transaction.
  [dataLayer push:@{@"transactionId": [NSNull null],
                    @"transactionTotal": [NSNull null],
                    @"transactionAffiliation": [NSNull null],
                    @"transactionTax": [NSNull null],
                    @"transactionShipping": [NSNull null],
                    @"transactionCurrency": [NSNull null],
                    @"transactionProducts": [NSNull null]}];
}


Si deseas obtener más información sobre el uso del SDK de Google Tag Manager para Android a fin de implementar las funciones de Comercio electrónico mejorado de Universal Analytics, consulta Comercio electrónico mejorado.

Variables compatibles de la capa de datos de comercio electrónico

Las etiquetas de transacciones universales admiten los siguientes nombres de variables de transacciones y artículos.

Variables de transacción

Nombre de la variable Descripción Tipo Obligatorias
transactionId Identificador único de transacción cadena
transactionAffiliation Socio o tienda cadena No
transactionTotal Valor total de la transacción cadena No
transactionTax Importe del impuesto de la transacción cadena No
transactionShipping Costo de envío de la transacción cadena No
transactionCurrency Moneda de la transacción cadena No
transactionProducts Lista de artículos comprados en la transacción un array de variables del elemento. No

Variables del elemento

Nombre de la variable Descripción Tipo Obligatorias
name Nombre del producto cadena
sku SKU del producto cadena No
category Categoría de producto cadena No
price Precio del producto cadena No
currency El tipo de moneda de price cadena No
quantity Cantidad de artículos cadena No

Envía datos de Comercio electrónico mejorado

Si deseas obtener información para enviar datos de Comercio electrónico mejorado, consulta la Guía para desarrolladores de Comercio electrónico mejorado.