Referencia de la API de la etiqueta de Google

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 a gtag(). 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 undefined si no se configura

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
  • Google Analytics 4
  • Universal Analytics de Google Analytics
session_id
  • Google Analytics 4
gclid
  • Google Ads
  • Floodlight

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:

<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'
});

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>' });