Reddit Conversions API: rastreamento server-side de conversões para Reddit Ads
Como implementar a Reddit Conversions API server-side: eventos, match keys hasheadas, click_id, deduplicação com o Pixel e envio na conversão confirmada.
Neste artigo
Reddit como canal de performance e o desafio da mensuração#
O Reddit deixou de ser só um canal de topo de funil e virou uma mídia de performance viável, especialmente para produtos com comunidades engajadas. Mas a plataforma tem um público particularmente avesso a rastreamento: uso alto de bloqueadores, navegação em modo privado e ceticismo com scripts de terceiros. O Reddit Pixel no navegador, sozinho, perde uma fatia expressiva das conversões antes que elas cheguem ao Reddit. A Conversions API (CAPI) do Reddit envia o evento direto do seu servidor para a plataforma, recuperando conversões que o Pixel não veria e dando a você o controle de disparar o evento só quando a conversão é real.
Eventos do Reddit#
O Reddit organiza conversões em torno de eventos padronizados que a otimização entende:
Purchase— a compra concluída, com valor e moeda.AddToCart— item adicionado ao carrinho.Lead— lead gerado.SignUp— cadastro concluído.ViewContent,Search,AddToWishlist— sinais de funil.Custom— eventos personalizados quando os padrões não bastam.
O envelope de eventos da CAPI do Reddit carrega:
event_at— o timestamp da conversão.event_type— com otracking_type(o nome do evento padrão) e, para custom, um nome próprio.click_id— o Reddit Click ID quando disponível.user— as match keys.event_metadata— valor, moeda,item_count,products,conversion_id.
O conversion_id é o campo de deduplicação com o Pixel — guarde bem esse detalhe.
Match keys: identificando o usuário no Reddit#
O objeto user reúne os sinais de correspondência. Como nas demais plataformas, PII vai hasheada em SHA-256 após normalização; sinais de clique e contexto vão em claro.
Hasheados:
email— normalizado (minúsculas, sem espaços) e SHA-256.external_id— seu ID interno de cliente, hasheado. Sinal estável e valioso, sobretudo num público que fornece pouca PII.ip_address— em alguns formatos o Reddit aceita o IP hasheado; siga a especificação da versão que você usa.
Em claro / contexto:
click_id— o Reddit Click ID, capturado do parâmetrordt_cidda URL quando o usuário chega por um anúncio, e o cookie que o Pixel grava. É o sinal de correspondência mais forte. Persista em cookie first-party no primeiro toque.user_agent— o user-agent do navegador do cliente.screen_dimensionse outros sinais de contexto, quando disponíveis, reforçam o match.
O público do Reddit tende a compartilhar menos email, o que eleva a importância do click_id e do external_id. Capturar o rdt_cid no primeiro toque e persisti-lo é, muitas vezes, a diferença entre um evento atribuível e um evento cego.
Deduplicação com o Reddit Pixel#
Rodando Pixel e CAPI juntos para cobertura máxima, a deduplicação impede a contagem dupla. O Reddit deduplica pelo conversion_id. Regras:
- Gere o
conversion_idno servidor quando o pedido é criado; o ID do pedido serve. - Repasse esse mesmo
conversion_idao Pixel no navegador, para que os dois envios dePurchasecarreguem o valor idêntico. - Mantenha o mesmo
event_typenas duas pontas.
Recebendo dois Purchase com o mesmo conversion_id, o Reddit mantém um só. Sem isso, cada compra dobra e a métrica fica irreal.
O padrão da casa: enviar na conversão real#
O Pixel dispara Purchase na tela de sucesso — incluindo pagamentos que ainda falharão. Server-side, o evento sai do webhook do gateway:
- O usuário finaliza; o pedido nasce pendente e você já capturou
rdt_cid, email eexternal_id. - O gateway aprova e chama seu webhook.
- O handler valida a assinatura, confirma o pagamento e monta o
Purchasecom o valor real. - A chamada à CAPI sai com o
conversion_iddo pedido e as match keys.
O Reddit passa a otimizar para compradores reais. Num canal onde o custo de aquisição precisa ser vigiado de perto, mandar o evento só na conversão confirmada é o que evita que a plataforma persiga cliques que não viram receita.
Autenticação e operação#
A CAPI do Reddit é acessada via a API de anúncios, autenticada com um token da conta. Esse token é um segredo de servidor — nunca no cliente nem em bundle de frontend. A chamada parte do seu backend.
Para confiabilidade, o padrão de outbox:
- Outbox transacional. O webhook grava o evento numa fila persistente na mesma transação do pedido; um worker consome com retry e backoff, sem perder evento nem travar a resposta ao gateway.
- Idempotência. O
conversion_idestável garante que reprocessamentos deduplicam; marque o item como enviado com atualização atômica. - Batch. Agrupe eventos por chamada respeitando o teto da API.
- Erro honesto. Payload malformado é bug a corrigir; erro transitório é retry. Nunca engula; logue com
trace_ide alerte quando a taxa de falha subir.
Conversões offline#
O Reddit também aceita reportar conversões offline, casando email ou external_id do cliente com o público que interagiu com o anúncio. É útil para negócios cujo fechamento acontece fora do site — venda por telefone, contrato, loja física. O click_id costuma não estar disponível offline, então email e external_id sustentam o match; mais uma razão para capturar identidade de qualidade no atendimento.
O público do Reddit e o que isso exige da mensuração#
O Reddit tem um perfil de usuário que impõe cuidados específicos à mensuração. É um público técnico, cético com publicidade, que usa bloqueadores em proporção acima da média e navega frequentemente sem estar logado ou em modo privado. Três consequências diretas:
- O pixel perde mais que a média. A subcontagem client-side no Reddit tende a ser maior do que em redes de consumo massivo. O peso do server-side sobe proporcionalmente.
- PII é escassa. Muitos usuários do Reddit fornecem o mínimo de dados. Isso eleva a importância do
click_id(rdt_cid) e doexternal_idcomo âncoras de correspondência, já que o email nem sempre estará disponível ou será o real. - Contexto importa. O Reddit é organizado por comunidades (subreddits) com interesses muito específicos. A qualidade da conversão varia enormemente por comunidade e por criativo, o que torna a medição precisa por campanha essencial para cortar desperdício.
A conclusão prática: no Reddit, capturar e persistir o rdt_cid no primeiro toque não é opcional — é o elo que mais frequentemente sustenta a atribuição, porque os outros sinais são fracos.
Eventos de funil e a estratégia de sinais#
O Reddit otimiza melhor quando recebe sinais ao longo do funil, não só a compra. Vale instrumentar:
ViewContentem páginas de produto — mostra interesse específico.Search— quando o usuário busca no seu site, sinal de intenção.AddToCart— intenção forte antes da compra.LeadeSignUp— para modelos de captura de contato.Purchase— a conversão de receita, sempre no webhook de pagamento.
Os eventos de topo podem ir pelo pixel (baixo risco de dupla contagem porque não são receita) enquanto o Purchase vai server-side pela CAPI com o conversion_id estável. Essa divisão dá cobertura de funil sem inflar a métrica de receita.
Enriquecer o evento com valor e itens#
Para que o Reddit otimize por receita e não só por contagem, preencha o event_metadata:
valueecurrency— o valor real cobrado na moeda certa.item_count— a quantidade de itens.products— o detalhamento com IDs de produto, que ligam a conversão ao catálogo.conversion_id— o identificador que ancora deduplicação e idempotência.
Reportar valor muda o comportamento da otimização: em vez de buscar qualquer conversão, o algoritmo passa a favorecer usuários com maior probabilidade de gerar ticket alto. Num canal onde a qualidade do tráfego por comunidade varia tanto, otimizar por valor real é o que separa investimento eficiente de queima de verba.
Erros comuns#
- Não persistir o
rdt_cid. Sem o click id guardado, a maioria das conversões do Reddit fica sem âncora forte de match. - Depender só do email num público que não fornece email. Sempre inclua o
external_idquando houver usuário identificado. - Reportar
Purchasefora do webhook. Disparar na tela de sucesso conta pagamentos que vão falhar. - Somar pixel e CAPI da mesma compra. Sem o
conversion_idcompartilhado, a receita dobra.
Validação e monitoramento#
- Ferramenta de teste de eventos. O Events Manager do Reddit permite validar o formato e conferir quais campos de correspondência foram reconhecidos, sem sujar produção.
- Taxa de correspondência. Acompanhe a proporção de eventos casados. Baixa correspondência denuncia falta de
click_id, hashes inconsistentes ou ausência deexternal_id. - Reconciliação financeira. O total de
Purchasereportado deve bater, dentro de margem, com os pedidos pagos do período.
First-party data como resposta ao público avesso a rastreamento#
O Reddit é o exemplo perfeito de por que a estratégia de dados de primeira mão (first-party) é o futuro da mensuração. Num público que bloqueia scripts e fornece pouca PII espontaneamente, os dados que você mesmo coleta com consentimento — no cadastro, no checkout, no programa de fidelidade — tornam-se a fonte mais confiável de identidade para casar conversões.
Na prática, isso significa investir na captura consentida de email e na geração de um external_id estável para cada cliente, e usar esses sinais tanto no Reddit quanto nas demais plataformas. Quanto mais rica e limpa a sua base first-party, menos você depende de sinais de terceiros que o Reddit, por natureza, degrada. A CAPI é o canal; os dados de primeira mão são o combustível que faz a correspondência funcionar num ambiente hostil ao rastreamento tradicional.
Checklist de implementação#
- Eventos padrão (
Purchase,AddToCart,Lead,SignUp) com nomes corretos. rdt_cidcapturado no primeiro toque e persistido em cookie first-party.- Match keys (
email,external_id) hasheadas com normalização única. - User-agent do cliente enviado; IP conforme a especificação.
conversion_idestável compartilhado entre Pixel e CAPI.Purchasedisparado no webhook de pagamento aprovado.- Token de API tratado como segredo de servidor.
- Outbox com retry, idempotência e alerta.
- Conversões offline reportadas quando aplicável.
- Taxa de correspondência e reconciliação financeira monitoradas.
O Reddit recompensa quem respeita o comportamento do seu público: pouca PII, muito bloqueio, ceticismo com scripts. Server-side com click_id persistido, external_id estável e o evento disparado só na conversão real é o caminho para transformar um canal difícil de medir em uma fonte de receita atribuível.