Pular para o conteúdo
Dericson Calari
Voltar ao blog
Capa do artigo: Trackeamento na Shopify: por que o evento de compra pode sumir no checkout

Trackeamento na Shopify: por que o evento de compra pode sumir no checkout

Entenda por que um Web Pixel da Shopify pode bloquear fetch/XHR para um endpoint same-origin no checkout. Veja como diagnosticar eventos e validar o caminho até a venda.

Foto de Dericson Calari

Publicado em10 min de leitura

A compra desapareceu no checkout da Shopify?

Receber page_viewed ou outros eventos da vitrine não prova que a compra chegou ao seu coletor. Os Web Pixels da Shopify executam em ambientes isolados, e o método e o destino da requisição fazem diferença. Em um teste publicado pela Stape em 19 de outubro de 2026, chamadas fetch e XHR do checkout para um endpoint no domínio da loja falharam com RestrictedUrlError, enquanto o envio para um subdomínio de coleta funcionou. Esse resultado orienta a investigação; não é uma regra universal nem um teste feito por mim na sua loja.

Imagine uma loja com 100 pedidos no painel da Shopify e um relatório de mídia com menos compras. A reação comum é abrir o gerenciador de anúncios e conferir a API de Conversões. Mas antes cabe perguntar: em que etapa o evento desapareceu? Uma visualização de produto capturada na vitrine não comprova que o checkout enviou a compra. E um Purchase recebido na plataforma não comprova que ele corresponde a um pedido real, único e com valor correto.

Este guia separa essas etapas, mostra como reproduzir uma falha com um pedido identificado e ajuda a decidir quando uma rota de coleta diferente faz sentido. O objetivo é trocar o diagnóstico “o pixel parece verde” por uma verificação que acompanha a venda de ponta a ponta.

Rastreamento e trackeamento são etapas diferentes

Rastreamento é coletar e armazenar a jornada na sua base própria. Trackeamento é informar às plataformas de tráfego os eventos e dados válidos que você decidiu compartilhar. A distinção evita procurar a falha na Meta ou no Google quando o evento nem chegou à sua estrutura.

“O rastreamento deixa a pessoa inteligente. O trackeamento deixa a plataforma inteligente.

Se o pedido existe na Shopify, mas o evento não entrou no coletor, investigue a coleta, o contexto do Web Pixel e o destino da requisição. Se o evento entrou na base, mas não aparece na plataforma, investigue o processamento, o mapeamento e a entrega à plataforma. A mesma diferença vale para qualquer fornecedor de servidor, gateway ou ferramenta de tags.

Infográfico: os cinco pontos de prova de uma compra

Infográfico com cinco etapas para diagnosticar compra Shopify: vitrine, checkout, transporte, base própria e plataforma

Infográfico com cinco etapas para diagnosticar compra Shopify: vitrine, checkout, transporte, base própria e plataforma

  • A — Etapa: Vitrine; Pergunta que precisa de prova: Houve eventos de navegação e carrinho?
  • B — Etapa: Checkout; Pergunta que precisa de prova: O Web Pixel recebeu checkout_completed?
  • C — Etapa: Transporte; Pergunta que precisa de prova: A requisição saiu do sandbox e alcançou o coletor?
  • D — Etapa: Base própria; Pergunta que precisa de prova: O pedido foi persistido e tratado contra duplicatas?
  • E — Etapa: Plataforma; Pergunta que precisa de prova: Meta ou Google recebeu valor, moeda e identificadores coerentes?

Fluxo visual: vitrine → checkout da Shopify → coletor → base própria → plataforma de tráfego. O quadro é um roteiro de diagnóstico, não uma afirmação de que toda loja usa exatamente esses componentes. O catálogo oficial da Shopify distingue page_viewed, checkout_started e checkout_completed. Não substitua um pelo outro apenas para fazer um relatório bater. Para testar compra, comece por um pedido concluído e pelo evento correspondente.

Por que a vitrine pode funcionar enquanto o checkout falha?

Na vitrine, um script do tema pode executar no contexto normal da página. Já os Web Pixels da Shopify recebem eventos por uma API e operam em sandbox. Extensões de app usam um ambiente strict baseado em web worker; pixels personalizados usam um lax sandbox em iframe. A documentação oficial avisa que recursos comuns do navegador podem se comportar de outra forma ou não funcionar nesse isolamento.

Há duas ideias que costumam ser misturadas. Same-origin descreve a combinação de protocolo, host e porta. Uma página em loja.exemplo.com e uma rota /coleta nesse mesmo host compartilham a origem do ponto de vista das URLs. Contexto de execução descreve de onde o código realmente tenta fazer a requisição. Uma URL no domínio da loja não faz o Web Pixel do checkout virar um script normal do tema.

A Shopify documenta a arquitetura dos sandboxes, mas não estabelece nessa página uma regra universal para o erro específico RestrictedUrlError. O experimento sobre esse erro foi da Stape, que testou métodos de envio e destinos. Tratar as fontes separadamente é importante: a documentação oficial explica o modelo; o teste do fornecedor mostra um comportamento observado em uma configuração.

O que o teste da Stape mostrou

No experimento publicado em 19/10/2026, um endpoint same-origin no domínio da loja e um subdomínio de coleta foram testados no checkout. O resultado reportado foi este:

  • Imagem GET — Endpoint no domínio da loja: Funcionou no teste; Subdomínio de coleta: Funcionou no teste
  • sendBeacon — Endpoint no domínio da loja: Funcionou no teste; Subdomínio de coleta: Funcionou no teste
  • fetch POST — Endpoint no domínio da loja: RestrictedUrlError; Subdomínio de coleta: Funcionou no teste
  • XHR POST — Endpoint no domínio da loja: RestrictedUrlError; Subdomínio de coleta: Funcionou no teste

“Algum evento chegou” não equivale a “todos os métodos funcionam”. Um pixel de imagem pode gerar sinais visíveis enquanto uma chamada programática usada para outro evento falha. No experimento, o erro ocorreu antes de fetch ou XHR alcançar o servidor. Se o coletor não recebeu nada, editar a tag da Meta que roda depois do coletor não resolve essa primeira falha.

O teste não diz que toda loja Shopify terá o mesmo resultado. Tipo de pixel, código, endpoint, consentimento, CORS, configurações e mudanças da plataforma precisam ser examinados na implementação concreta. Também não transforma o subdomínio em solução automática para pedidos ausentes por outras causas.

Exemplo: dois pedidos com sintomas parecidos e causas diferentes

Suponha que o pedido de teste #EXEMPLO-1042 foi concluído às 14h05. Na vitrine aparecem page_viewed e product_added_to_cart; o Web Pixel do checkout recebe checkout_completed. Ao fazer fetch para loja.exemplo.com/coleta, o console mostra RestrictedUrlError. O coletor não registra entrada e a base própria não possui o pedido. Nesse cenário ilustrativo, a primeira hipótese está no transporte entre os pontos B e C do infográfico. Ajustar o valor da compra na tag da Meta ainda não alcança a causa.

Agora suponha que o pedido #EXEMPLO-1043 chega ao coletor, aparece na base, mas a plataforma conta duas compras. O transporte funciona. A investigação passa para deduplicação, identificadores de evento e regras de envio. O mesmo sintoma superficial — contagem errada — exige uma correção diferente. Essas histórias são exemplos didáticos, não resultados de uma loja auditada por mim.

Por fim, se a Shopify registra o pedido e você não observa checkout_completed, antes de condenar o endpoint verifique se o pixel está configurado para receber esse evento e se as escolhas de privacidade permitem sua execução. Em regiões que exigem consentimento, a Shopify explica que callbacks de extensões de app são executados após a autorização; eventos anteriores podem ser reproduzidos depois. O teste precisa considerar esse contexto.

Como eu investigaria uma compra ausente

  1. Começaria por um pedido de teste identificado. Anotaria horário, ID, valor e moeda esperados, sem expor dados pessoais em prints ou logs públicos.
  2. Separaria vitrine e checkout. Testaria as duas etapas no mesmo fluxo, porque um evento da vitrine não comprova a coleta do checkout.
  3. Anotaria o tipo de Web Pixel. Extensão de app e pixel personalizado usam ambientes distintos; não presuma que uma observação vale igualmente para os dois.
  4. Olharia método, URL e erro. No ambiente de teste, conferiria se o envio usa imagem, sendBeacon, fetch ou XHR e se vai ao domínio da loja ou ao subdomínio. Procuraria RestrictedUrlError sem supor que todo erro de console tenha a mesma causa.
  5. Conferiria o recebimento no servidor. Se a requisição saiu, olharia resposta HTTP, CORS, parse e persistência. Se foi bloqueada antes de sair, não começaria pela tag de destino.
  6. Reconciliaria a venda. Compararia pedido, evento na base própria e envio à plataforma, usando identificadores estáveis e evitando Purchase duplicado.
  7. Repetiria com os cenários relevantes. Consentimento, desktop, celular e métodos usados de verdade pela estrutura podem alterar a conclusão. Um teste isolado traz uma pista; repetição traz confiança.

Uma tabela simples torna a evidência comparável:

  • #EXEMPLO-1042 — Evento Shopify: checkout_completed; Transporte: fetch para domínio da loja; erro; Coletor: Não recebeu; Base própria: Sem registro; Plataforma: Sem envio
  • #EXEMPLO-1043 — Evento Shopify: checkout_completed; Transporte: fetch para subdomínio; Coletor: Recebeu; Base própria: Uma compra; Plataforma: Uma compra

Essas linhas são hipotéticas. O valor da tabela é exigir uma evidência em cada coluna. Quando uma coluna fica vazia, você sabe onde continuar. Registre valor e moeda na conferência privada, mas não publique dados de comprador, tokens ou payloads integrais.

Quando considerar duas rotas de coleta

Se o teste demonstrar que o endpoint same-origin funciona na vitrine e fetch ou XHR falha no Web Pixel do checkout, vale avaliar uma rota específica para o checkout em um subdomínio de coleta, como no arranjo híbrido descrito pela Stape. A seleção da rota precisa ocorrer antes da requisição. Depois é necessário conferir DNS, CORS, recebimento, consentimento e o destino final do evento.

  • Vitrine — Rota possível: loja.exemplo.com/coleta; Destino final: Coletor → base própria → plataformas
  • Checkout — Rota possível: coleta.exemplo.com; Destino final: Coletor → base própria → plataformas

O desenho reúne duas entradas na mesma estrutura. Um HTTP 200 do subdomínio prova que uma chamada foi aceita; ainda é preciso conferir que a venda foi persistida corretamente e enviada uma única vez. Antes de mudar uma operação publicada, documente o estado atual, teste em ambiente apropriado e mantenha caminho de reversão.

Também não basta trocar a URL para perseguir uma suposta melhora de atribuição. No sandbox, cookies e contexto podem diferir dos da vitrine. O que importa é verificar quais identificadores realmente acompanham o evento, quais podem ser associados ao pedido e o que é permitido pelo consentimento do comprador.

Minha regra de decisão é simples: o relato da Stape vira uma hipótese, não uma ordem de migração. Se o pedido existe, o evento chega à base e a plataforma recebe uma compra coerente, há pouco motivo para alterar a rota só por tendência. Se uma lacuna aparece repetidamente no mesmo ponto, corrija aquela etapa, repita o teste e compare os resultados. É assim que a operação deixa de depender de uma “nota do pixel” e passa a saber explicar cada compra.

Perguntas frequentes

Se o PageView chega, a compra está sendo medida?

Não necessariamente. page_viewed e checkout_completed são eventos diferentes e podem usar contextos e métodos distintos. Valide a compra a partir de um pedido concluído até o coletor, a base e a plataforma.

RestrictedUrlError significa que meu servidor caiu?

Não por si só. No teste da Stape, o erro ocorreu antes de fetch ou XHR sair do ambiente do Web Pixel. Confira método, URL e logs antes de atribuir a falha ao servidor.

Toda loja Shopify precisa de um subdomínio para o checkout?

Não é possível concluir isso do teste de um fornecedor. O subdomínio é alternativa para o cenário em que o método usado no checkout é bloqueado na rota same-origin e funciona na rota alternativa.

Qual evento padrão representa uma compra concluída?

A Shopify descreve checkout_completed como o evento de conclusão da compra. A confirmação operacional exige conciliá-lo com o pedido e com o envio realizado depois pela sua estrutura.

A falha é de rastreamento ou de trackeamento?

Se o evento não chega à sua base, há primeiro uma lacuna no rastreamento. Quando ele está na base, mas não chega corretamente à Meta ou ao Google, investigue o trackeamento. São etapas ligadas, mas exigem provas diferentes.

Fontes e limite da análise

O comportamento de RestrictedUrlError e a comparação de métodos vêm do teste da Stape. Não são medições da minha operação nem regra universal afirmada pela documentação da Shopify. O diagnóstico de uma loja específica depende de pedidos e logs próprios.

4
Compartilhar:

Continue lendo

Transforme dados em resultados

Rastreamento de campanhas WhatsApp, Meta Ads e Google Ads com dashboards em tempo real.

Conhecer

// Players gigantes recomendam

Empresas e perfis que já confiaram no nosso trabalho

Natalia Beauty
Pablo Marçal
Kayky
Samer Agi
Raiam Santos
Vini do To Solto
Talita Dalbo
Mari RVABO
E-commerce na Prática
Nuvemshop
Chico Salgado
Dicas do Padrinho
Patricia Yagopian

O Rastracking100 já realizou projetos de trackeamento e rastreamento para diferentes mercados, com cases envolvendo Pablo Marçal, Nuvemshop, E-commerce na Prática, Natalia Beauty e outros perfis de alta performance.