En esta guía, se describe cómo crear e implementar una app para iOS en Swift para hacer un seguimiento de los eventos de apertura de pantalla y de presión de botones con Google Tag Manager (GTM).
1. Crea un proyecto nuevo
- Abre Xcode.
- Haz clic en Create a new Xcode project.
- Selecciona Single View Application.
- Haz clic en Siguiente.
- Asigna un nombre a tu proyecto y elige opciones adicionales para él. El nombre del proyecto y de la app serán los mismos que el nombre del producto.
- Haz clic en Siguiente.
- Selecciona una ubicación (directorio) del proyecto.
- Haz clic en Crear.
2. Instala las dependencias de Google Tag Manager
- Sal de Xcode.
- En una terminal, ejecuta el siguiente comando para instalar
Cocoapods:
$ sudo gem install cocoapods
- Cambia al directorio de tu proyecto.
- Ejecuta el siguiente comando para crear un archivo llamado
Podfile
:$ pod init
- En
Podfile
, quita el comentario deuse_frameworks!
y agregapod 'GoogleTagManager'
al objetivo: - Ejecuta el siguiente comando para descargar e instalar las dependencias de Google Tag Manager (GTM) en tu proyecto:
$ pod install
Este comando también crea el espacio de trabajo
GtmSwiftTutorial.xcworkspace
. A partir de ahora, usa este espacio de trabajo para desarrollar la app deGtmSwiftTutorial
.
# Uncomment this line if you're using Swift
use_frameworks!
target 'GtmSwiftTutorial' do
pod 'GoogleTagManager'
end
3. Agrega un encabezado de puente para las bibliotecas de Objective-C
Para crear un archivo de encabezado de puente, sigue estos pasos:
- Abre Xcode.
- Haz clic en File > New > File.
- En iOS > Source, selecciona Header File.
- Haz clic en Siguiente.
- Ingresa el nombre del archivo de encabezado
BridgingHeader.h
. - Haz clic en Crear.
- Agrega estas sentencias
import
al archivo de encabezado:#ifndef BridgingHeader_h
#define BridgingHeader_h
#import <GoogleTagManager/TAGManager.h>
#import <GoogleTagManager/TAGContainer.h>
#import <GoogleTagManager/TAGContainerOpener.h>
#import <GoogleTagManager/TAGDataLayer.h>
#import <GoogleTagManager/TAGLogger.h>
#endif /* BridgingHeader_h */
Para agregar el encabezado puente de Objective-C en la configuración de compilación, haz lo siguiente:
- En Xcode, haz clic en tu proyecto.
- Haz clic en Build Settings en el área del editor.
- Selecciona Todas y Combinadas, y busca el puente.
- En la columna derecha de la fila que contiene Objective-C Bridging Header, ingresa
BridgingHeader.h
.
4. Agrega un contenedor predeterminado a tu proyecto
Antes de agregar un contenedor predeterminado a tu proyecto, descarga un objeto binario de contenedor para dispositivos móviles:
- Accede a tu cuenta de Google Tag Manager.
- Selecciona un contenedor para dispositivos móviles.
- Haz clic en Versiones en la barra de menú.
- Haz clic en Acciones > Descargar en la versión del contenedor seleccionada.
GTM-PT3L9Z
.
Para agregar un contenedor binario predeterminado a tu proyecto, haz lo siguiente:
- Abre Xcode.
- Haz clic en el ícono de Finder en la barra de tareas.
- Haz clic en la carpeta
Downoloads
. - Arrastra el archivo binario del contenedor a la carpeta
Downloads
y suéltalo en la carpeta raíz de tu proyecto de Xcode.
5. Vincula Google Tag Manager a tu app
- En Xcode, abre el archivo
AppDelegate.swift
. - Haz que la clase
AppDelegate
extienda la claseTAGContainerOpenerNotifier
:import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, TAGContainerOpenerNotifier {
// ...
}Después de extender la clase, obtendrás el error
Type 'AppDelegate' does not conform to protocol 'TAGContainerOpenerNotifier'
. El siguiente paso corregirá este error. - Agrega la siguiente función al final de la definición de la clase
AppDelegate
:func containerAvailable(container: TAGContainer!) {
container.refresh()
} - En la función
application
, agrega el siguiente código antes de la sentenciareturn true
:let GTM = TAGManager.instance()
GTM.logger.setLogLevel(kTAGLoggerLogLevelVerbose)
TAGContainerOpener.openContainerWithId("GTM-PT3L9Z", // change the container ID "GTM-PT3L9Z" to yours
tagManager: GTM, openType: kTAGOpenTypePreferFresh,
timeout: nil,
notifier: self)
6. Realiza un seguimiento del evento de apertura de la pantalla
Para hacer un seguimiento de un evento de apertura de pantalla, sigue estos pasos:
- Crea una variable para almacenar el ID de seguimiento.
- Crea una variable de capa de datos llamada screenName.
- Crea una etiqueta de GTM titulada Vista de pantalla.
- Agrega el código de seguimiento de la pantalla.
a. Crea una variable para almacenar el ID de seguimiento
- Accede a tu cuenta de Google Tag Manager.
- Selecciona un contenedor para dispositivos móviles.
- En la barra de navegación izquierda, haz clic en Variables.
- En Variables definidas por el usuario, haz clic en Nueva.
- Haz clic en Variable sin título para ingresar el nombre de la variable ID de seguimiento.
- Elige Constante como el tipo de variable.
- Ingresa el ID de seguimiento (con el formato
UA-XXXXXXXX-X
, dondeX
es un dígito) como valor de la variable.UsaUA-47605289-5
(se borrará). - Haz clic en Crear variable.
b. Crea una variable de capa de datos llamada screenName.
- Accede a tu cuenta de Google Tag Manager.
- Selecciona un contenedor para dispositivos móviles.
- En la barra de navegación izquierda, haz clic en Variables.
- En Variables definidas por el usuario, haz clic en Nueva.
- Haz clic en Variable sin título para ingresar el título Nombre en pantalla.
- Elige Variable de capa de datos como el tipo de variable.
- Ingresa screenName como Nombre de la variable de capa de datos.
- Haz clic en Establecer valor predeterminado.
- Ingresa el valor predeterminado pantalla desconocida.
- Haz clic en Crear variable.
c. Crea una etiqueta de GTM titulada Vista de pantalla
- Accede a tu cuenta de Google Tag Manager.
- Selecciona un contenedor para dispositivos móviles.
- En la barra de navegación izquierda, haz clic en Etiquetas.
- Haz clic en Nuevo.
- Haz clic en Etiqueta sin título para ingresar el nombre de la etiqueta en Vista de pantalla.
- Elige el producto Google Analytics.
- Selecciona ID de seguimiento en la lista.
- Selecciona App View como el Tipo de segmento.
- Haz clic en Más parámetros de configuración.
- Haz clic en Campos para configurar.
- Haz clic en + Agregar campo.
- Selecciona el nombre del campo screenName y su valor Nombre de la pantalla.
- Haz clic en Continuar.
- En Ejecute en, selecciona Cualquier evento.
- Haz clic en Crear etiqueta.
Consulta la captura de pantalla de la creación de la etiqueta de GTM de Vista de pantalla.

d. Agrega el código de seguimiento de pantalla
- Abre el archivo
ViewController.swift
en Xcode. - Define una variable llamada
dataLayer
dentro de la claseViewController
:var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer
- En la función
viewDidLoad()
, envía el eventoOpenScreen
a la capa de datos:dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"])
La definición de la clase ViewController
se ve de la siguiente manera:
import UIKit
class ViewController: UIViewController {
var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer
override func viewDidLoad() {
super.viewDidLoad()
dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"])
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that cant be recreated
}
}
7. Realiza un seguimiento del evento de botón presionado
Para hacer un seguimiento de un evento de botón presionado, sigue estos pasos:
- Crea una variable de capa de datos llamada eventAction.
- Crea una variable de evento personalizado llamada Evento.
- Crea una etiqueta de GTM titulada Botón presionado.
- Crea un botón y agrega código para hacer un seguimiento de que se presione el botón.
a. Crea una variable de capa de datos llamada eventAction.
- Accede a tu cuenta de Google Tag Manager.
- Selecciona un contenedor para dispositivos móviles.
- En la barra de navegación izquierda, haz clic en Variables.
- En Variables definidas por el usuario, haz clic en Nueva.
- Haz clic en Variable sin título para ingresar el título Acción del evento.
- Elige Variable de capa de datos como el tipo de variable.
- Ingresa eventAction como el Nombre de la variable de capa de datos.
- Haz clic en Establecer valor predeterminado.
- Ingresa el valor predeterminado evento desconocido.
- Haz clic en Crear variable.
b. Crea una variable de evento personalizada llamada Evento
- Accede a tu cuenta de Google Tag Manager.
- Selecciona un contenedor para dispositivos móviles.
- En la barra de navegación izquierda, haz clic en Variables.
- En Variables definidas por el usuario, haz clic en Nueva.
- Haz clic en Untitled Variable para ingresar el nombre de la variable Event.
- Elige Evento personalizado como el tipo de variable.
- Haz clic en Crear variable.
c. Crea una etiqueta de GTM titulada Se presionó el botón
- Accede a tu cuenta de Google Tag Manager.
- Selecciona un contenedor para dispositivos móviles.
- En la barra de navegación izquierda, haz clic en Etiquetas.
- Haz clic en Nuevo.
- Haz clic en Untitled Tag para ingresar el nombre de la etiqueta Button Pressed.
- Elige el producto Google Analytics.
- Selecciona ID de seguimiento en la lista.
- Selecciona Evento como Tipo de seguimiento.
- Selecciona la categoría Evento.
- Selecciona Acción del evento.
- Haz clic en Continuar.
- En Ejecute en, selecciona Cualquier evento.
- Haz clic en Crear etiqueta.
Consulta la captura de pantalla donde se muestra cómo crear la etiqueta de GTM Botón presionado.

d. Crea un botón y agrega código para hacer un seguimiento de que se presione el botón
- Abre tu proyecto de Xcode.
- Abre
Main.storyboard
. - Haz clic en el botón de la esquina superior derecha de la barra de herramientas de Xcode para abrir el área de utilidad (barra lateral derecha).
- En la parte inferior del área de utilidad,
Haz clic en el botón Mostrar la biblioteca de objetos (el botón azul):
- Ingresa el botón en el cuadro de búsqueda.
- Arrastra Botón al guion gráfico y suéltalo en la esquina superior izquierda.
- Haz clic en el botón del Asistente del editor
en la barra de herramientas de Xcode.
- Mantén presionada la tecla Ctrl, arrastra el botón y suéltalo en la parte inferior de la definición de la clase
ViewController
. - En el cuadro de diálogo, selecciona la conexión Action, ingresa el nombre de la función buttonPressed y haz clic en Connect.
Esto agrega la siguiente función al final de la definición de la clase
ViewController
:@IBAction func buttonPressed(sender: AnyObject) {
}La función se ejecuta cada vez que se presiona el botón.
- En la función
buttonPressed
, agrega el siguiente código para enviar el eventoButtonPressed
a la capa del día:@IBAction func buttonPressed(sender: AnyObject) {
dataLayer.push(["event": "ButtonPressed", "eventAction": "Test Event"])
}
8. Compila y ejecuta tu app
En Xcode, haz clic en Product > Run. Xcode compilará y ejecutará la app:
