Google Ads
Google Ads é integrado via GTM — não há SDK Google Ads próprio no front. Tags de conversão Google Ads são configuradas dentro do container GTM da brand.
Modelo de integração
Não há config local de "Google Ads ID". Tudo vive no GTM.
Setup recomendado no GTM
Conversion tag — FTD
- Tag type: Google Ads Conversion Tracking
- Conversion ID + Label: do Google Ads (Conversion Actions → New)
- Trigger: Custom Event =
first_deposit - Conversion Value:
{{DLV - value}}(lêvaluedo dataLayer) - Currency:
{{DLV - currency}} - Transaction ID:
{{DLV - transactionId}}(deduplicação)
Conversion tag — Sign-up
- Trigger: Custom Event =
sign_up - Value: opcional (CPL fixo da campanha)
Remarketing tag
- Tag type: Google Ads Remarketing
- Trigger: All Pages (pra audiência geral) ou eventos específicos
- Custom Parameters: opcional, pode mapear do dataLayer
gclid — Click ID do Google
Capturado da URL via Clicked-IDs. Persistido como:
- Campo individual no
cookie_tracking:{ "gclid": "Cj0KCQjw..." } media_clidderivado quandogclidé o primeiro match:{ "media_source": "google", "media_clid": "Cj0KCQjw..." }
Vai no payload de signup e deposit pro BFF.
Enhanced Conversions — Roadmap
Status atual: NÃO implementado.
Enhanced Conversions enriquece conversões com hashed PII (email, telefone) e/ou external_id. Permite Google Ads matchar com user mesmo quando o gclid não foi setado (iOS 14+, ad blockers).
Implementação requer:
- BFF receber
external_id(rmkveraUUID) no payload — ver Remarketing - BFF chamar Google Ads API server-side com hashed user data
- Configurar Enhanced Conversions no Google Ads Conversion Action
Mesma trajetória da CAPI da Meta — depende de priorização de BFF.
Audiências dinâmicas (Display Remarketing)
Pra mostrar anúncio do exato jogo que o user viu:
- Cria audience dinâmica no Google Ads → Audience Manager → Custom audiences
- Trigger no GTM: Custom Event =
view_game_page, parâmetros ={ game_id, game_name, game_category } - Tag: Google Ads Remarketing com dynamic remarketing parameters (
ecomm_prodid: {{DLV - gameId}},ecomm_pagetype: 'product', etc)
O front já dispara view_game_page com gameId, gameName, gameCategory no payload — basta wirar no GTM.
Configuração por brand
Sem config local — toda configuração vive no container GTM da brand. Ver Por Brand pra mapeamento de qual GTM ID cada brand usa.
Como debuggar
Google Tag Assistant (Chrome extension)
Tag Assistant — debug de tags Google em geral.
Google Ads Conversion DebugView
Google Ads → Conversions → seleciona uma Conversion Action → "Diagnostics" mostra eventos recebidos em tempo real (latência ~1 minuto).
gclid sobrevivendo redirects
1. Acessa http://localhost:5173/?gclid=test_gclid_12345
2. DevTools → Cookies → cookie_tracking deve ter "gclid": "test_gclid_12345"
3. Submete signup → Network → POST /api/auth/register → body deve ter "gclid"
Anti-patterns
- Disparar conversion duas vezes (uma via GTM, outra via tag manual). Inflate conversão.
- Não passar
transactionIdna tag de conversion. Google deduplica portransactionId— sem ele, refresh da página dispara nova conversão. - Usar
valueem moeda diferente da configurada na conversão. Quebra ROAS. - Configurar Enhanced Conversions com email não-hashado. Google rejeita ou (pior) loga PII em request body. Sempre SHA256(email) lowercased.