A API da tag do Google (gtag.js) consiste em uma única função, gtag(), com a seguinte sintaxe:
gtag(<command>, <command parameters>);
<command>é um dos seguintes comandos:<command parameters>são os parâmetros que você pode transmitir paragtag(). Esse tipo de parâmetro varia de acordo com o comando. Consulte a referência de comandos abaixo.
Você pode invocar comandos gtag() em qualquer local da página, desde que estejam abaixo do snippet de tag do Google. Para saber como adicionar o snippet a uma página, consulte o guia de instalação.
Escopo do parâmetro
É possível definir o escopo de valores de parâmetros para eventos específicos, todos os eventos enviados a um <TARGET_ID> específico ou globalmente para todos os eventos. Se quiser fazer isso, use os comandos event, config e set.
Os valores de parâmetros definidos em um escopo não modificam aqueles estabelecidos para o mesmo parâmetro em outro escopo. No exemplo abaixo, o comando config não altera o valor global de campaign_id atribuído antes com set. Quando os dois comandos forem executados, o valor global de campaign_id ainda será '1234'.
// Set global campaign ID
gtag('set', { 'campaign_id': '1234' });
// Set campaign ID for <TARGET_ID>
gtag('config','<TARGET_ID>', { 'campaign_id': 'ABCD' });
Precedência do parâmetro
Se valores diferentes forem atribuídos ao mesmo parâmetro em escopos diferentes, apenas um valor será usado durante o processamento de eventos. Os valores de parâmetros com escopo event têm prioridade sobre aqueles com escopo config. Além disso, os parâmetros config prevalecem sobre aqueles que têm escopo global e usam set.
// Set campaign information at the global scope
gtag('set', { 'campaign_name': 'Black Friday Sale' });
// 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>' });
config
Permite incluir mais detalhes de configuração nos destinos. Essa geralmente é uma configuração específica do produto, mas você só vai precisar definir uma vez se estiver usando o Google Ads e o Analytics.
gtag('config', '<TARGET_ID>', {<additional_config_info>});
<TARGET_ID> identifica exclusivamente o destino dos hits, como uma propriedade do Analytics ou uma conta do Google Ads.
<additional_config_info> representa um ou mais pares de valor de parâmetro.
Neste exemplo, uma tag é configurada para enviar dados a uma conta do Google Ads:
gtag('config', 'TAG_ID');
"TAG_ID" é o ID da tag do Google.
Veja como enviar outras informações de configuração no exemplo abaixo, em que uma tag é configurada para enviar dados a uma conta do Google Analytics usando um parâmetro send_page_view com um valor false e um parâmetro groups definido como 'agency'.
gtag('config', 'TAG_ID', {
'send_page_view': false,
'groups': 'agency'
});
get
Permite receber diversos valores da gtag.js, incluindo conjuntos de valores com o comando set.
gtag('get', '<target>', '<field_name>', callback)
| Argumento | Tipo | Exemplo | Descrição |
|---|---|---|---|
| <target> | string |
G-XXXXXXXXXX |
Destino em que os valores serão buscados. |
| <field_name> | FieldName | client_id | Nome do campo que será recebido. |
| callback | Function |
(field) => console.log(field) |
Função que será invocada com o campo solicitado, ou |
FieldName
O nome do campo pode ser o nome de um campo personalizado definido com o comando gtag('set'), ou um dos seguintes valores:
| Nome do campo | Destinos com suporte |
|---|---|
| client_id |
|
| session_id |
|
| gclid |
|
Exemplos
Ver um valor para um Promise
const gclidPromise = new Promise(resolve => {
gtag('get', 'DC-XXXXXXXX', 'gclid', resolve)
});
gclidPromise.then((gclid) => {
// Do something with gclid...
})
Enviar evento para o Measurement Protocol
gtag('get', 'G-XXXXXXXXXX', 'client_id', (clientID) => {
sendOfflineEvent(clientID, "tutorial_begin")
});
function sendOfflineEvent(clientID, eventName, eventData) {
// Send necessary data to your server...
}
Conferir um valor que você definiu
gtag('set', {campaign_name: 'Spring_Sale'});
gtag('get', 'G-XXXXXXXXXX', 'campaign_name', (campaign_name) => {
// Do something with currency value you set earlier.
})
set
Com o comando "set", você pode definir parâmetros que serão associados a todos os eventos seguintes na página.
gtag('set', {<parameter-value-pair>, <parameter-value-pair>});
Por exemplo, é possível compartilhar parâmetros de campanha para que possam ser acessados por várias tags na mesma página.
O exemplo abaixo mostra a definição de um nome e ID de campanha para um evento de compras da Black Friday. Como você usou set, todas as outras tags (por exemplo, tags de evento do GA4 ou de remarketing do Google Ads) poderão acessar os dados em questão.
gtag('set', 'campaign', {
'id': 'abc',
'source': 'google',
'name': 'black_friday_promotion',
'term': 'running+shoes',
});
event
Use o comando event para enviar dados de eventos.
gtag('event', '<event_name>', {<event_params>});
<event_name> pode ser:
- Um evento recomendado, que aceita parâmetros recomendados.
- Um evento personalizado, ou seja, um nome de evento arbitrário criado por você, com parâmetros arbitrários (ou seja, personalizados). Por exemplo, veja como eventos personalizados são usados no Google Analytics.
<event_params> representa um ou mais pares de valor de parâmetro, em que cada par é separado por uma vírgula.
O comando event a seguir dispara o evento recomendado screen_view com dois parâmetros: app_name e screen_name.
gtag('event', 'screen_view', {
'app_name': 'myAppName',
'screen_name': 'Home'
});
consent
Use o comando consent para configurar o consentimento.
gtag('consent', {<consent_arg>}, {<consent_params>});
Consulte o artigo sobre consentimento na Central de Ajuda para mais informações sobre o comportamento que esses parâmetros definem.
<consent_arg> é um dos campos 'default' ou 'update'. 'default' é usado para definir os parâmetros de consentimento padrão que precisam ser usados, e 'update' é usado para atualizar esses parâmetros depois que um usuário indica o consentimento dele.
Estes <consent_params> são aceitos:
| Nome do campo | Valores permitidos | Descrição |
|---|---|---|
ad_storage |
'granted' | 'denied' |
Permite o armazenamento, como cookies (Web) ou identificadores de dispositivos (apps), relacionado à publicidade. |
ad_user_data |
'granted' | 'denied' |
Define o consentimento para enviar dados do usuário ao Google para fins de publicidade. |
ad_personalization |
'granted' | 'denied' |
Define o consentimento para veicular publicidade personalizada. |
analytics_storage |
'granted' | 'denied' |
Permite o armazenamento, como cookies (Web) ou identificadores de aplicativos (apps), relacionado a análises (por exemplo, duração da visita). |
wait_for_update |
Um número inteiro positivo | Define um tempo, em milissegundos, de espera por uma chamada de atualização do consentimento. |