Plataformas de anúncios e lojas online

Tracking de conversões no CCV Shop: um guia de configuração

Tracking de conversões no CCV Shop: envie as encomendas pagas para a Meta e o TikTok com um webhook assinado, associe-as aos cliques em anúncios, configure, teste e trate os pagamentos tardios.

·Atualizado em ·10 min de leitura·Pela equipa da ROASaurus

Pontos-chave
  • O tracking de conversões no CCV Shop é mais completo quando cada encomenda paga é enviada a partir dos dados de encomenda do CCV, no servidor, com um snippet na página de sucesso da encomenda que liga a encomenda ao clique no anúncio.
  • Um clique em Create webhook faz com que o CCV Shop comunique cada encomenda no momento em que é marcada como paga, e cada envio tem de levar o token privado da sua loja.
  • As encomendas do CCV Shop não incluem o endereço IP do comprador, por isso o snippet da página de sucesso da encomenda conta mais no CCV Shop do que na maioria das plataformas.
  • A verificação de 5 minutos só analisa as encomendas criadas recentemente, por isso as encomendas pagas dias depois dependem do webhook: mantenha-o ativo.
  • A Meta rejeita eventos de servidor com mais de 7 dias após a criação da encomenda, por isso uma transferência bancária muito tardia não chega à Meta.

O tracking de conversões no CCV Shop consiste em reportar cada encomenda paga da sua loja online CCV Shop a plataformas de anúncios como a Meta e o TikTok, para que atribuam o mérito aos anúncios certos e otimizem com base em vendas reais. A forma mais completa é enviar cada compra a partir dos dados de encomenda do CCV, no servidor, e acrescentar um pequeno snippet à página de sucesso da encomenda que liga a encomenda ao clique no anúncio.

O CCV Shop é uma plataforma de lojas online alojada da empresa neerlandesa CCV, que afirma gerir 17,000 lojas online. Este guia explica como a ROASaurus se liga a ela, como as encomendas são associadas aos cliques em anúncios, o que chega à Meta e ao TikTok, a configuração, os testes e como funcionam os pagamentos tardios. Para a ideia geral, leia o que é o tracking server-side.

Como se liga a ROASaurus ao CCV Shop?

A ROASaurus usa três partes do CCV Shop, todas descritas na documentação da API do CCV:

Parte do CCV ShopPara que a ROASaurus a usa
REST API, com uma chave pública e uma chave secretaLê cada encomenda paga e as suas linhas de encomenda
Webhook para o evento orders.updated.ispaidO CCV reporta uma encomenda no momento em que o seu estado de pagamento muda
A página de sucesso da encomenda, com o Vertoshop.jsO snippet lê aí o ID da encomenda e associa a encomenda ao visitante
A API e o webhook entregam a encomenda. O snippet da página de sucesso associa-a ao clique no anúncio.
Encomenda marcada como pagaNo CCV Shop, depois do pagamento
WebhookO CCV envia o ID da encomenda, assinado com x-hash
ROASaurusLê a encomenda e as suas linhas com chamadas de API assinadas
Plataformas de anúnciosPurchase com o ID de evento order-58213
O percurso dos dados de cada encomenda paga. A ROASaurus verifica se a encomenda está paga antes de enviar seja o que for.

Porque é que os pixels do navegador falham as compras do CCV Shop?

Um pixel do navegador só reporta uma compra quando o navegador do comprador carrega a página de sucesso da encomenda e o script do pixel é executado. Várias situações comuns impedem isso:

  • O comprador paga por redirecionamento, por exemplo com iDEAL, e fecha o separador antes de a página de sucesso carregar.
  • Um bloqueador de anúncios ou uma definição de privacidade do navegador bloqueia o script do pixel.
  • O visitante recusa os cookies de marketing, pelo que o pixel não pode carregar.
  • A encomenda é paga mais tarde, por transferência bancária ou na entrega, quando não há nenhum navegador envolvido.

Em todos estes casos, o CCV Shop continua a marcar a encomenda como paga. A ROASaurus envia essa encomenda a partir do servidor, por isso a compra é reportada aconteça o que acontecer no navegador. O snippet da página de sucesso tem outra função: diz à ROASaurus a que visitante, e por isso a que clique no anúncio, a encomenda pertence.

O webhook de encomenda paga e a verificação de 5 minutos

O que faz o Create webhook

Quando prime Create webhook, a ROASaurus regista um webhook do CCV para o evento orders.updated.ispaid, que o CCV aciona quando o campo paid de uma encomenda muda. O endereço é o URL de webhook da sua loja na ROASaurus, que contém a chave da sua loja e um token privado. O CCV não acrescenta a um webhook nada que identifique a loja, e a sua documentação aconselha a colocar um identificador no endereço. A chave da loja faz isso.

O CCV dá a cada webhook a sua própria chave secreta de 32 caracteres. Quando o CCV devolve essa chave, a ROASaurus guarda-a e, a partir daí, cada envio tem de trazer um cabeçalho x-hash válido. Cada envio tem também de trazer o token da sua loja. Quando a ROASaurus recebe um envio, ignora as encomendas que não estão pagas, lê a encomenda completa e as suas linhas através da API e só envia a encomenda quando o CCV diz que está paga.

Chamadas de API assinadas

O CCV exige que cada chamada de API seja assinada. A ROASaurus envia três cabeçalhos: x-public com a sua chave pública, x-date com a hora atual e x-hash. O CCV rejeita um carimbo de data/hora que difira mais de 5 minutos da hora do seu servidor. A sua chave secreta nunca é enviada.

Como o CCV Shop assina os pedidos
API call (ROASaurus → CCV)
x-hash = HMAC-SHA512( public_key|METHOD|uri|body|timestamp , secret_key )

Webhook (CCV → ROASaurus)
x-hash = HMAC-SHA512( address|payload , webhook_key )

A verificação de 5 minutos

A cada 5 minutos, a ROASaurus pede também ao CCV as encomendas pagas criadas desde a última verificação, com 30 minutos de sobreposição, e regista as que ainda não tem. O CCV só filtra as encomendas pela data de criação. Assim, a verificação encontra as encomendas que são pagas pouco depois de feitas, e uma encomenda paga dias depois chega à ROASaurus apenas pelo webhook.

O CCV considera sucesso uma resposta 200, 201, 202 ou 204. Mantém um envio em aberto e volta a tentá-lo na ocorrência seguinte após uma resposta 307, 408, 503 ou 504, e marca qualquer outra resposta como falhada. Espera 2 segundos por uma ligação e 5 segundos pela resposta.

Como é que uma encomenda do CCV Shop fica associada ao clique no anúncio?

Para atribuir o mérito a um anúncio, a plataforma precisa dos identificadores de clique do visitante que fez a encomenda, como o ID de clique da Meta (fbc) e o ID de clique do TikTok (ttclid). O script da ROASaurus guarda-os para cada visitante quando chega a partir de um anúncio. A ROASaurus não obtém esse ID de visitante a partir da encomenda do CCV, por isso associa as encomendas aos visitantes por outras vias:

MétodoNo CCV ShopComo funciona
1. Snippet da página de sucesso da encomendaSimLê o ID da encomenda com Vertoshop.getOrder().getId(), mais o total da encomenda e a moeda, e dispara uma compra da ROASaurus com o ID de evento order-58213
2. Email anteriorSimUm email com hash que o visitante indicou antes no seu site, num formulário em popup ou através de uma chamada Identify
3. Endereço IP e navegadorNãoAs encomendas do CCV Shop não incluem o endereço IP nem o navegador do comprador, por isso esta alternativa não tem nada para comparar
Na maioria das outras plataformas, a alternativa do IP apanha algumas encomendas que o snippet falha. No CCV Shop não consegue, por isso adicione o snippet.

A ROASaurus espera um pouco antes de enviar cada compra, para que o evento da página de sucesso possa chegar primeiro, e volta a tentar a associação no momento do envio. A página Orders mostra o resultado por encomenda na coluna Matched by: thank_you, email ou not matched.

Uma encomenda que não fica associada segue na mesma para as suas plataformas de anúncios com os dados do cliente com hash da encomenda. Não tem identificadores de clique e, como as encomendas do CCV não trazem endereço IP nem navegador, também não tem nada disso. Isso reduz a percentagem de eventos que a Meta consegue associar a uma pessoa; o artigo Event Match Quality explica como a Meta pontua isto. Na atribuição da ROASaurus, uma encomenda sem associação aparece como direta ou desconhecida.

O que chega à Meta e ao TikTok a partir de uma encomenda do CCV?

Dados da encomenda do CCVEnviado como
idO ID de evento order-58213 e o ID da encomenda
total_price, currencyValor e moeda (EUR quando o CCV não indica moeda)
create_dateA hora do evento
Email, telemóvel ou número de telefone, nome e apelido do clienteCom hash SHA-256
Cidade, código postal e código do país de faturaçãoCom hash SHA-256
ID do clienteID externo com hash
Linhas da encomenda: número do produto, ID do produto, quantidade, preço e nomeProdutos com ID, quantidade e preço
Endereço IP e navegadorNão consta das encomendas do CCV: obtido a partir do evento da página de sucesso ou do visitante associado
O que a ROASaurus lê de cada encomenda do CCV Shop e como aparece no evento de servidor.

A Meta recebe um Purchase através da sua Conversions API e o TikTok um CompletePayment através da sua Events API, ambos com o ID de evento order-58213. O TikTok mostra agora o CompletePayment como Purchase nos seus relatórios. Quando assinala a opção de carregar também o pixel do navegador, o snippet da página de sucesso dispara os mesmos eventos no navegador com o mesmo ID de evento, e a Meta e o TikTok ficam com uma só cópia. As mesmas encomendas vão para o Snapchat, o Pinterest, o Reddit, o X, o Microsoft Ads, a Taboola, o LinkedIn e as outras plataformas de anúncios quando as ligar. As conversões de compra do Google Ads só são enviadas a partir do checkout do Shopify, por isso a ROASaurus não as envia a partir do CCV Shop.

Como configurar o tracking de conversões no CCV Shop

  1. Adicione a loja na ROASaurus

    Vá a Add a store, escolha CCV Shop e introduza o endereço da sua loja. O separador Connection mostra então a sua tag de script e o snippet da página de sucesso.

  2. Encontre as suas chaves de API

    No CCV Shop, vá a My webshop › Settings › General › API settings e clique em New API key. Se não vir esta opção, instale primeiro a app de API na CCV App Store.

  3. Adicione o script a todas as páginas

    Cole a tag de script no Header HTML da sua loja. O centro de ajuda do CCV indica-o em Mijn webshop › Instellingen › Lay-out › Layout, no fundo da página. Um bloco de código de app no cabeçalho também funciona.

  4. Adicione o snippet à página de sucesso

    Vá a Mijn webshop › Instellingen › Algemeen › Teksten, abra o texto mostrado depois de a encomenda ser feita, mude para Source e cole aí o snippet. O CCV Shop executa-o então na página de confirmação da encomenda.

  5. Ligue a API

    No separador Connection, introduza a chave pública e a chave secreta. Preencha o Shop URL só quando a sua API estiver noutro domínio que não o da sua loja. Guarde, prima Test connection e depois Create webhook.

  6. Ligue as suas plataformas de anúncios

    Em Tracking & platforms, use Connect with Facebook ou Add pixel para a Meta e Add pixel para o TikTok. Assinale a opção de carregar também o pixel do navegador.

Consentimento

Fora do Shopify, o script da ROASaurus lê a escolha do visitante a partir de ferramentas de consentimento comuns: Cookiebot, OneTrust, banners IAB TCF e Google consent mode. Com outro banner de cookies, chame tlq('consent', true) quando o visitante aceitar os cookies de marketing e tlq('consent', false) quando os recusar. Enquanto o visitante não aceitar, não tem ID de visitante nem IDs de clique e nenhum pixel do navegador dispara. A encomenda paga continua a ser enviada a partir do servidor, com dados do cliente com hash a partir da encomenda. A página de ajuda sobre consentimento explica os detalhes.

Como se testa o tracking de conversões no CCV Shop?

  • Abra a sua loja com ?roasaurus=connected no endereço. Um alerta confirma que o script está a funcionar. O ?roasaurus=debug regista na consola do navegador o que envia.
  • No Event log, em Collected events, as visualizações de página devem mostrar um ID de visitante.
  • Faça uma encomenda e pague-a, ou marque-a como paga. Em Collected events, o Event log deve mostrar um Purchase com o ID da encomenda do CCV nos seus dados. Se não aparecer, o snippet da página de sucesso não foi executado.
  • No separador Connection, o Last order received mostra a encomenda e o Last sync a última verificação de 5 minutos, com qualquer erro do CCV.
  • Em Server deliveries no Event log, cada plataforma ligada tem uma linha com o estado sent e a resposta da plataforma.
PageView visitor 51c0e9a7Script em todas as páginas
Purchase order-58213Snippet da página de sucesso da encomenda
webhook orders.updated.ispaidAssinatura verificada, encomenda paga
Meta Purchase sentAssociada por thank_you
TikTok CompletePayment sentMesmo ID de evento, sem duplicados
Exemplo de uma encomenda de teste saudável. O Fetch orders now no separador Connection executa a verificação de 5 minutos de imediato.

Para ver o evento na Meta, cole o código de Events Manager › Test events no campo Test event code do seu pixel da Meta na ROASaurus e remova-o quando terminar.

Pagamentos tardios e outros limites

As transferências bancárias e o pagamento contra reembolso são pagos depois de a encomenda ser feita. Eis o que acontece a uma encomenda de exemplo paga por transferência bancária, a partir do dia em que é feita:

QuandoO que aconteceResultado
Dia 0, no checkoutA encomenda é criada, não pagaNão enviada: a verificação de 5 minutos só pede encomendas pagas
Dia 0, cerca de 35 minutos depoisA hora de criação da encomenda sai da janela da verificaçãoA partir daqui, só o webhook a pode reportar
Dia 3Marca a encomenda como pagaO webhook chega, a ROASaurus envia-a. A hora do evento, Dia 0, tem 3 dias: a Meta aceita-a
Dia 9, em vez dissoMarca a encomenda como pagaO webhook chega, a ROASaurus envia-a. 9 dias é mais de 7: a Meta rejeita-a
Cronologia ilustrativa. A hora do evento é a data de criação da encomenda, e a Meta aceita eventos de servidor até 7 dias após a hora do evento.
  • Pagamento contra reembolso. A ROASaurus envia estas encomendas quando o CCV as marca como pagas, normalmente depois da entrega. Veja o tracking do pagamento contra reembolso para saber quando contar essas encomendas.
  • Compras no navegador antes do pagamento. O snippet da página de sucesso é executado quando a encomenda é feita, por isso os pixels do navegador reportam uma encomenda por transferência bancária antes de ser paga. Se o pagamento chegar mais de 48 horas depois, a Meta e o TikTok não conseguem juntar as cópias do navegador e do servidor.
  • Sem alternativa por IP. Adicione o snippet da página de sucesso e, sempre que puder, capte os emails mais cedo no seu site.
  • Os cancelamentos e reembolsos não são enviados. Depois de enviada, uma compra fica na plataforma de anúncios.
  • Só visualizações de página, sem código. As visualizações de produto e as adições ao carrinho são detetadas automaticamente apenas no Shopify. No CCV Shop, um programador pode enviá-las com uma chamada de track tlq.

A página da integração com o CCV Shop reúne num só local os dados da ligação, e a página de ajuda para outras lojas online compara o CCV Shop com as outras plataformas a que a ROASaurus se liga, como o Lightspeed.

Fontes

  1. CCV Shop: API Documentatie
  2. CCV: Webshop API
  3. Meta for Developers: Server Event Parameters
  4. Meta for Developers: Handling Duplicate Pixel and Conversions API Events
  5. TikTok Ads Manager: About Event Deduplication

Na ROASaurus

Continue a ler

Plataformas de anúncios e lojas onlineTracking de conversões em pagamento contra reembolso e checkouts externosTracking de conversões em pagamento contra reembolso: porque é que os pixels falham as encomendas COD e de checkout externo, quando enviar a compra e como tratar as encomendas recusadas.Plataformas de anúncios e lojas onlineConversões avançadas do Google Ads no ShopifyAs conversões avançadas acrescentam dados de clientes com hash às compras do Google Ads no Shopify. Veja como funcionam, em que diferem das importações offline e como configurar.Plataformas de anúncios e lojas onlineTracking de conversões do Lightspeed para lojas online eComTracking de conversões do Lightspeed eCom (C-Series): envie as encomendas pagas para a Meta e o TikTok a partir do servidor, associe-as aos cliques em anúncios, configure e teste.
FAQ

Perguntas e respostas

Onde encontro as chaves de API do CCV Shop?

Em My webshop › Settings › General › API settings. Se essa página não existir, instale primeiro a app de API na CCV App Store.

O que faz o snippet da página de sucesso da encomenda?

Lê o ID da encomenda com Vertoshop.getOrder().getId(), mais o total da encomenda e a moeda, e dispara a compra da ROASaurus com esse ID. A ROASaurus usa-o para associar a encomenda ao visitante e ao seu clique no anúncio.

Porque é que a ROASaurus não consegue associar as encomendas do CCV pelo endereço IP?

As encomendas do CCV Shop não incluem o endereço IP nem o navegador do comprador. Sem o snippet ou um email que o visitante tenha indicado antes no site, uma encomenda fica sem associação.

As encomendas pagas dias depois continuam a ser enviadas?

Sim, através do webhook de encomenda paga. A verificação de 5 minutos só analisa as encomendas criadas recentemente, por isso mantenha o webhook ativo. A Meta rejeita eventos com mais de 7 dias após a criação da encomenda.

Como é que a ROASaurus usa a minha chave secreta do CCV Shop?

A ROASaurus guarda a chave secreta cifrada e usa-a apenas para assinar cada chamada de API com HMAC-SHA512, como o CCV exige. A chave em si nunca é enviada ao CCV, apenas a assinatura.

Cada venda, associada ao anúncio que a gerou

Tracking server-side, lucro e valor vitalício do cliente numa só app. Teste gratuito de 14 dias, sem cartão de crédito.

Comece o seu teste gratuito →