Pré-requisitos
- Um site que suporte HTTPS.
- Você pode publicar alterações no GTM para o container do site.
- Você completou o fluxo de configuração do Web SDK do OneSignal até Adicionar código ao site. Isso lhe dá:
- Um aplicativo OneSignal Web Push e o App ID.
- A configuração do OneSignal Service Worker.
Configuração
1. Configure seu aplicativo web do OneSignal
Siga a configuração do Web SDK até chegar à etapa Adicionar código ao site. É aqui que você obterá o OneSignal App ID.
Depois de chegar a esta etapa, você precisará fazer alguns ajustes no código para funcionar com o Google Tag Manager.
2. Crie variáveis do GTM
Crie variáveis do GTM para valores que você referencia em tags. Isso evita codificar valores fixos e torna sua configuração mais fácil de manter. Crie uma variávelONESIGNAL_APP_ID
- No GTM, vá para Variables > New.
- Escolha Constant.
- Nomeie como
ONESIGNAL_APP_ID - Defina o valor como seu OneSignal App ID.
- Salve

Criando uma variável do OneSignal App ID
Agora você pode referenciar seu App ID em qualquer lugar no GTM usando
{{ ONESIGNAL_APP_ID }}.ONESIGNAL_EXTERNAL_ID (Recomendado)
Use esta variável se você associar usuários com um identificador externo (por exemplo, um ID de usuário do seu banco de dados ou sistema de autenticação).
Escolha o tipo de variável com base em onde o valor está disponível no seu site. Opções comuns:
- Data Layer Variable (recomendado)
- First-Party Cookie
- DOM Variable (avançado)
3. Crie a tag de inicialização do OneSignal
- No GTM, vá para Tags > New
- Nomeie a tag:
OneSignal - Init - Tag Type: Custom HTML
- Cole o código abaixo.
- Em Advanced Settings > Tag firing options, defina Once per page.
- Em Triggering, selecione Initialization - All Pages.
HTML

Configurando a tag OneSignal - Init
4. Defina External ID e Tags
Definir o External ID é opcional, mas recomendado, pois permite identificar usuários em dispositivos e sincronizar com seu backend. EnviarONESIGNAL_EXTERNAL_ID para o dataLayer
Este exemplo mostra como você pode enviar um ID de usuário para o dataLayer para que o GTM possa lê-lo via a variável ONESIGNAL_EXTERNAL_ID (criada no passo 2).
HTML
- Nome da tag:
OneSignal – Set External ID - Tipo da tag: Custom HTML
- Opções de disparo da tag: Once per page
- Trigger:
- Crie um gatilho de evento personalizado para
OneSignalInitialized(definido na tag OneSignal - Init acima) e - Opcionalmente se você souber que o ID do usuário está disponível no carregamento da página.
- Crie um gatilho de evento personalizado para
Definir Tags
Isto envia Tags do OneSignal usando nosso Web SDK. Configuração da tag:- Nome:
OneSignal - Add Tags - Tipo da tag: Custom HTML
- Opções de disparo da tag: Once per page
- Trigger:
OneSignalInitialized, e- Sua condição para quando os dados da tag estiverem disponíveis (por exemplo: após login, em uma página de perfil, após compra).
HTML
Envie tags apenas quando você tiver os dados do usuário disponíveis (por exemplo: após login, após o carregamento de um perfil ou após um evento de conversão conhecido).
Consent Mode e considerações de privacidade
Se o seu site usar Consent Mode / um CMP, decida se o OneSignal deve carregar:- Apenas após consentimento (comum para UE/Reino Unido), ou
- Imediatamente (comum onde o armazenamento “funcional” é permitido por padrão).
Testes
- No GTM, abra o modo Preview.
- Carregue seu site e confirme:
OneSignal - Initdispara uma vez.OneSignalInitializedaparece na linha do tempo de eventos do GTM (se você manteve o push de evento).
- Inscreva-se no seu site. Consulte Solicitações de permissão web para detalhes de solicitação.
- No painel do OneSignal, vá para Audience > Subscriptions e confirme:
- Uma inscrição aparece após você aceitar.
- Um External ID é visível se você definiu um.
- Envie um push de teste de Messages > New Push.
Se a inicialização estiver funcionando, você verá as inscrições aparecendo no OneSignal após aceitar.
Solução de problemas
-
A tag Init dispara, mas o SDK nunca carrega
- Verifique se a Content Security Policy (CSP) está bloqueando
https://cdn.onesignal.com. - Verifique bloqueadores de anúncios/bloqueadores de scripts.
- Verifique se a Content Security Policy (CSP) está bloqueando
-
Erros de
dataLayer- Certifique-se de que
window.dataLayer = window.dataLayer || []esteja definido antes de qualquer chamadadataLayer.push().
- Certifique-se de que
-
Solicitações duplicadas / carregamento duplicado do SDK
- Certifique-se de que você não está carregando o OneSignal também através do código do site, um plugin de CMS ou outra tag do GTM.
-
Add Tags executa mas não aparece no OneSignal
- Confirme que o Trigger Group espera
OneSignalInitialized. - Confirme que seu gatilho de ação do usuário realmente dispara.
- Confirme que as tags são pares chave/valor válidos e dentro dos limites do plano.
- Confirme que o Trigger Group espera