Plataformas de anúncios e lojas online

Rastreamento de conversões com pagamento na entrega e checkouts externos

Rastreamento de conversões com pagamento na entrega: por que os pixels não enxergam pedidos COD e de checkouts externos, quando enviar a compra e como lidar com pedidos recusados.

·Atualizado em ·11 min de leitura·Pela equipe do ROASaurus

Principais conclusões
  • Os pixels do navegador não enxergam pedidos que terminam fora do checkout normal, como formulários de pagamento na entrega, checkouts externos, formulários de pedido e funis.
  • Um pedido com pagamento na entrega fica sem pagamento até o entregador receber o dinheiro, então uma configuração que envia as compras no momento do pagamento reporta o pedido tarde ou nunca.
  • O Meta rejeita eventos com horário do evento mais de 7 dias no passado, então a maioria das lojas com pagamento na entrega deve enviar a compra quando o pedido é criado ou confirmado.
  • Os pedidos recusados continuam no Ads Manager, então divida o seu ROAS de equilíbrio pela parcela de pedidos que são pagos.
  • No ROASaurus, escolha External / COD checkout em Store settings para enviar as compras do Shopify quando o pedido é criado.

Rastrear conversões com pagamento na entrega significa enviar cada compra para as suas plataformas de anúncios a partir do próprio pedido, no servidor, em vez de depender de um pixel do navegador em uma página de agradecimento. Os pedidos de apps de pagamento na entrega, checkouts externos, formulários de pedido e funis muitas vezes terminam fora do checkout normal, então o pixel não os enxerga ou os reporta no momento errado.

Este guia explica por que esses pedidos desaparecem e por que o status do pagamento importa. Ele compara três momentos para enviar a compra: quando o pedido é criado, quando é confirmado e quando é pago. Também aborda pedidos recusados e reembolsos, e como o ROASaurus lida com checkouts externos.

Por que os pixels não enxergam os pedidos com pagamento na entrega?

Um pixel do navegador reporta uma compra quando o comprador chega a uma página que o executa. Em geral, essa é a página de agradecimento do seu checkout. Todo caminho de pedido que pula essa página, ou a executa em outro domínio, perde o evento de compra ou o clique no anúncio que pertence a ele.

Caminho do pedidoOnde o pedido é concluídoO que dá errado com um pixel do navegador
App de formulário de pagamento na entregaUm formulário na página do produto; o app cria o pedidoO checkout da loja nunca roda, então o evento de compra dele nunca dispara
Checkout externoUm checkout executado por outro app, muitas vezes em outro domínioO seu pixel pode não carregar ali, e os cookies de clique no anúncio ficam no domínio da sua loja
Formulário de pedido ou pedido manualUm formulário, um chat ou uma ligação; a equipe registra o pedidoNão há sessão de navegador para um pixel enxergar
Funil com checkout próprioUm construtor de landing pages em um domínio próprioO clique no anúncio fica em um domínio e a compra em outro
Cada caminho cria um pedido real, mas nenhum deles executa a página de agradecimento normal com o clique no anúncio anexado.

O pedido em si nunca se perde. Ele vai parar na sua loja online ou na sua ferramenta de funil com um ID de pedido, um valor, um endereço de e-mail e, muitas vezes, um telefone. Por isso a correção confiável é enviar a compra a partir dos dados do pedido, via server-side, e levar o clique no anúncio junto até o pedido. Rastreamento server-side no Shopify explica o método geral. Este post trata dos pedidos que exigem cuidado extra.

Alguns apps de pagamento na entrega também disparam os próprios eventos de pixel. Se eles usam o mesmo pixel do seu rastreamento server-side, mas com um ID de evento diferente, a plataforma conta o pedido duas vezes. Desative esses eventos dos apps ou siga os passos para evitar a contagem em duplicidade.

Por que o status do pagamento importa

Um pagamento com cartão é capturado no checkout, então o pedido já está pago no momento em que existe. Um pedido com pagamento na entrega é diferente. O Shopify trata o pagamento na entrega como um método de pagamento manual, e esses pedidos ficam como Pagamento pendente até você marcá-los como pagos. Na prática, isso acontece depois que o entregador recebe o dinheiro, o que pode levar dias. Alguns pedidos nunca são pagos, porque o comprador recusa a encomenda ou não está em casa.

Muitas configurações de rastreamento enviam a compra quando o pedido é pago, porque para pedidos com cartão esse é o momento mais seguro. Para um pedido com pagamento na entrega, a mesma regra faz a compra chegar com dias de atraso ou nunca. O log abaixo mostra um caso típico em uma loja que envia as compras no momento do pagamento.

14 Oct 10:02 orders/create #4821 $50.00Pedido feito com pagamento na entrega, pagamento pendente
14 Oct 10:02 PurchaseNão enviado: esta loja envia as compras quando são pagas
16 Oct 09:40 #4821 shippedEncomenda entregue à transportadora
22 Oct 15:12 orders/paid #4821Marcado como pago depois que a transportadora repassou o dinheiro
22 Oct 15:12 Purchase event_time=14 OctRejeitado: o horário do evento tem mais de 7 dias
Exemplo: uma compra que espera o pagamento. Passam-se oito dias entre o pedido e o status de pago, e o Meta não aceita um horário de evento com mais de 7 dias no passado.

O WooCommerce funciona ao contrário. Ele coloca os pedidos com pagamento na entrega em Processando até o pagamento ser recebido, exceto os pedidos com produto para download, que vão para Em espera. Uma configuração que envia pedidos em Processando, portanto, os envia assim que são feitos. Confira qual status a sua plataforma dá a esses pedidos antes de decidir qualquer outra coisa.

Criado, confirmado ou pago: quando você deve enviar a compra?

Há três momentos para escolher. Cada um troca velocidade por precisão.

Envie a compra quando o pedido forAtraso típico após o pedidoInclui pedidos que nunca são pagosPrincipal risco
CriadoSegundosSim: recusas e pedidos falsosO Ads Manager mostra mais receita do que você recebe
Confirmado pela sua equipe, por telefone ou mensagemDe horas a um diaApenas recusasExige uma etapa de confirmação que possa disparar o evento
Pago ou entregueDe dias a semanasNãoTarde ou perdido: o clique no anúncio cai fora da janela de atribuição, ou o evento é rejeitado
Enviar na criação é rápido, mas conta pedidos que nunca são pagos. Enviar no pagamento é exato, mas tardio.

Por que eventos de compra tardios são um problema

As plataformas de anúncios só atribuem uma compra a um anúncio quando ela acontece dentro da janela de atribuição após o clique. Com uma configuração de atribuição de 7 dias de clique no Meta, uma compra conta para um anúncio até 7 dias após o clique. A Conversions API do Meta também recusa eventos cujo event_time está mais de 7 dias no passado e rejeita a requisição inteira quando um evento é antigo demais. Uma compra enviada no momento do pagamento tem, portanto, duas opções ruins:

  • Enviá-la com o horário do pedido. Se o pagamento veio mais de 7 dias depois, o Meta a rejeita.
  • Enviá-la com o horário do pagamento. O Meta a aceita, mas o clique no anúncio pode agora ter mais de 7 dias, então a compra não é creditada ao anúncio.

A velocidade também importa para a otimização. As campanhas que otimizam para compras aprendem com as compras que você envia. Um sinal que chega uma semana atrasado informa ao algoritmo sobre o público da semana passada.

Loja de exemplo: parcela dos pedidos com pagamento na entrega marcados como pagos
100%0%
02468101214
Dias após o pedido, números ilustrativos. Cerca de metade dos pedidos é paga até o dia 4. Depois de 7 dias, 28% ainda estão sem pagamento, incluindo os 18% que nunca são pagos.

Qual momento escolher

Para a maioria das lojas com pagamento na entrega, enviar na criação é o melhor padrão. O sinal é imediato, o clique ainda está dentro da janela e nada é rejeitado. O custo é que os pedidos recusados contam como compras no Ads Manager. Você corrige isso nas suas metas, como mostra a próxima seção.

Se a sua equipe confirma cada pedido por telefone ou mensagem antes de enviar, a confirmação é um bom meio-termo. Ela elimina os pedidos falsos e costuma acontecer em até um dia. Use-a quando o seu próprio sistema puder enviar a compra nesse momento, por exemplo por meio de uma API. Os pedidos falsos importam mais do que parece: se a plataforma de anúncios aprende com eles, ela procura mais pessoas que fazem pedidos e não pagam.

Como lidar com pedidos recusados, cancelamentos e reembolsos

Depois que uma compra é enviada, ela fica no Gerenciador de Anúncios. Uma encomenda recusada na porta não a remove. O ROASaurus também não envia reembolsos nem cancelamentos ao Meta, ao TikTok e à maioria das outras plataformas de anúncios, então a receita que elas reportam inclui pedidos que você nunca recebeu. Só os valores do Google Ads e do Microsoft Advertising podem ser corrigidos depois de um reembolso, quando as correções de valor estão ativadas. A solução é medir a sua taxa de recusa e ajustar os números com que você compara.

Aqui está um exemplo resolvido para um mês. Para simplificar, os preços são sem IVA.

LinhaValor
Pedidos enviados ao Meta na criação200 pedidos × $50 = $10,000
Recusados na porta (18%)36 pedidos, $1,800
Entregues e pagos164 pedidos, $8,200
Custo do produto dos pedidos entregues (30%)−$2,460
Frete de todas as 200 encomendas a $6−$1,200
Frete de devolução de 36 encomendas recusadas a $6−$216
Taxa de cobrança do dinheiro, $1.50 por pedido pago−$246
Manuseio, $1 por pedido−$200
Lucro bruto$3,878
As encomendas recusadas não trazem receita, mas ainda custam frete nos dois sentidos. Os produtos recusados voltam ao estoque, então o custo do produto deles não se perde.

Com $3,000 de investimento em anúncios, o mesmo mês parece muito diferente conforme a receita que você usa:

3.33ROAS no Ads Manager: $10,000 ÷ $3,000
2.73ROAS nos pedidos entregues: $8,200 ÷ $3,000
1.29POAS: $3,878 de lucro bruto ÷ $3,000

A taxa de margem bruta sobre a receita entregue é $3,878 ÷ $8,200 = 47.3%, então o ROAS de equilíbrio é 1 ÷ 0.473 = 2.11. Esse equilíbrio vale para a receita entregue. O Ads Manager também conta os pedidos recusados, então você precisa converter o número antes de comparar. ROAS de equilíbrio explica a fórmula básica.

Equilíbrio no Ads Manager=ROAS de equilíbrio ÷ taxa de pagamento
ROAS de equilíbrio
1 ÷ taxa de margem bruta, calculada apenas sobre os pedidos pagos.
Taxa de pagamento
A parcela de pedidos que são pagos, por exemplo 82% quando 18% são recusados.

2.114 ÷ 0.82 = 2.58. Uma campanha que mostra menos de 2.58 no Ads Manager dá prejuízo, mesmo que pareça bem acima de 2.11.

Você pode conferir o resultado diretamente. Os anúncios ficam no equilíbrio quando o investimento em anúncios é igual ao lucro bruto de $3,878, e $10,000 de receita reportada ÷ $3,878 = 2.58.

As taxas de recusa costumam variar por região, produto e campanha. Calcule-as por campanha quando tiver pedidos suficientes e use a calculadora de POAS para conferir o resultado sobre o lucro bruto.

Reembolsos e cancelamentos nos seus próprios números

No Shopify, cancelamentos e reembolsos chegam ao ROASaurus por webhook, então a análise de lucro desconta os reembolsos da receita. Você escolhe se os pedidos cancelados que nunca foram atendidos contam, e por padrão eles ficam de fora. Um pedido cancelado que já foi enviado continua contando, porque o frete dele ainda custou dinheiro. Para os pedidos recentes que ainda podem voltar, a configuração Predicted returns retém uma parcela esperada das vendas até chegarem os reembolsos reais.

Como o ROASaurus lida com o pagamento na entrega e com checkouts externos

Shopify

Cada loja Shopify tem um Checkout type em Store settings, com duas opções:

  • Shopify checkout: a compra é enviada quando o Shopify reporta o pedido como pago, por meio do webhook orders/paid.
  • External / COD checkout: a compra é enviada quando o pedido é criado, por meio do webhook orders/create. Use-o para pagamento na entrega e para checkouts externos, como CheckoutChamp ou Checkify, que criam eles mesmos o pedido do Shopify.

A configuração vale para todos os pedidos da loja. Os pedidos com cartão pagos no checkout são criados e pagos quase no mesmo instante, então a escolha muda principalmente o momento em que os pedidos sem pagamento são enviados. Cada pedido é enviado uma vez. Quando a atualização de pago de um pedido com pagamento na entrega chega depois, nenhuma segunda compra é enviada.

A compra usa os dados do próprio pedido: o valor, a moeda, os produtos e o e-mail, o telefone e o endereço do comprador, com hash antes de saírem. O ROASaurus associa o pedido ao clique no anúncio pelo ID de visitante que o seu script salva no carrinho. Quando um pedido não o traz, o ROASaurus tenta, nesta ordem: os tokens do carrinho e do checkout, o evento de compra do checkout, um e-mail que o visitante informou antes no seu site e o mesmo endereço IP e navegador pouco antes do pedido, quando exatamente um visitante se encaixa. A página de integração com o Shopify traz a configuração completa.

WooCommerce e outras lojas online

O plugin do WooCommerce envia um pedido assim que ele chega a Processando ou Concluído. Os pedidos com pagamento na entrega chegam a Processando quando são feitos, então são enviados na hora. Os pedidos por transferência bancária são enviados quando passam para Processando. Os outros conectores de loja online enviam um pedido nestes momentos:

  • Wix, Squarespace, Ecwid, Lightspeed, CCV Shop e Shopware: quando o status de pagamento do pedido é pago.
  • BigCommerce: quando o pedido chega a um status como Awaiting Fulfillment, Awaiting Shipment, Shipped ou Completed.
  • Magento: quando o estado do pedido é Processing ou Complete.
  • PrestaShop: quando o pedido é marcado como válido.
  • Webhook personalizado e API de pedidos: quando o seu próprio sistema envia o pedido.

Confira como a sua plataforma marca os pedidos com pagamento na entrega. Se eles ficam sem pagamento até a transportadora repassar o dinheiro, as compras deles chegam tarde.

Funis e o seu próprio checkout

  1. Adicione o script às páginas do funil

    Use a mesma chave de loja da sua loja online, para que um visitante mantenha um único ID de visitante nos dois domínios.

  2. Liste os seus domínios

    Em Store settings, adicione os domínios do funil e da loja em Linked domains. Os links entre esses domínios passam a levar o ID de visitante e os IDs de clique.

  3. Envie os pedidos pela API de pedidos

    Se o funil recebe o pedido por conta própria, envie cada pedido para /api/v1/orders com o cookie _tl como visitor_id. O seu sistema decide o momento: na criação, na confirmação ou no pagamento.

  4. Confira o Event log

    Quando chegarem os primeiros pedidos reais, abra o Event log e confira se cada um foi enviado a todas as plataformas conectadas.

Um pedido de um checkout de funil, enviado para a API de pedidos
POST /api/v1/orders
X-Roasaurus-Key: <store key>
Authorization: Bearer <API key>
Content-Type: application/json

{
  "order_id": "F-20931",
  "created_at": "2026-10-20T14:05:00Z",
  "total": 50.00,
  "currency": "USD",
  "email": "buyer@example.com",
  "phone": "+15555550123",
  "country": "US",
  "visitor_id": "<value of the _tl cookie>",
  "click_ids": { "fbc": "<_fbc cookie>", "fbp": "<_fbp cookie>" },
  "client_ip": "203.0.113.7",
  "user_agent": "Mozilla/5.0 ...",
  "items": [{ "variant_id": "SKU1", "quantity": 1, "price": 50.00 }]
}

A API de pedidos guarda a primeira cópia de cada ID de pedido. Se o seu sistema a chama na criação e de novo no pagamento, só a primeira chamada envia uma compra. Há mais detalhes em funis e vários domínios.

Erros comuns a evitar

  • Esperar pelo status de pago em uma loja com pagamento na entrega. As compras chegam uma semana atrasadas ou nem chegam, e os eventos tardios são rejeitados ou ficam fora da janela de atribuição.
  • Comparar o ROAS do Ads Manager com um equilíbrio calculado para pedidos pagos. Divida primeiro o equilíbrio pela sua taxa de pagamento.
  • Duas fontes para uma mesma compra. O pixel próprio de um app de formulário e os seus eventos de servidor contam o mesmo pedido duas vezes. Veja eventos de compra duplicados.
  • Perder o clique entre domínios. Um funil em outro domínio precisa do script e dos domínios vinculados, ou os pedidos dele chegam sem clique no anúncio.
  • Deixar os pedidos manuais de fora. Os pedidos por telefone e chat não têm sessão de navegador, mas ainda têm um endereço de e-mail ou um número de telefone. Enviados a partir dos dados do pedido, eles dão à plataforma de anúncios algo para associar.

Fontes

  1. Meta for Developers: Server Event Parameters
  2. Shopify: WebhookSubscriptionTopic (GraphQL Admin API)
  3. Shopify Help Center: Manual payment methods
  4. Shopify Help Center: Understanding your order statuses
  5. WooCommerce: Cash on Delivery documentation

No ROASaurus

Continue lendo

Plataformas de anúncios e lojas onlineRastreamento de conversões no CCV Shop: um guia de configuraçãoRastreamento de conversões no CCV Shop: envie pedidos pagos para o Meta e o TikTok com um webhook assinado, associe-os aos cliques em anúncios, configure, teste e lide com pagamentos tardios.Plataformas de anúncios e lojas onlineConversões otimizadas do Google Ads no ShopifyAs conversões otimizadas adicionam dados de clientes com hash às compras do Google Ads no Shopify. Como funcionam, como se diferenciam das importações offline e a configuração.Plataformas de anúncios e lojas onlineRastreamento de conversões no Lightspeed para lojas online eComRastreamento de conversões no Lightspeed eCom (C-Series): envie pedidos pagos para o Meta e o TikTok a partir do servidor, associe-os aos cliques em anúncios, configure e teste.
Perguntas frequentes

Perguntas respondidas

O Meta consegue rastrear pedidos com pagamento na entrega?

Sim, se a compra for enviada a partir dos dados do pedido no servidor. Um pixel do navegador muitas vezes não enxerga esses pedidos, porque muitos apps de pagamento na entrega e checkouts externos pulam a página de agradecimento normal.

Devo enviar a compra quando o pedido é criado ou quando é pago?

Para a maioria das lojas com pagamento na entrega, envie quando o pedido for criado ou confirmado. O pagamento pode levar mais de uma semana, e o Meta rejeita eventos com horário do evento mais de 7 dias no passado. Corrija os pedidos recusados nas suas metas de ROAS.

Os pedidos recusados com pagamento na entrega contam como compras no Ads Manager?

Sim. Uma compra que foi enviada continua no Ads Manager quando a encomenda é recusada. Divida o seu ROAS de equilíbrio pela parcela de pedidos que são pagos para obter o equilíbrio nos termos do Ads Manager.

Qual tipo de checkout devo escolher no ROASaurus?

No Shopify, escolha External / COD checkout para pagamento na entrega e para checkouts externos, como CheckoutChamp ou Checkify, que criam o pedido do Shopify. As compras passam então a ser enviadas quando o pedido é criado, e não quando é pago.

Como rastrear pedidos de um funil com checkout próprio?

Adicione o script do ROASaurus às páginas do funil, liste os domínios do funil e da loja em Linked domains e envie os pedidos do funil para a API de pedidos com o ID de visitante.

Cada venda, rastreada até o anúncio que a gerou

Rastreamento server-side, lucro e valor vitalício em um só app. 14 dias de teste grátis, sem cartão de crédito.

Comece seu teste grátis →