Rastreamento de conversões. Atribua cada real ao clique que o gerou.
Os receptores de webhook do Stripe e Shopify verificam assinaturas e vinculam a receita ao link curto de origem. A atribuição de campanha é derivada automaticamente.
- Atribuição server-side de Stripe e Shopify
- Passthrough de click_id - sem JS no cliente
- Receita por link, campanha, dia, plataforma
- Verificação automática de assinatura HMAC
Como funciona
O click_id percorre todo o funil
Um UUID é marcado no momento do clique e passa por cada etapa - parâmetro de URL, cookie de sessão, sessão Stripe, pedido Shopify - até o webhook disparar e fechar o ciclo de atribuição no lado do servidor. Nenhum JavaScript do cliente é necessário para a atribuição em si.
- Passo 01
Clique no link curto
elido.me/saleEdge marca um UUID v4
cid: a3f9c1… - Passo 02
click_id anexado
?elido_cid=a3f9c1…Parâmetro URL + cookie first-party
cid: a3f9c1… - Passo 03
O usuário converte
client_reference_id=a3f9c1…A sessão do Stripe carrega o click_id
cid: a3f9c1… - Passo 04
O webhook dispara
checkout.session.completedReceita atribuída ao link de origem
cid: a3f9c1…
Integrações
Receptores de webhook plug-and-play para Stripe e Shopify
Registre o endpoint no dashboard, cole o signing secret e a atribuição começa a fluir. A verificação de assinatura HMAC acontece antes de qualquer payload ser processado - webhooks falsificados são rejeitados antes de tocar nos seus dados.
Dashboard de receita
Receita por link, por campanha, por dia
Cada link curto tem um total de receita ao vivo - soma de todos os valores de conversão atribuíveis por esse link. Filtre por tag de campanha, intervalo de datas ou plataforma. Exporte como CSV ou faça stream para o BigQuery via exports agendados.
- Receita por linkValores de conversão somados, em qualquer moeda, na denominação original
- CVR ao longo do tempoSérie temporal da taxa de conversão ao lado do volume de cliques
- Encaminhamento para GA4 / Meta CAPIFan-out assíncrono após a conversão ser registrada
- DeduplicaçãoIdempotente em click_id + event_name - webhooks duplicados não contam em dobro
| Link | Cliques | Conv. | Receita | CVR |
|---|---|---|---|---|
| elido.me/bfcm | 18,420 | 847 | €76,280 | 4.6% |
| elido.me/sale | 11,034 | 512 | €41,430 | 4.6% |
| elido.me/nl/shop | 8,901 | 398 | €29,104 | 4.5% |
| elido.me/email-q2 | 6,201 | 201 | €14,872 | 3.2% |
| elido.me/ig-bio | 5,032 | 88 | €6,104 | 1.7% |
O que você pode fazer
- Stripe checkout.session.completed
- Stripe payment_intent.succeeded
- Shopify orders/paid
- Atribuição de campanha derivada do link
- Resumo de receita no painel
Como o rastreamento de conversões server-side funciona de ponta a ponta
Pixels client-side perdem de 20 a 40% das conversões devido a bloqueadores de anúncios, restrições de privacidade do iOS e cadeias de redirecionamento de checkout. A atribuição server-side elimina essa lacuna.
Cada clique recebe um UUID passado para o destino - a âncora de atribuição para correspondência de conversão
Quando um usuário clica em um link curto do Elido, a edge gera um click_id (UUID v4) e o anexa como um parâmetro de consulta (elido_cid) à URL de destino. Seu fluxo de checkout deve preservar esse parâmetro em cada página do funil - a maioria dos roteadores SPA e stacks de checkout renderizadas no servidor encaminham parâmetros de consulta desconhecidos por padrão, mas cadeias de checkout de várias etapas com redirecionamentos podem removê-los. O click_id também é armazenado em um cookie de sessão no domínio de destino se você incorporar o snippet de atribuição de 2 KB do Elido (opcional). Teste o fluxo de checkout completo antes de ir ao ar: clique em um link curto, conclua uma compra de teste e verifique se o elido_cid aparece no POST de conversão. Se não aparecer, adicione o encaminhamento de parâmetros de consulta no seu middleware de checkout. Essa é a falha de configuração de atribuição mais comum - não o webhook, mas a perda de parâmetros de consulta no checkout.
O receptor de webhook do Stripe verifica assinaturas e atribui os eventos checkout.session.completed e payment_intent.succeeded
Registre o endpoint de webhook do Stripe do Elido no seu painel do Stripe (Configurações → Webhooks → Adicionar endpoint). O Elido escuta os eventos checkout.session.completed e payment_intent.succeeded. Em cada evento, o Elido verifica o cabeçalho Stripe-Signature usando seu segredo de assinatura de webhook, extrai o valor do pagamento e a moeda, procura o click_id armazenado no client_reference_id da Sessão de Checkout (que seu checkout deve preencher - consulte o guia) e registra a conversão para aquele clique. A receita e o click_id ficam disponíveis na visualização de análise do link e no resumo de receita da campanha. O campo client_reference_id da Sessão de Checkout é a passagem recomendada; alternativamente, use o campo de metadados do Stripe com a chave elido_cid se estiver usando PaymentIntents diretamente. A configuração completa leva cerca de 30 minutos se a sua integração com o Stripe já lidar com webhooks.
O webhook orders/paid do Shopify vincula a receita do pedido ao clique no link curto de origem
Registre o endpoint de webhook do Shopify do Elido no seu administrador do Shopify (Configurações → Notificações → Webhooks → Criar webhook → Tópico: orders/paid). O Elido verifica o cabeçalho X-Shopify-Hmac-Sha256, extrai o total do pedido e a moeda, e procura o elido_cid nos note_attributes do pedido (você preenche isso a partir do carrinho usando a API note_attributes do carrinho do Shopify, passando o click_id do cookie de sessão ou parâmetro de URL). Para lojas Shopify que usam temas Online Store 2.0 temas, o snippet de atribuição do Elido injeta o click_id no carrinho automaticamente ao clicar. Os pedidos atribuídos são deduplicados pelo ID do pedido, para que pedidos reembolsados e substituídos não sejam contados duas vezes. Lojas Shopify Plus com extensões de checkout personalizadas podem passar o click_id por um canal mais confiável - o guia de configuração aborda o fluxo específico do Plus.
Envie um POST para o endpoint de conversão do Elido a partir de qualquer backend - não apenas Stripe e Shopify
Envie um POST /v1/conversions com um corpo JSON: { click_id: "...", event_name: "purchase", value: 99.00, currency: "EUR", metadata: {} }. O click_id é o elido_cid do clique. O Elido autentica a solicitação com a chave de API do seu workspace (HMAC-SHA256 sobre o corpo do payload é recomendado para maior segurança). Este endpoint cobre qualquer conversão não tratada pelas integrações nativas de Stripe ou Shopify: WooCommerce, ativações de teste de SaaS personalizadas, envios de formulários de leads, conversões de chamadas telefônicas rastreadas por sua plataforma de telefonia. O campo event_name é texto livre; use qualquer convenção de nomenclatura que sua equipe preferir - ele é exibido como está na visualização de análise. Idempotência: envie o mesmo POST com a combinação click_id + event_name duas vezes e apenas a primeira será registrada. O valor do evento e os metadados são mutáveis apenas na primeira gravação.
Distribua conversões para o GA4 Measurement Protocol, Meta CAPI e o server-track do Mixpanel simultaneamente
Depois que o Elido registra uma conversão para um clique, ele distribui o evento para quaisquer destinos de encaminhamento server-side que você tenha ativado: GA4 Measurement Protocol (o evento aparece no GA4 como um evento de compra server-side com os parâmetros UTM originais do clique), Meta Conversions API (o evento faz a deduplicação em relação ao pixel client-side se ambos estiverem disparando, usando o event_id do click_id) e Mixpanel server-track (o evento é enviado com o distinct_id da chamada $identify do Mixpanel se você configurou a identidade cruzada). O encaminhamento acontece de forma assíncrona após o registro da conversão - ele não bloqueia a resposta do webhook para o Stripe ou Shopify. Eventos de encaminhamento com falha são repetidos com backoff exponencial por 24 horas e, em seguida, descartados com uma entrada de log. Você pode ver o status do encaminhamento por conversão no painel.
Equipes de receita que usam o rastreamento de conversões do Elido
Os nomes são apenas ilustrativos - estudos de caso de clientes reais serão publicados aqui à medida que forem lançados.
“O iOS 14.5 acabou com a nossa atribuição do Meta Pixel em 30% das compras móveis. O webhook do Stripe server-side via Elido recuperou a maior parte - a passagem do click_id para o client_reference_id do Stripe foi a chave. A configuração levou uma tarde.”
“Enviamos ativações de teste via POST para o endpoint de conversão personalizado do Elido. A cadeia de conversão clique → teste → pago agora é rastreável de ponta a ponta sem um CDP completo. O encaminhamento para o GA4 Measurement Protocol significa que nossos painéis de canais pagos voltaram a ser precisos.”
“O webhook orders/paid do Shopify somado ao snippet de atribuição no tema foi uma integração de um dia. A receita por campanha agora é um número em tempo real no nosso standup matinal, não uma fórmula de planilha que alguém precisa atualizar.”
Rastreamento de conversões do Elido vs Bitly vs Short.io
O Bitly não possui rastreamento de conversões server-side. O Short.io tem pixels de conversão básicos. O rastreamento de conversões do Elido é server-side e encaminha para várias plataformas de anúncios.
| Feature | Elido | Bitly | Short.io |
|---|---|---|---|
| Atribuição de conversão server-side | Sim - baseada em webhook, com assinatura verificada | Não disponível | Não disponível |
| Integração de webhook do Stripe | checkout.session.completed + payment_intent.succeeded | Não disponível | Não disponível |
| Integração de webhook do Shopify | orders/paid - assinatura verificada, deduplicação de pedidos | Não disponível | Não disponível |
| Endpoint de conversão personalizado | POST /v1/conversions - qualquer backend, qualquer evento | Não disponível | Não disponível |
| Encaminhamento para GA4 / Meta CAPI | Sim - distribuído após o registro da conversão | Não disponível | Parcial - apenas pixel client-side |
| Receita nas análises | Resumo de receita por link e por campanha com moeda | Não disponível | Apenas contagem de conversão, sem receita |
| Deduplicação de conversão | Sim - idempotência em click_id + event_name | Não aplicável | Não disponível |
Dúvidas sobre rastreamento de conversões
E se o click_id for removido antes da conversão?
Se o parâmetro de consulta elido_cid for perdido antes do disparo do evento de conversão - devido a uma cadeia de redirecionamento, roteador SPA não encaminhando parâmetros de consulta ou checkout de terceiros removendo parâmetros desconhecidos - a conversão não poderá ser atribuída. Teste o funil completo: clique em um link curto, rastreie o elido_cid em cada página até a confirmação do checkout e verifique se ele aparece no POST de conversão. O snippet de atribuição do Elido (um pequeno bloco JavaScript) também define o click_id em um cookie primário (first-party) como backup - se o parâmetro da URL for perdido, mas o usuário ainda estiver na mesma sessão do navegador, a atribuição pode ser recuperada pelo cookie.
Como os reembolsos são tratados na atribuição de conversão?
O Elido não processa automaticamente eventos de reembolso. Se um evento charge.refunded do Stripe ou refunds/create do Shopify for disparado, o Elido não debita a receita atribuída. Você pode enviar um evento de conversão com valor negativo para o endpoint personalizado para reverter a atribuição manualmente. Um ouvinte de webhook de reembolso está no roteiro (roadmap). Até lá, se precisar de uma receita líquida precisa no Elido, subtraia os totais de reembolso usando os dados de exportação e seu sistema de gerenciamento de pedidos.
O rastreamento de conversão funciona se o usuário concluir o checkout em um dispositivo diferente?
Não - se o usuário clicar no link curto no celular, mas concluir o checkout no desktop, o click_id não é transferido entre dispositivos. A conversão não será atribuída, a menos que a sessão do usuário tenha preservado o elido_cid durante a troca de dispositivo (por exemplo, por meio de uma conta logada que o armazenou). Atribuição entre dispositivos exige um grafo de identidade server-side, que o Elido não fornece. Para precisão na atribuição entre dispositivos, use seu MMP ou CDP junto com as conversões server-side do Elido.
Quais moedas são suportadas para atribuição de receita?
Todos os códigos de moeda ISO 4217 são aceitos no campo value de um evento de conversão. A receita é armazenada na moeda original; o painel de análise mostra a receita na moeda de cada evento de conversão. Se você precisar de uma visualização consolidada em uma única moeda, exporte os eventos de conversão e faça a conversão no seu warehouse - o Elido não aplica taxas de câmbio (FX).
Como configuro a passagem do client_reference_id do Stripe?
Ao criar uma Sessão de Checkout do Stripe, defina o client_reference_id com o valor do parâmetro de URL elido_cid do clique de referência. Em JavaScript: const session = await stripe.checkout.sessions.create({ ..., client_reference_id: searchParams.get('elido_cid') }). O manipulador de webhook do Elido lê esse campo de checkout.session.completed. Se estiver usando PaymentIntents diretamente, use the campo metadata com a chave elido_cid. O guia de configuração em /docs/guides/conversion-tracking possui código para copiar e colar para Node, Python e Go.
Os dados de conversão estão incluídos nas exportações de análise?
Sim. Os eventos de conversão são armazenados em uma tabela separada (conversions) ao lado da tabela de eventos de clique (clicks). As exportações agendadas para S3, BigQuery ou Snowflake incluem ambas as tabelas. A chave de JOIN é click_id. Uma consulta SQL de referência que une cliques a conversões e calcula a receita por origem UTM da campanha está no guia de exportação.
Posso rastrear conversões que não geram receita, como preenchimento de formulários ou ativações de teste?
Sim - o endpoint de conversão personalizado aceita qualquer event_name e um valor opcional (defina como 0 para eventos sem receita). Use nomes de eventos como 'trial_started', 'demo_booked', 'form_submitted'. Eles aparecem na visualização de análise do link em 'Conversões' com o nome do evento como rótulo. Se você também encaminhar para o GA4, eles serão mapeados para eventos personalizados do GA4. As contagens de conversão (não apenas a receita) são visíveis por link e por campanha, independentemente do valor do evento.
Qual é a latência entre o recebimento do evento de conversão e a visibilidade na análise?
Do recebimento do webhook para o armazenamento de análise: normalmente menos de 5 segundos via o mesmo pipeline de fluxo de eventos que os eventos de clique. A atribuição (corresponder a conversão ao clique de origem) acontece de forma síncrona no recebimento do webhook - se o click_id for resolvido, a atribuição é imediata. O encaminhamento downstream para GA4 / Meta CAPI / Mixpanel é assíncrono e adiciona de 2 a 10 segundos. O número de receita na visualização de análise do painel é atualizado em até 30 segundos após o recebimento do evento de conversão.
Continue lendo
Análise de cliques - onde a receita de conversão aparece ao lado da contagem de cliques.
Dispare pixels do Meta CAPI e Google Ads no redirecionamento - o lado da aquisição do ciclo de conversão.
Atribuição de receita em nível de campanha - veja qual variante da campanha gerou mais receita.
Webhooks de saída assinados com HMAC do Elido - receba eventos de clique com atribuição de conversão em seus próprios sistemas.
Pronto para experimentar?
Comece no plano gratuito, faça o upgrade quando precisar de um domínio personalizado.