SlideShare a Scribd company logo
1 of 14
Google Tag Manager
AplicacionesMóviles
Mabel Rodriguez - @enielbam 2
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 contenedoren Google Tag manager
1. Para este caso ya tenemos una cuenta en GTM, por lo tanto solo debemos crear un
contenedor para nuestra app:
2. En este puntose debe asignarun nombre al contenedor,que puede ser el nombre de
nuestraapp,es muyimportante seleccionarparaque tipo de desarrollo se utilizará el
contenedor,de noseleccionar “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 3
3. Finalmente ya podemos trabajar en los tags:
II. Data layer
Para 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 GTMes:
Datalater.pushEvent
dataLayer.pushEvent("nombreEvento", DataLayer.mapOf("nombreVariable", valorVariable));
Donde:
Variable Detalle
nombreEvento
Nombre de eventoque se recuperará enGoogle TagManager (noes un eventode
Google Analytics)
nombreVariable Nombre de la variable definida.
valorVariable Valor asociado a la variable
1. Screens
Al 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));
Mabel Rodriguez - @enielbam 4
Donde:
Variable Detalle
Context Valor por defecto this
screenName Nombre de la pantallaactual
2. Eventos
Para el seguimientode eventosse 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
Algunosejemplosde eventospodríanser:
 Llamar
 Agendar
 Actualizardatos
 Seleccionaralgo
 Filtros
 Búsqueda
 Pasode nivel,etc.
Se debe tenerencuenta 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 personalizadas
Para el envío de dimensiones el script será el siguiente:
Mabel Rodriguez - @enielbam 5
Dimensions Tracker
DataLayer dataLayer = TagManager.getInstance(Context).getDataLayer();
dataLayer.pushEvent("customDimensions", DataLayer.mapOf("Dimension1", Valor1, "Dimension2",
valor2));
4. Bloqueo y excepciones
La mediciónde losbloqueosy excepcionesnosayudaráamedirel númeroy el tipo de
bloqueos detectados y no detectados en la aplicación. Se recomienda leer las
referenciasde Google Analytics(ExcepcionesenAndroid 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 scriptasociadoesel siguiente,se debeenviarcadavezque 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
description
Descripciónde 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ónde identificación personal.
isFatal
true | false
Indica si la excepciónera 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
Analyticsautomáticamente estableciendounvalor de ga_reportUncaughtExceptions
o usando la clase ExceptionReporter.
Mabel Rodriguez - @enielbam 6
Configuración automática
Para enviarde formaautomáticatodas lasexcepcionesnodetectadasenlaaplicación
mediante el valorde ga_reportUncaughtExceptions,se debeagregarlasiguientelí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. Primerose debenrecuperarlosvaloresde las variables que se han incluido dentro de los
datalayer,paraestocrearemostantas variablescomoseanecesario,porejemplosi vemos
el ejemplo del Tag de Screen views, tenemos:
Screem Tracker
DataLayer dataLayer = TagManager.getInstance(context).getDataLayer();
dataLayer.pushEvent("openScreen", DataLayer.mapOf("screenName", screenName));
Aquí vemosque manejamos la variable “screenName” asociada al evento “openScreen”.
2. Para recuperar el nombre de la pantalla, creamos una variable tipo Data Layer:
Mabel Rodriguez - @enielbam 7
3. En el siguiente puntodebemos asignarunnombre anuestravariable (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):
4. Luegodebemoscrearel 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 8
Esto significa que el tag (aún no creado) se ejecutara sólo cuando se ejecute un evento
llamado openScreen
5. Comoya tenemoslasvariablesytriggerscreados,procedemosacrear el Tag, eneste caso
será unapp view de GoogleAnalytics:
Mabel Rodriguez - @enielbam 9
6. El nombre de este eventoserá: UA – Screen. En el segundo paso se debe ingresar el ID de
Google Analytics, y escoger el tipo de track App View:
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 10
8. Finalmentedebemosasignarla regla de ejecución de este Tag, elegimos Custom Trigger:
Mabel Rodriguez - @enielbam 11
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.
Mabel Rodriguez - @enielbam 12
IV. Script Google Tag Manager:
1. Despuesde haberconfigurado todos los tags en Google Tag Manager, se debe publicar la
versión actual:
2. En un segundopasose debe exportarel contendorque acabamosde crear, esto se realiza
desde la pestaña Admin:
Mabel Rodriguez - @enielbam 13
3. Por defectoel nombre del contenedoresel IDde la cuentade GTM seguidode laversión
que hemosseleccionado:
4. Se debe teneren cuentaque el nombre del archivosolodebe quedarel IDdel 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
Mabel Rodriguez - @enielbam 14
AndroidManifest.xml
<!-- For TagManager SDK -->
<uses-permissionandroid:name="android.permission.INTERNET" />
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" />
7. Luego configurar el contenedor por defecto: se debe agregar el archivo binario (que
exportamos enel administradorde GTM – punto2) enel repositorio del proyecto, dentro
del subfolder <project-root>/res/raw.
8. InicializarGoogle TagManager, 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

More Related Content

Similar to GTM Android

Google tag manager curso básico. Mondragon Unibertsitatea. Eli Garcia
Google tag manager curso básico. Mondragon Unibertsitatea. Eli GarciaGoogle tag manager curso básico. Mondragon Unibertsitatea. Eli Garcia
Google tag manager curso básico. Mondragon Unibertsitatea. Eli GarciaEli Garcia
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAlberto Ruibal
 
Instalación y manejo de eas en MetaTrader Build 600+
Instalación y manejo de eas en MetaTrader Build 600+Instalación y manejo de eas en MetaTrader Build 600+
Instalación y manejo de eas en MetaTrader Build 600+Investing and Development LTD
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"Alberto Ruibal
 
Congreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineCongreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineNigeŗ Arce
 
UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)
UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)
UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)Ander Martinez
 
Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Esteban Saavedra
 
Unidad 5 Programación de dispositivos moviles
Unidad 5 Programación de dispositivos movilesUnidad 5 Programación de dispositivos moviles
Unidad 5 Programación de dispositivos movileskabis_yadira
 

Similar to GTM Android (20)

Google tag manager curso básico. Mondragon Unibertsitatea. Eli Garcia
Google tag manager curso básico. Mondragon Unibertsitatea. Eli GarciaGoogle tag manager curso básico. Mondragon Unibertsitatea. Eli Garcia
Google tag manager curso básico. Mondragon Unibertsitatea. Eli Garcia
 
Android
AndroidAndroid
Android
 
Final
FinalFinal
Final
 
Atix13
Atix13Atix13
Atix13
 
Computación 3
Computación 3Computación 3
Computación 3
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en Android
 
Act.11
Act.11Act.11
Act.11
 
Instalación y manejo de eas en MetaTrader Build 600+
Instalación y manejo de eas en MetaTrader Build 600+Instalación y manejo de eas en MetaTrader Build 600+
Instalación y manejo de eas en MetaTrader Build 600+
 
2_JSEventos.pdf
2_JSEventos.pdf2_JSEventos.pdf
2_JSEventos.pdf
 
Aplicación zirconia
Aplicación zirconiaAplicación zirconia
Aplicación zirconia
 
Sesion 02 clases en_vb_net
Sesion 02 clases en_vb_netSesion 02 clases en_vb_net
Sesion 02 clases en_vb_net
 
Big Data + Marketing Digital
Big Data + Marketing DigitalBig Data + Marketing Digital
Big Data + Marketing Digital
 
Practica 3 _U3
Practica 3 _U3Practica 3 _U3
Practica 3 _U3
 
P3
P3P3
P3
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"
 
Congreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineCongreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engine
 
UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)
UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)
UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)
 
Tdd
TddTdd
Tdd
 
Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5
 
Unidad 5 Programación de dispositivos moviles
Unidad 5 Programación de dispositivos movilesUnidad 5 Programación de dispositivos moviles
Unidad 5 Programación de dispositivos moviles
 

Recently uploaded

la-antigua-Grecia, datos y curiosidades mas relevantes
la-antigua-Grecia, datos y curiosidades mas relevantesla-antigua-Grecia, datos y curiosidades mas relevantes
la-antigua-Grecia, datos y curiosidades mas relevantesalvarojosephyucracol
 
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRILPREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRILeluniversocom
 
LÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdf
LÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdfLÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdf
LÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdfFranyeskaMagallanes
 
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfPREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfeluniversocom
 
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILPREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILeluniversocom
 
TEORIA DEL DEFICIT DEL AUTOCUIDADO .pptx
TEORIA DEL DEFICIT DEL AUTOCUIDADO .pptxTEORIA DEL DEFICIT DEL AUTOCUIDADO .pptx
TEORIA DEL DEFICIT DEL AUTOCUIDADO .pptxmarinosudarioneyer
 
Diarrea aguda en pacientes Pediatricos tratamiento y conducta
Diarrea aguda en pacientes Pediatricos tratamiento y conductaDiarrea aguda en pacientes Pediatricos tratamiento y conducta
Diarrea aguda en pacientes Pediatricos tratamiento y conductaraymaris1914
 
Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería yocelynsanchezerasmo
 
Las familias más ricas dentro del sionismo (2024).pdf
Las familias más ricas dentro del sionismo (2024).pdfLas familias más ricas dentro del sionismo (2024).pdf
Las familias más ricas dentro del sionismo (2024).pdfJC Díaz Herrera
 
2.8 CRONOGRAMA TALLER DE INVESTIGACION 1 .pptx
2.8 CRONOGRAMA TALLER DE INVESTIGACION 1 .pptx2.8 CRONOGRAMA TALLER DE INVESTIGACION 1 .pptx
2.8 CRONOGRAMA TALLER DE INVESTIGACION 1 .pptxceliajessicapinedava
 
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfSesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfMarxx4
 
ANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdf
ANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdfANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdf
ANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdfDaniloAstoVeliz
 
Presentación informe 'Fondos Next Generation European Union destinados a actu...
Presentación informe 'Fondos Next Generation European Union destinados a actu...Presentación informe 'Fondos Next Generation European Union destinados a actu...
Presentación informe 'Fondos Next Generation European Union destinados a actu...Ivie
 
Países por velocidad de sus misiles hipersónicos (2024).pdf
Países por velocidad de sus misiles hipersónicos  (2024).pdfPaíses por velocidad de sus misiles hipersónicos  (2024).pdf
Países por velocidad de sus misiles hipersónicos (2024).pdfJC Díaz Herrera
 
Módulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotesMódulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotessald071205mmcnrna9
 
FORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASOFORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASOsecundariatecnica891
 
Secuencia Uso del calendario. Segundo ciclo.docx
Secuencia Uso del calendario. Segundo ciclo.docxSecuencia Uso del calendario. Segundo ciclo.docx
Secuencia Uso del calendario. Segundo ciclo.docxcandevillarruel
 
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADORPREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOReluniversocom
 
AREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf SantiagoAREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf SantiagoSantiagoRodriguezLoz
 
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRILPREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRILeluniversocom
 

Recently uploaded (20)

la-antigua-Grecia, datos y curiosidades mas relevantes
la-antigua-Grecia, datos y curiosidades mas relevantesla-antigua-Grecia, datos y curiosidades mas relevantes
la-antigua-Grecia, datos y curiosidades mas relevantes
 
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRILPREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
 
LÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdf
LÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdfLÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdf
LÍNEA DE TIEMPO- ANTROPOLOGIA jsjudhdv.pdf
 
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfPREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
 
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILPREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
 
TEORIA DEL DEFICIT DEL AUTOCUIDADO .pptx
TEORIA DEL DEFICIT DEL AUTOCUIDADO .pptxTEORIA DEL DEFICIT DEL AUTOCUIDADO .pptx
TEORIA DEL DEFICIT DEL AUTOCUIDADO .pptx
 
Diarrea aguda en pacientes Pediatricos tratamiento y conducta
Diarrea aguda en pacientes Pediatricos tratamiento y conductaDiarrea aguda en pacientes Pediatricos tratamiento y conducta
Diarrea aguda en pacientes Pediatricos tratamiento y conducta
 
Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería
 
Las familias más ricas dentro del sionismo (2024).pdf
Las familias más ricas dentro del sionismo (2024).pdfLas familias más ricas dentro del sionismo (2024).pdf
Las familias más ricas dentro del sionismo (2024).pdf
 
2.8 CRONOGRAMA TALLER DE INVESTIGACION 1 .pptx
2.8 CRONOGRAMA TALLER DE INVESTIGACION 1 .pptx2.8 CRONOGRAMA TALLER DE INVESTIGACION 1 .pptx
2.8 CRONOGRAMA TALLER DE INVESTIGACION 1 .pptx
 
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfSesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
 
ANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdf
ANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdfANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdf
ANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdf
 
Presentación informe 'Fondos Next Generation European Union destinados a actu...
Presentación informe 'Fondos Next Generation European Union destinados a actu...Presentación informe 'Fondos Next Generation European Union destinados a actu...
Presentación informe 'Fondos Next Generation European Union destinados a actu...
 
Países por velocidad de sus misiles hipersónicos (2024).pdf
Países por velocidad de sus misiles hipersónicos  (2024).pdfPaíses por velocidad de sus misiles hipersónicos  (2024).pdf
Países por velocidad de sus misiles hipersónicos (2024).pdf
 
Módulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotesMódulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotes
 
FORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASOFORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASO
 
Secuencia Uso del calendario. Segundo ciclo.docx
Secuencia Uso del calendario. Segundo ciclo.docxSecuencia Uso del calendario. Segundo ciclo.docx
Secuencia Uso del calendario. Segundo ciclo.docx
 
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADORPREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
 
AREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf SantiagoAREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf Santiago
 
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRILPREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
 

GTM Android

  • 2. Mabel Rodriguez - @enielbam 2 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 contenedoren Google Tag manager 1. Para este caso ya tenemos una cuenta en GTM, por lo tanto solo debemos crear un contenedor para nuestra app: 2. En este puntose debe asignarun nombre al contenedor,que puede ser el nombre de nuestraapp,es muyimportante seleccionarparaque tipo de desarrollo se utilizará el contenedor,de noseleccionar “Android” en este paso, se deberá crear un contendor nuevo ya que esta opción no se puede cambiar una vez creado el contenedor.
  • 3. Mabel Rodriguez - @enielbam 3 3. Finalmente ya podemos trabajar en los tags: II. Data layer Para 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 GTMes: Datalater.pushEvent dataLayer.pushEvent("nombreEvento", DataLayer.mapOf("nombreVariable", valorVariable)); Donde: Variable Detalle nombreEvento Nombre de eventoque se recuperará enGoogle TagManager (noes un eventode Google Analytics) nombreVariable Nombre de la variable definida. valorVariable Valor asociado a la variable 1. Screens Al 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));
  • 4. Mabel Rodriguez - @enielbam 4 Donde: Variable Detalle Context Valor por defecto this screenName Nombre de la pantallaactual 2. Eventos Para el seguimientode eventosse 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 Algunosejemplosde eventospodríanser:  Llamar  Agendar  Actualizardatos  Seleccionaralgo  Filtros  Búsqueda  Pasode nivel,etc. Se debe tenerencuenta 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 personalizadas Para el envío de dimensiones el script será el siguiente:
  • 5. Mabel Rodriguez - @enielbam 5 Dimensions Tracker DataLayer dataLayer = TagManager.getInstance(Context).getDataLayer(); dataLayer.pushEvent("customDimensions", DataLayer.mapOf("Dimension1", Valor1, "Dimension2", valor2)); 4. Bloqueo y excepciones La mediciónde losbloqueosy excepcionesnosayudaráamedirel númeroy el tipo de bloqueos detectados y no detectados en la aplicación. Se recomienda leer las referenciasde Google Analytics(ExcepcionesenAndroid 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 scriptasociadoesel siguiente,se debeenviarcadavezque 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 description Descripciónde 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ónde identificación personal. isFatal true | false Indica si la excepciónera 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 Analyticsautomáticamente estableciendounvalor de ga_reportUncaughtExceptions o usando la clase ExceptionReporter.
  • 6. Mabel Rodriguez - @enielbam 6 Configuración automática Para enviarde formaautomáticatodas lasexcepcionesnodetectadasenlaaplicación mediante el valorde ga_reportUncaughtExceptions,se debeagregarlasiguientelí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. Primerose debenrecuperarlosvaloresde las variables que se han incluido dentro de los datalayer,paraestocrearemostantas variablescomoseanecesario,porejemplosi vemos el ejemplo del Tag de Screen views, tenemos: Screem Tracker DataLayer dataLayer = TagManager.getInstance(context).getDataLayer(); dataLayer.pushEvent("openScreen", DataLayer.mapOf("screenName", screenName)); Aquí vemosque manejamos la variable “screenName” asociada al evento “openScreen”. 2. Para recuperar el nombre de la pantalla, creamos una variable tipo Data Layer:
  • 7. Mabel Rodriguez - @enielbam 7 3. En el siguiente puntodebemos asignarunnombre anuestravariable (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): 4. Luegodebemoscrearel 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á:
  • 8. Mabel Rodriguez - @enielbam 8 Esto significa que el tag (aún no creado) se ejecutara sólo cuando se ejecute un evento llamado openScreen 5. Comoya tenemoslasvariablesytriggerscreados,procedemosacrear el Tag, eneste caso será unapp view de GoogleAnalytics:
  • 9. Mabel Rodriguez - @enielbam 9 6. El nombre de este eventoserá: UA – Screen. En el segundo paso se debe ingresar el ID de Google Analytics, y escoger el tipo de track App View: 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:
  • 10. Mabel Rodriguez - @enielbam 10 8. Finalmentedebemosasignarla regla de ejecución de este Tag, elegimos Custom Trigger:
  • 11. Mabel Rodriguez - @enielbam 11 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.
  • 12. Mabel Rodriguez - @enielbam 12 IV. Script Google Tag Manager: 1. Despuesde haberconfigurado todos los tags en Google Tag Manager, se debe publicar la versión actual: 2. En un segundopasose debe exportarel contendorque acabamosde crear, esto se realiza desde la pestaña Admin:
  • 13. Mabel Rodriguez - @enielbam 13 3. Por defectoel nombre del contenedoresel IDde la cuentade GTM seguidode laversión que hemosseleccionado: 4. Se debe teneren cuentaque el nombre del archivosolodebe quedarel IDdel 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
  • 14. Mabel Rodriguez - @enielbam 14 AndroidManifest.xml <!-- For TagManager SDK --> <uses-permissionandroid:name="android.permission.INTERNET" /> <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" /> 7. Luego configurar el contenedor por defecto: se debe agregar el archivo binario (que exportamos enel administradorde GTM – punto2) enel repositorio del proyecto, dentro del subfolder <project-root>/res/raw. 8. InicializarGoogle TagManager, 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