La API de la etiqueta de Google (gtag.js) consta de una sola función, gtag()
, con la siguiente sintaxis:
gtag(<command>, <command parameters>);
<command>
es uno de los siguientes comandos:<command parameters>
son los parámetros que puedes pasar agtag()
. Los parámetros de comando varían según el comando. Consulta la referencia de comandos a continuación.
Puedes invocar comandos gtag()
en cualquier parte de la página, siempre que los comandos aparezcan debajo del fragmento de la etiqueta de Google. Para obtener información sobre cómo agregar el fragmento a una página, consulta la guía de instalación.
config
Te permite agregar información de configuración adicional a los destinos. Por lo general, esta es una configuración específica del producto, pero solo necesitas configurarla una vez si usas Google Ads y Google Analytics.
gtag('config', '<TARGET_ID>', {<additional_config_info>});
<TARGET_ID>
es un identificador que identifica de forma única el objetivo de los hits, como una propiedad de Google Analytics o una cuenta de Google Ads.
<additional_config_info>
es uno o más pares parámetro-valor.
En este ejemplo, se configura una etiqueta para enviar datos a una cuenta de Google Ads:
gtag('config', 'TAG_ID');
donde “TAG_ID” es el ID de etiqueta de la etiqueta de Google.
A fin de demostrar cómo enviar información de configuración adicional, este es un ejemplo que configura una etiqueta para enviar datos a una cuenta de Analytics con un parámetro send_page_view
que pasa un valor de false
y un parámetro groups
que pasa un valor de 'agency'
.
gtag('config', 'TAG_ID', {
'send_page_view': false,
'groups': 'agency'
});
get
Te permite obtener varios valores de gtag.js
, incluidos los valores establecidos con el comando set
.
gtag('get', '<target>', '<field_name>', callback)
Argumento | Tipo | Ejemplo | Descripción |
---|---|---|---|
<objetivo> | string |
UA-XXXXXXXX-A |
El destino desde el que se recuperan los valores. |
<nombre_campo> | FieldName | client_id | El nombre del campo que se obtendrá. |
callback | Function |
(field) => console.log(field) |
Una función que se invocará con el campo solicitado o |
FieldName
El nombre del campo puede ser el nombre de un campo personalizado que configures con el comando gtag('set')
, o uno de los siguientes valores:
Nombre del campo | Destinos admitidos |
---|---|
client_id |
|
session_id |
|
gclid |
|
Ejemplos
Obtén valor en una promesa
const gclidPromise = new Promise(resolve => {
gtag('get', 'DC-XXXXXXXX', 'gclid', resolve)
});
gclidPromise.then((gclid) => {
// Do something with gclid...
})
Cómo enviar un evento al Protocolo de medición
gtag('get', 'UA-XXXXXXXX-Y', 'client_id', (clientID) => {
sendOfflineEvent(clientID, "tutorial_begin")
});
function sendOfflineEvent(clientID, eventName, eventData) {
// Send necessary data to your server...
}
Obtenga un valor establecido
gtag('set', {currency: 'USD'});
gtag('get', 'UA-XXXXXXXX-Y', 'currency', (currency) => {
// Do something with currency value you set earlier.
})
set
Te permite establecer valores que persisten en todas las llamadas posteriores gtag()
en la página.
gtag('set', {<parameter-value-pair>, <parameter-value-pair>});
<parameter-value-pair>
es un nombre de clave y el valor que persiste en las llamadas gtag()
. Por ejemplo, el siguiente código establece el valor de country
en 'US'
y el valor de currency
en 'USD'
para todos los eventos posteriores en la página:
gtag('set', {
'country': 'US',
'currency': 'USD'
});
El uso del comando set
no es lo mismo que pasar valores directamente al comando event
. Cuando pasas valores directamente a un comando event
, esos valores solo se aplican al evento que se activa. Sin embargo, con set
, los valores persisten en la página actual y se pasan con todos los eventos posteriores. Para ilustrar, contrasta los dos ejemplos siguientes:
gtag('event', 'login', {'method': 'Google'});
gtag('event', 'share');
y
gtag('set', {'method': 'Google'});
gtag('event', 'login');
gtag('event', 'share');
En el primer ejemplo, el evento login
se pasará con un valor method
de 'Google'
y el evento share
se pasará sin ningún parámetro. En el segundo ejemplo, tanto login
como share
se pasarán con un valor method
de 'Google'
.
event
Usa el comando event
para enviar datos de eventos.
gtag('event', '<event_name>', {<event_params>});
<event_name>
puede:
- Un evento recomendado. Cada evento recomendado puede incluir parámetros recomendados.
- Un evento personalizado Un evento personalizado es un nombre de evento arbitrario que creas, con parámetros arbitrarios (es decir, personalizados). Por ejemplo, consulta cómo se usan los eventos personalizados en Google Analytics.
<event_params>
es uno o más pares parámetro-valor. Cada par separado por una coma.
El siguiente comando de event
activa el evento recomendado screen_view
con dos parámetros: app_name
y screen_name
.
gtag('event', 'screen_view', {
'app_name': 'myAppName',
'screen_name': 'Home'
});
consent
Usa el comando consent
para configurar el consentimiento.
gtag('consent', {<consent_arg>}, {<consent_params>});
Consulta consentimiento en el Centro de ayuda para obtener más información sobre el comportamiento que tienen estos parámetros.
<consent_arg>
es uno de 'default'
o 'update'
. 'default'
se usa con el fin de establecer los parámetros de consentimiento predeterminados que se deben usar, y 'update'
se usa para actualizar estos parámetros una vez que un usuario indica su consentimiento.
Se admiten los siguientes <consent_params>
:
Nombre del campo | Valores permitidos |
---|---|
ad_storage |
'granted' | 'denied' |
analytics_storage |
'granted' | 'denied' |
wait_for_update |
cualquier número entero positivo |
Alcance del parámetro
Puedes definir el alcance de los valores de los parámetros para eventos individuales, todos los eventos enviados a un <TARGET_ID>
específico o globalmente para todos los eventos. Esto se logra mediante el uso de los comandos event
, config
y set
.
Los valores de parámetros establecidos en un alcance no modifican los valores establecidos para el mismo parámetro en un alcance diferente. En el siguiente ejemplo, el comando config
no modifica el valor global de currency
que se asignó antes con el comando set
. Después de que se ejecutan ambos comandos, el valor global de currency
sigue siendo 'EUR'
.
// Set global currency to Euros
gtag('set', { 'currency': 'EUR' });
// Set currency for <TARGET_ID>
gtag('config','<TARGET_ID>', { 'currency': 'USD' });
Precedencia de parámetros
Si se asignan diferentes valores al mismo parámetro en permisos diferentes, solo se usa un valor cuando se procesan eventos. Los valores de los parámetros definidos en event
tendrán prioridad sobre los parámetros alcanzados en config
, y los parámetros config
tendrán prioridad sobre los que tienen alcance global mediante set
.
// Set global currency to Euros
gtag('set', { 'currency': 'EUR' });
// Set currency for <TARGET_ID1> to 'USD'
gtag('config','<TARGET_ID1>', { 'currency': 'USD' });
// Process a conversion event with currency: 'GBP'
gtag('event','conversion', { 'currency': 'GBP', 'send_to': '<TARGET_ID1>' });
// Process a conversion event with currency: 'EUR'
gtag('event','conversion');
// Process a conversion event with currency: 'USD'
gtag('event','conversion', { 'send_to': '<TARGET_ID1>' });