first_touch: o primeiro ponto que registra a sessão vence, e uma abertura
posterior não reescreve sua origem.
Essa regra impede que reloads, compartilhamentos e novos redirects troquem a
campanha depois que a tentativa de compra começou.
Pontos de captura
O primeiro registro é protegido contra concorrência. Se duas requests tentarem
capturar a mesma sessão quase ao mesmo tempo, apenas uma ocupa o snapshot.
Exemplos práticos
Payment Link com UTMs
O clique no link cria a sessão e registrapayment_link_redirect. Quando a
página hospedada abre segundos depois, checkout_session_open não substitui a
campanha.
Sessão criada com atribuição no backend
O create registracheckout_session_create. Mesmo que a URL aberta depois
contenha outra utm_source, o snapshot enviado pelo backend continua valendo.
Sessão criada sem atribuição
A primeira abertura registracheckout_session_open. Se essa URL não tiver
UTMs ou identificadores de clique, a origem pública pode ser direct. Uma nova
abertura com campanha não reclassifica a sessão.
Como a origem pública é calculada
O camposource segue esta ordem:
utm_source, normalizada em minúsculas;meta, quando existemfbclid,fbcoufbp;google, quando existemgclid,gbraidouwbraid;tiktok, quando existettclid;microsoft, quando existemsclkid;direct, quando nenhum sinal anterior existe.
marketing_attribution.utm.
O campo source é uma classificação pronta para leitura e agrupamento.
O que permanece imutável
Depois da captura, a sessão mantém:- o ponto e o horário da captura;
- UTMs e identificadores de clique;
fbcefbp, quando disponíveis;- landing page e referrer sanitizados;
- a origem calculada.
unpaid para paid, inclusive dias
depois em Pix e boleto. A aquisição não muda com ele: o pagamento continua
atribuído ao primeiro contexto daquela sessão.

