SynchroPixel

Snippet de captura no checkout, janela de pareamento de 7 dias e como o servidor casa visita com webhook de venda para enriquecer eventos do CAPI.

Capture os parâmetros de atribuição (fbclid, gclid, ttclid, _fbp, _fbc) que os webhooks de plataforma não trazem, garantindo que seu CAPI envie eventos com origem completa para Meta, Google e TikTok.


Visão geral

Quando uma venda acontece no seu checkout — não importa a plataforma de checkout ou o gateway de pagamento —, o webhook que chega ao Synchro Hub contém os dados financeiros e do comprador, mas não inclui os parâmetros de atribuição que a Meta, Google e TikTok precisam para casar a venda com o anúncio que a originou:

  • fbclid — clique vindo de anúncio Meta.
  • gclid — clique vindo de anúncio Google.
  • ttclid — clique vindo de anúncio TikTok.
  • _fbp / _fbc — cookies de browser fingerprint da Meta.

Sem isso, o CAPI envia eventos “anônimos” — o ad network sabe que houve uma compra, mas não sabe qual clique levou a ela. A IA de otimização perde a metade mais importante do sinal.

O SynchroPixel resolve isso colocando uma camada de captura no seu próprio checkout (página de venda, página de obrigado, ou qualquer ponto que você quiser instrumentar). O snippet JavaScript:

  1. Lê os parâmetros de atribuição da URL e dos cookies do navegador.
  2. Envia esses dados para o servidor do Synchro Hub.
  3. Quando a venda chega via webhook, o Synchro Hub casa automaticamente venda + atribuição (janela de 7 dias).
  4. O CAPI passa a enviar eventos completos — venda + clique de origem — para os ad networks.

Tela de configuração do SynchroPixel


Por que existe

Os webhooks das plataformas de checkout e gateways de pagamento foram desenhados antes do CAPI ser uma necessidade prática. Eles enviam dados de transação (preço, comprador, status), mas não os identificadores de atribuição publicitária. As plataformas não têm planos públicos de adicionar — algumas oferecem campos customizados, mas nenhuma garante captura confiável dos cinco parâmetros que importam.

A indústria adotou pixels próprios (Facebook Pixel, Google Tag, TikTok Pixel) — cada um disparando do navegador, dependendo de cookies, sujeito a bloqueios. O SynchroPixel não substitui esses pixels: complementa, garantindo que o servidor do Synchro Hub também tenha os dados de atribuição quando montar o evento CAPI.


Como funciona

1. Instalação do snippet

Em Configurações → Integrações → Synchro Pixel, você gera sua chave de API. O snippet aparece pronto para colar:

<script
  async
  src="https://connect.synchrohub.com.br/v1/pixel/synchro-pixel.js?k=px_live_..."
></script>

Cole no <head> das páginas que quiser instrumentar (checkout, obrigado, landing). Carregamento assíncrono, ~2KB — não afeta tempo de carregamento.

2. Captura no browser

O snippet, ao carregar:

  • fbclid, gclid, ttclid da URL.
  • _fbp e _fbc dos cookies (se existirem).
  • Envia tudo (junto com URL referrer e timestamp) para o endpoint do Synchro Hub.

3. Match servidor-side

Quando o webhook de venda chega, o Synchro Hub busca, na tabela de visitas dos últimos 7 dias, registros que batam com:

  • E-mail do comprador.
  • Sessão do navegador (cookie synchro_session_id).
  • IP + User Agent (heurística de fallback).

O melhor match vira a atribuição da venda.

4. CAPI completo

Eventos enviados via CAPI passam a incluir os parâmetros de atribuição. A IA do ad network volta a ter sinal completo.


Domínio personalizado para o pixel

Por padrão, o snippet aponta para connect.synchrohub.com.br. Você pode trocar para um subdomínio seu — por exemplo pixel.suaempresa.com — em Configurações → Domínio Personalizado.

Por que isso importa

  • Bloqueadores de anúncio e tracker são mais agressivos com domínios “de terceiros”. Listas como EasyPrivacy/uBlock bloqueiam dezenas de domínios conhecidos de tracking; um subdomínio do seu próprio site não está nessas listas. Resultado prático: mais eventos chegam ao Synchro Hub, mais matches, atribuição mais precisa.
  • Same-origin no navegador do seu cliente final. O DevTools mostra apenas o seu domínio — nenhuma referência a synchrohub.com.br aparece para o usuário do seu checkout.
  • Cookies first-party. Identificadores de sessão ficam sob o seu domínio, o que os torna mais persistentes (Safari ITP, Firefox ETP e similares aplicam regras mais permissivas a cookies first-party).
  • Sua marca, ponta a ponta. O snippet entregue ao cliente final mostra https://pixel.suaempresa.com/... em vez de um domínio do Synchro Hub.

Como configurar (resumo)

  1. Em Configurações → Domínio Personalizado, informe o subdomínio que você quer usar (ex.: pixel.suaempresa.com).
  2. Crie um registro CNAME no painel DNS do seu provedor (Registro.br, GoDaddy, etc.) apontando para o destino que mostramos na tela.
  3. Aguarde — em geral leva poucos minutos. Verificamos a cada 30 segundos e emitimos o certificado SSL automaticamente assim que a propagação termina.
  4. Pronto. A página do snippet em Configurações → Integrações → Synchro Pixel passa a mostrar o snippet já com o seu domínio. Cole no seu site e pronto.

Domínio raiz (ex.: suaempresa.com sem prefixo) não é suportado — use sempre um subdomínio.

O que acontece quando o certificado fica pronto

  • O snippet exibido na tela do pixel é atualizado automaticamente para usar https://pixel.suaempresa.com/....
  • Todas as chamadas que o pixel faz (captura de visita, identificação) passam pelo seu domínio — incluindo a URL interna que o JavaScript usa para enviar dados ao Synchro Hub.
  • Snippets que você já tinha colado com o domínio padrão continuam funcionando normalmente — não há nada para refazer no seu site se você não quiser. Mas, idealmente, atualize o snippet para que todo o tráfego do pixel passe pelo seu domínio.

Você pode desativar a qualquer momento

A qualquer momento você pode remover o domínio personalizado em Configurações → Domínio Personalizado → Remover hostname. Importante: ao remover:

  • O Synchro Hub deixa de responder no seu subdomínio. Qualquer snippet ou link que esteja apontando para pixel.suaempresa.com deixa de funcionar imediatamente.
  • Você precisa, antes de remover, trocar os snippets já instalados pelo snippet com o domínio padrão (connect.synchrohub.com.br) — caso contrário, os pixels nas suas páginas vão começar a falhar silenciosamente e você vai perder atribuição até corrigir.
  • O certificado SSL emitido é revogado, e o subdomínio pode ser reivindicado por outra conta no futuro.

A operação é reversível — você pode reativar o mesmo subdomínio depois — mas planeje a janela de troca com cuidado se já estiver em produção.

Múltiplos domínios na mesma conta de pagamento

Se a sua conta de pagamento administra vários workspaces (modelo agência), você pode usar subdomínios diferentes em workspaces diferentes da mesma raiz: pixel.empresaA.com no workspace 1, checkout.empresaA.com no workspace 2. O Synchro Hub respeita essa hierarquia automaticamente.

O que não é permitido: um subdomínio de uma conta de pagamento ser reivindicado por outra conta. Isso bloqueia takeover entre clientes.


Resiliência

A infraestrutura tem várias camadas de durabilidade:

  • Persistência primária em banco — toda visita é gravada antes de qualquer cache. Nada vive só em memória.
  • Cache de match com janela de 7 dias — pareamento rápido em tempo real; se o cache falhar, o sistema cai automaticamente no banco sem perder evento.
  • Fila com reentrega automática — se o envio para o ad network falhar (rede, indisponibilidade do ad network), o evento é republicado em até 1 minuto. Eventos não somem.

Pré-requisitos

  • CAPI já habilitado para pelo menos uma conta de anúncios.
  • Acesso ao código (ou ao gerenciador de tags) do seu checkout para colar o snippet.
  • Política de privacidade atualizada mencionando captura de parâmetros de atribuição (recomendado para LGPD).
  • Opcional: acesso ao painel DNS do seu domínio, caso queira usar um subdomínio personalizado.

API JavaScript (window.synchroPixel)

O snippet expõe uma única global com quatro métodos. Use no seu checkout para anexar a sessão de pixel ao pagamento criado no gateway (Stripe, Asaas, outros) — sem isso, PIX e Boleto perdem atribuição (o navegador do cliente já não existe quando o webhook chega).

// Sempre disponível depois que o snippet carregou

// 1. Session ID do visitante (UUID v7, cookie first-party de 90 dias)
window.synchroPixel.getSessionId()
// → "01912d68-783e-7c9a-b1f2-3d4e5f6a7b8c"

// 2. Metadata pronta para colar no `metadata` do gateway (Stripe/Asaas/etc.)
window.synchroPixel.getCheckoutMetadata()
// → { synchroSessionId: "...", fbclid: "...", gclid: "...", utmSource: "google", ... }
// Apenas chaves não-vazias são retornadas.

// 3. Decora uma URL de SAÍDA com a sessão (`sh_psid`) para preservar a atribuição
//    quando o cliente navega para OUTRO domínio (ex.: checkout hospedado).
//    Cliques em <a href> já são decorados automaticamente — use isto para links
//    ou redirecionamentos gerados via JavaScript. Mesmo domínio → retorna a URL intacta.
window.synchroPixel.decorate('https://checkout.exemplo.com/pay')
// → "https://checkout.exemplo.com/pay?sh_psid=01912d68-..."

// 4. Identificação OPT-IN: envie o e-mail/telefone que VOCÊ já coletou (com base
//    legal própria) para habilitar o match por e-mail no funil lead → compra.
//    O pixel NÃO lê formulários — esta é a única porta de PII, e é explícita.
window.synchroPixel.identify('cliente@exemplo.com', '+5511999999999')

Quando usar getCheckoutMetadata(): no clique de “Pagar” do seu checkout, antes de chamar a API do gateway. Veja exemplos prontos (Stripe Checkout, Payment Element, Asaas) na seção “Atribuição de ROI em PIX/Boleto” das integrações de Stripe e Asaas.

Sobre identify() e LGPD: você é o controlador dos dados que envia; envie e-mail/telefone apenas com base legal própria. O tratamento pelo Synchro Hub segue o mesmo ciclo de purge descrito nas Perguntas frequentes.

Fallback: se o usuário bloqueou o snippet por AdBlocker, window.synchroPixel fica undefined. Trate com ?.:

const meta = window.synchroPixel?.getCheckoutMetadata() ?? {}

Perguntas frequentes

Funciona com checkout transparente (no meu domínio)? Sim — esse é o cenário ideal, pois o pixel roda no mesmo domínio da venda e captura tudo sem cross-site. Combinado com domínio personalizado, é a configuração com a melhor taxa de captura possível.

Funciona com checkout hospedado na plataforma (ex.: pay.hotmart.com)? Funciona, mas a janela de match é menor — colando o snippet só na sua landing page você captura o clique de entrada; o checkout em outro domínio não é instrumentado. Mesmo assim, o match por e-mail + IP + User Agent costuma resolver a maioria das vendas.

Preciso usar domínio personalizado? Não. O snippet padrão funciona perfeitamente. O subdomínio personalizado é um upgrade opcional para fugir de bloqueadores e ganhar same-origin — quem trabalha com tráfego pago em escala costuma ver diferença significativa no volume de matches.

E LGPD / consentimento? Os parâmetros capturados (fbclid, gclid, ttclid, cookies _fb*) são identificadores publicitários. Boa prática: mencionar o tratamento na sua política de privacidade. O Synchro Hub não armazena dados em claro além do necessário e respeita o ciclo de purge da LGPD.

Substitui o Facebook Pixel / Google Tag / TikTok Pixel? Não. Mantenha os pixels do navegador também — o ad network deduplica entre os dois caminhos. Ter pixel + SynchroPixel + CAPI é o setup mais robusto.

Posso trocar de subdomínio depois? Pode. O processo é remover o atual + reivindicar o novo. Tenha cuidado com snippets já em produção — atualize-os antes de remover o domínio atual, ou eles param de funcionar até serem trocados.

Por que isso depende do Synchro Hub existir? Você poderia construir uma camada parecida sozinho — endpoint de captura, banco, match logic, servidor CAPI, gestão de domínios personalizados com SSL automático. Estimamos algumas semanas de engenharia. O SynchroPixel entrega tudo plug-and-play, integrado ao mesmo workspace que já tem suas vendas e suas integrações de anúncio.