google tag manager para aplicaciones en android

17

Upload: mabel-rodriguez-palacios

Post on 12-Aug-2015

333 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Google Tag Manager para aplicaciones en android
Page 2: Google Tag Manager para aplicaciones en android

Mabel Rodriguez - @enielbam 2

Page 3: Google Tag Manager para aplicaciones en android

Este manual tiene la finalidad de guiarte en la implementación de Google Tag Manager en aplicaciones desarrolladas en Android.

Antes de empezar debes evaluar si tu aplicación es tan compleja y cambia constantemente o si en realidad no es un desarrollo de gran magnitud, esta pregunta es muy importante ya que si bien es cierto Google Tag manager te ayuda a administrar todos tus tags se debe tener en cuenta lo complejo de su implementación, si es un desarrollo pequeño en realidad lo mejor es utilizar directamente los tags de Google Analytics.

I. Crear un contenedor en Google Tag manager1. Para este caso ya tenemos una cuenta en GTM, por lo tanto solo debemos crear un

contenedor para nuestra app:

2. En este punto se debe asignar un nombre al contenedor, que puede ser el nombre de nuestra app, es muy importante seleccionar para que tipo de desarrollo se utilizará el contenedor, de no seleccionar “Android” en este paso, se deberá crear un contendor nuevo ya que esta opción no se puede cambiar una vez creado el contenedor.

Mabel Rodriguez - @enielbam 4

Page 4: Google Tag Manager para aplicaciones en android

3. Finalmente ya podemos trabajar en los tags:

II. Data layerPara enviar valores de navegación de nuestra app, usaremos Datalayers, el concepto es el mismo de un sitio web: es un vector con valores asignados a determinadas variables.Por ejemplo, en los siguientes puntos enviaremos todos los datos mediante eventos automáticos (no confundir con eventos de Google Analytics), para luego recuperar estos valores desde el administrador de Google tag manager.

La estructura de un evento GTM es:

Datalater.pushEvent

dataLayer.pushEvent("nombreEvento", DataLayer.mapOf("nombreVariable", valorVariable));

Donde:

Variable Detalle

Mabel Rodriguez - @enielbam 5

Page 5: Google Tag Manager para aplicaciones en android

nombreEventoNombre de evento que se recuperará en Google Tag Manager (no es un evento de Google Analytics)

nombreVariable Nombre de la variable definida.

valorVariable Valor asociado a la variable

1. ScreensAl abrir cada pantalla de la aplicación incluyendo la pantalla de login si se tuviera, se debe incluir el siguiente script:

Screem Tracker

DataLayer dataLayer = TagManager.getInstance(context).getDataLayer();

dataLayer.pushEvent("openScreen", DataLayer.mapOf("screenName", screenName));

Donde:

Variable Detalle

Context Valor por defecto this

screenName Nombre de la pantalla actual

2. EventosPara el seguimiento de eventos se debe implementar el script una vez completada la acción deseada:

Event Tracker

DataLayer dataLayer = TagManager.getInstance(Context).getDataLayer();

dataLayer.pushEvent("virtualEvent", DataLayer.mapOf("eventCategory", Categoría, "eventAction", Acción, "eventLabel", Label));

Donde:

Variable Detalle

Context Valor por defecto this

Categoría Categoría asociada al evento

Acción Acción asociada al evento

Etiqueta Etiqueta asociada al evento

Algunos ejemplos de eventos podrían ser: Llamar Agendar

Mabel Rodriguez - @enielbam 6

Page 6: Google Tag Manager para aplicaciones en android

Actualizar datos Seleccionar algo Filtros Búsqueda Paso de nivel, etc.

Se debe tener en cuenta que no es recomendable medir absolutamente todo, antes se debe definir que es lo que necesito medir y como me puede ayudar esa información al monitoreo de mis KPIs.

3. Dimensiones personalizadasPara el envío de dimensiones el script será el siguiente:

Dimensions Tracker

DataLayer dataLayer = TagManager.getInstance(Context).getDataLayer();

dataLayer.pushEvent("customDimensions", DataLayer.mapOf("Dimension1", Valor1, "Dimension2", valor2));

4. Bloqueo y excepciones La medición de los bloqueos y excepciones nos ayudará a medir el número y el tipo de bloqueos detectados y no detectados en la aplicación. Se recomienda leer las referencias de Google Analytics (Excepciones en Android GA) para mayor información sobre la información a enviar.

La información relacionada a las excepciones se enviará mediante eventos para su configuración desde Google tag Manager.El script asociado es el siguiente, se debe enviar cada vez que se detecte un bloqueo o excepción:

Event Tracker

DataLayer dataLayer = TagManager.getInstance(context).getDataLayer();

dataLayer.pushEvent("getException", DataLayer.mapOf("exDescription", description, "isFatal", isFatal));

Donde:

Variable Detalle

Context Valor por defecto this

Mabel Rodriguez - @enielbam 7

Page 7: Google Tag Manager para aplicaciones en android

descriptionDescripción de la excepción (hasta 100 caracteres). Admite null. No se debe enviar nunca el mensaje de la excepción (e.getMessage()), ya que puede contener información de identificación personal.

isFataltrue | false

Indica si la excepción era grave. true indica que sí.

Medición de excepciones no detectadas

Las excepciones no detectadas representan instancias en las que la aplicación ha detectado condiciones inesperadas durante la ejecución, a menudo críticas, que bloquean la aplicación. Las excepciones no detectadas se pueden enviar a Google Analytics automáticamente estableciendo un valor de ga_reportUncaughtExceptions o usando la clase ExceptionReporter.

Configuración automática

Para enviar de forma automática todas las excepciones no detectadas en la aplicación mediante el valor de ga_reportUncaughtExceptions, se debe agregar la siguiente línea al archivo XML de configuración:

Event Tracker

<bool name="ga_reportUncaughtExceptions">true</bool>

III. Google Tag Manager

Una vez que se han implementado los scripts en nuestra app, ya se pueden hacer las configuraciones necesarias en Google Tag Manager.

1. Primero se deben recuperar los valores de las variables que se han incluido dentro de los datalayer, para esto crearemos tantas variables como sea necesario, por ejemplo si vemos el ejemplo del Tag de Screen views, tenemos:

Screem Tracker

DataLayer dataLayer = TagManager.getInstance(context).getDataLayer();

dataLayer.pushEvent("openScreen", DataLayer.mapOf("screenName", screenName));

Mabel Rodriguez - @enielbam 8

Page 8: Google Tag Manager para aplicaciones en android

Aquí vemos que manejamos la variable “screenName” asociada al evento “openScreen”.

2. Para recuperar el nombre de la pantalla, creamos una variable tipo Data Layer:

3. En el siguiente punto debemos asignar un nombre a nuestra variable (UA - screenName) y en el campo Data Layer Variable Name, se debe colocar el mismo nombre de la variable que se está enviando mediante el Data Layer (screenName):

Mabel Rodriguez - @enielbam 9

Page 9: Google Tag Manager para aplicaciones en android

4. Luego debemos crear el trigger o regla mediante la cual se ejecutará nuestro tag, en este caso hemos enviado los datos mediante un Push event, entonces nuestra regla será:

Mabel Rodriguez - @enielbam 10

Page 10: Google Tag Manager para aplicaciones en android

Esto significa que el tag (aún no creado) se ejecutara sólo cuando se ejecute un evento llamado openScreen

5. Como ya tenemos las variables y triggers creados, procedemos a crear el Tag, en este caso será un app view de Google Analytics:

6. El nombre de este evento será: UA – Screen. En el segundo paso se debe ingresar el ID de Google Analytics, y escoger el tipo de track App View:

Mabel Rodriguez - @enielbam 11

Page 11: Google Tag Manager para aplicaciones en android

7. Ahora para enviar a Google Analytics el nombre de la pantalla se debe configurar el parámetro Field: ScreeenName y asignarle el valor de la variable que acabamos de recuperar:

Mabel Rodriguez - @enielbam 12

Page 12: Google Tag Manager para aplicaciones en android

8. Finalmente debemos asignar la regla de ejecución de este Tag, elegimos Custom Trigger:

Mabel Rodriguez - @enielbam 13

Page 13: Google Tag Manager para aplicaciones en android

9. Se abrirá una ventana con todas los triggers que hemos configurado previamente, y seleccionamos el trigger EV – openScreen, que creamos en el paso 4 y guardamos el tag:

El proceso para el envio de eventos, transacciones, dimensiones u otro tag es similar al descrito anteriormente, solo se debe seleccionar el tipo de track y enviar los valores necesarios.

IV. Script Google Tag Manager:

Mabel Rodriguez - @enielbam 14

Page 14: Google Tag Manager para aplicaciones en android

1. Despues de haber configurado todos los tags en Google Tag Manager, se debe publicar la versión actual:

2. En un segundo paso se debe exportar el contendor que acabamos de crear, esto se realiza desde la pestaña Admin:

Mabel Rodriguez - @enielbam 15

Page 15: Google Tag Manager para aplicaciones en android

3. Por defecto el nombre del contenedor es el ID de la cuenta de GTM seguido de la versión que hemos seleccionado:

4. Se debe tener en cuenta que el nombre del archivo solo debe quedar el ID del contenedor, sin la versión:

5. Para la integración del contenedor con nuestra app, primero se debe configurar Google Play Services SDK (más información en el link).

6. Como segundo paso se debe agregar los siguientes permisos en el archivo AndroidManifest.xml

AndroidManifest.xml

Mabel Rodriguez - @enielbam 15

Page 16: Google Tag Manager para aplicaciones en android

<!-- For TagManager SDK --><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

7. Luego configurar el contenedor por defecto: se debe agregar el archivo binario (que exportamos en el administrador de GTM – punto 2) en el repositorio del proyecto, dentro del subfolder <project-root>/res/raw.

8. Inicializar Google Tag Manager, para esto se recomienda revisar la configuración según la versión de Android.

a. Androidv4 https://developers.google.com/tag-manager/android/v4/ b. Donde: CONTAINER_ID = GTM–WP9BX9

Mabel Rodriguez - @enielbam 16