<iframe> (/var.html) no documento de topo (var-mundial.com). O GTM é carregado uma única vez no documento-pai. Todos os eventos da página são empurrados para o dataLayer do pai através do helper vmTrack() (mesma origem), evitando duplicação de pageviews e mantendo o page_location correto. Cada evento inclui sempre o parâmetro vm_source: "var_mundial".
O percurso típico de um visitante e os eventos que dispara, do primeiro carregamento à submissão de uma evidência.
gtm.js / pageview no documento-pailanding_view + começam scroll_depth, time_on_page, section_viewnav_click · anchor_click · cta_click · menu_open/close · faq_openverifier_use → verifier_resultlicensed_operator_click → associate_redirect_start → associate_redirect_go / _cancelevidence_form_start → evidence_category_select → evidence_file_attached → evidence_submitchat_open → mesmos eventos com channel:"chat")evidence_submit_success — conversão principalevidence_submit_error / evidence_validation_errorcounter_loaded) e sai por links: instagram_click, srij_click, responsible_gambling_click, complaint_portal_click, outbound_click…Evento (event) | Quando dispara | Parâmetros | Para que serve |
|---|---|---|---|
landing_view | Carregamento da landing | page, campaign, lang | Visita à campanha (complementa o pageview do GTM) |
scroll_depth | Atinge 25/50/75/100% da página | percent | Profundidade de leitura |
time_on_page | Marcos de 30/60/120/300 s | seconds | Tempo de permanência / qualidade da visita |
section_view | Uma secção entra no ecrã (40%) | section_id | Que secções são realmente vistas |
nav_click | Clique no menu (desktop/mobile) | nav_target, nav_text | Uso da navegação |
anchor_click | Clique em link âncora interno (#…) | anchor, link_text, location | Navegação interna |
cta_click | Clique no CTA flutuante | cta_label, location | Eficácia do CTA fixo |
menu_open | Abertura do menu mobile | — | Interação mobile |
menu_close | Fecho do menu mobile | — | Interação mobile |
faq_open | Abertura de uma pergunta do FAQ | question | Dúvidas mais procuradas |
share_click | Clique em partilhar (Twitter/WhatsApp) | network | Partilha social |
Sequência completa de submissão de evidência de publicidade a jogo ilegal. Permite medir a taxa de conversão em cada passo.
| Evento | Quando dispara | Parâmetros | Para que serve |
|---|---|---|---|
evidence_form_start | 1ª interação com o formulário | — | Topo do funil |
evidence_category_select | Escolha da categoria | categoria | Tipo de publicidade reportada |
evidence_file_attached | Anexa ficheiro | file_type, file_size_kb | % de submissões com prova |
evidence_submit | Carrega em enviar | categoria, has_file, has_email | Tentativas de submissão |
evidence_submit_success | Submissão guardada com sucesso | categoria, has_file, has_email | Conversão principal |
evidence_submit_error | Erro de servidor/rede | error_message | Problemas técnicos |
evidence_validation_error | Validação do lado do cliente falha | reason | Atrito no formulário |
counter_loaded | Contador de evidências carrega | total_validadas, total_publicadas | Total de evidências validadas |
chat_open | Abertura do chat conversacional | — | Uso do canal de chat |
Valores possíveis de categoria: perfil_social, influencer, telegram, artigo_patrocinado, banner_pt, banner_intl, pesquisa, afiliado, outro. Multi-escolha — vêm separadas por vírgula.
O chat dispara os mesmos eventos do funil (evidence_submit, evidence_submit_success, evidence_submit_error) com o parâmetro extra channel: "chat", para distinguir do formulário.
| Evento | Quando dispara | Parâmetros | Para que serve |
|---|---|---|---|
verifier_use | Usa o verificador SRIJ | verifier (topo/principal), query | Procura de marcas |
verifier_result | Resultado mostrado | verifier, query, result (regulada/nao_regulada) | Que marcas as pessoas verificam |
licensed_operator_click | Clique num operador licenciado | operator, link_url | Interesse em alternativas legais |
illegal_casino_click | Clique num cartão de casa ilegal | operator, link_url | Interesse na lista de ilegais |
responsible_gambling_click | Clique em recurso de jogo responsável | resource, link_text | Jogar em Segurança, autoexclusão, autoavaliação |
srij_click | Clique para o site/lista do SRIJ | link_url, link_text | Encaminhamento para a fonte oficial |
apajo_click | Clique para a APAJO | link_url, link_text | Tráfego institucional |
complaint_portal_click | Clique para o Portal da Queixa | link_url, link_text | Encaminhamento de queixas |
| Evento | Quando dispara | Parâmetros | Para que serve |
|---|---|---|---|
instagram_click | Clique em qualquer link do Instagram | link_url, link_text, location | Tráfego para o perfil / DM de evidências |
outbound_click | Clique em qualquer link externo não classificado | link_url, domain, link_text, location | Saídas gerais |
phone_click | Clique num número (tel:) | number | Contactos por telefone |
email_click | Clique num email (mailto:) | email | Contactos por email |
associate_redirect_start | Abre o ecrã de 5s ao clicar num operador licenciado | operator, link_url | Intenção de visitar casa legal |
associate_redirect_go | Confirma e segue para a casa (após contagem ou "Ir agora") | link_url | Redirecionamentos concluídos |
associate_redirect_cancel | Cancela o redirecionamento | — | Abandono no ecrã intermédio |
Os associate_redirect_* são disparados pelo ecrã intermédio de jogo responsável (5 s) ao clicar num operador licenciado (logos APAJO, lista das 17 entidades e botão "Joga com diversão" do verificador).
vm_source: "var_mundial". A maioria dos cliques inclui location = id da secção onde ocorreu (ex.: validar, cacar, faq).| Parâmetro | Valor atual | Onde se altera |
|---|---|---|
| Container GTM | GTM-MDXFMS5W | src/routes/__root.tsx (script + noscript) |
| Domínio do site | var-mundial.com | __root.tsx, sitemap[.]xml.ts, robots.txt, <head> de var.html |
| Marcos de scroll | [25, 50, 75, 100] | var.html · bloco analytics (marks) |
| Marcos de tempo | [30, 60, 120, 300] s | var.html · bloco analytics |
| Limite de tamanho de ficheiro | 25 MB | Formulário (var.html) + API (submit-evidence.ts, MAX_FILE_BYTES) |
| Tipos de ficheiro aceites | imagem, vídeo, PDF | submit-evidence.ts (ALLOWED_MIME) |
| Contador mostra… | nº de evidências validadas (sem meta/objetivo definido) | Vista evidencias_contagem (SQL) + script do contador |
| Categorias de evidência | 9 categorias | Formulário + submit-evidence.ts + CHECK da tabela |
Limiar de section_view | 40% visível | var.html · IntersectionObserver threshold |
landing_view)scroll_depth)time_on_page)section_view)faq_open)evidence_form_start → evidence_category_select → evidence_submit → evidence_submit_successhas_file)counter_loaded)evidence_validation_error / evidence_submit_errorverifier_result)instagram_click)event (ex.: evidence_submit_success).categoria, percent, result, operator).evidence_submit_success como conversão em GA4.