Plataformas de anúncios e lojas online

TikTok Events API para Shopify: configuração e eliminação de duplicados

A TikTok Events API envia as compras do Shopify para o TikTok a partir do seu servidor. Conheça os eventos, o ttclid e o _ttp, a eliminação de duplicados com o event_id e os testes.

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

Pontos-chave
  • A Events API do TikTok envia eventos de conversão de um servidor para o TikTok, para que uma compra não dependa de o pixel do TikTok estar a correr no navegador do comprador.
  • O TikTok mudou o nome de CompletePayment para Purchase, mas continua a aceitar o nome antigo; para a eliminação de duplicados, o pixel e o servidor têm de usar o mesmo nome.
  • O TikTok elimina duplicados entre um evento do pixel e um evento do servidor quando ambos têm o mesmo nome de evento e o mesmo event_id, e regista a primeira cópia que recebe.
  • O ID de clique ttclid, o cookie _ttp, o email e o telefone com hash, o endereço IP e o user agent são as chaves que o TikTok usa para associar um evento a uma pessoa.
  • Teste primeiro com um código de evento de teste e desligue o pixel em qualquer outra app que o envie, ou o TikTok conta as compras duas vezes.

A Events API do TikTok é a ligação de servidor para servidor do TikTok para dados de conversão. Em vez de depender apenas do pixel do TikTok no navegador do comprador, a sua loja, ou uma ferramenta como a ROASaurus, envia eventos como compras diretamente para o TikTok. O TikTok recomenda executar a Events API a par do pixel e eliminar os duplicados entre os dois com um event_id partilhado.

Este guia aborda o que a Events API envia a partir de uma loja Shopify, os nomes de evento Purchase e CompletePayment, o ID de clique e o cookie em que o TikTok se baseia para associar, como funciona a eliminação de duplicados, como testar no TikTok Events Manager e como configurar tudo na ROASaurus.

O que é a Events API do TikTok?

O pixel do TikTok é um script na sua loja. Dispara eventos a partir do navegador do comprador, por isso só conta o que acontece enquanto o script carrega e corre. Um bloqueador de anúncios, um erro de script ou um comprador que feche o separador antes de a confirmação da encomenda carregar podem impedi-lo.

A Events API envia o mesmo tipo de evento a partir de um servidor. No Shopify, o registo mais fiável de uma compra é a própria encomenda. O Shopify comunica cada encomenda paga por webhook, tenha o script do navegador corrido ou não. É essa a ideia por trás do tracking server-side no Shopify.

Os dois não são alternativas. O conselho do TikTok é partilhar eventos pelos dois, mantê-los coerentes ao longo do percurso de compra e deixar o TikTok remover os duplicados.

Pixel do TikTok (navegador)
  • Corre no navegador do comprador
  • Pode ser bloqueada por bloqueadores de anúncios e erros de script
  • Partilha o endereço IP e o user agent por predefinição
  • Dispara visualizações de página e eventos de navegação à medida que acontecem
Events API (servidor)
  • Corre num servidor, a partir dos dados das suas encomendas
  • Não depende de um script a carregar no navegador
  • Quem envia tem de acrescentar o endereço IP e o user agent
  • Envia todas as encomendas pagas, mesmo quando o pixel não disparou
O TikTok recomenda ambos: o pixel para os sinais do navegador, a Events API para todas as encomendas, com eliminação de duplicados através de um só event_id.

Que eventos envia a ROASaurus para o TikTok?

Quatro momentos numa loja Shopify contam para a otimização do TikTok: uma visualização de produto, uma adição ao carrinho, o início do checkout e a compra. A ROASaurus envia os quatro para a Events API e dispara os mesmos quatro através do pixel do TikTok, com os mesmos IDs de evento. As visualizações de página passam apenas pelo pixel.

Ação do compradorEvento do TikTokPixel (navegador)Events API (servidor)
Vê uma páginaVisualização de páginaSimNão
Vê um produtoViewContentSimSim
Adiciona ao carrinhoAddToCartSimSim
Inicia o checkoutInitiateCheckoutSim, com o pixel de checkoutSim
Conclui uma encomendaCompletePaymentSim, com o pixel de checkoutSim, a partir da encomenda
Cada evento que segue pelos dois caminhos traz um só ID de evento, para que o TikTok possa manter uma única cópia.

Nas definições do pixel, pode desmarcar os eventos do servidor que não quer enviar e adicionar filtros, como um país ou um valor mínimo de encomenda.

Purchase ou CompletePayment?

O TikTok mudou o nome do seu evento de compra. O nome atual é Purchase. O nome antigo, CompletePayment, continua a funcionar: o TikTok converte os nomes antigos do seu lado, mostra-os com o novo nome nos relatórios, nos públicos e na otimização, e diz que o CompletePayment será suportado indefinidamente. O TikTok pede que as novas configurações de pixel usem Purchase.

A ROASaurus envia CompletePayment, no pixel e na Events API. No TikTok Events Manager e no Ads Manager, esses eventos aparecem como Purchase. Para a eliminação de duplicados, o que conta é que as duas cópias de uma compra usem o mesmo nome de evento, e usam.

Como é que o TikTok associa um evento a um comprador?

Um evento só ajuda as suas campanhas se o TikTok o conseguir ligar à pessoa que viu ou clicou no anúncio. O TikTok chama a estes identificadores match keys, e o seu guia da Events API pede que devolva todas as match keys relevantes para aumentar as taxas de correspondência. O Events Manager mostra o resultado como uma pontuação de Event Match Quality, uma média ponderada da frequência com que cada match key está presente.

Match keyDe onde vemEnviado como
ttclidUm ID de clique que o TikTok acrescenta ao URL da página de entrada quando alguém clica num anúncioValor simples
Cookie _ttpUm cookie first-party do pixel do TikTok no domínio da sua lojaValor simples
EmailA encomenda do ShopifyHash SHA-256
TelefoneA encomenda do ShopifyHash SHA-256
external_idO ID de cliente do Shopify, ou o ID de visitante da ROASaurusHash SHA-256
Endereço IP e user agentA sessão de checkout do comprador ou a encomendaValor simples
O TikTok pede que o email, o telefone e o external_id tenham hash. O ID de clique, o cookie, o endereço IP e o user agent são enviados tal como estão.

O TikTok refere que o pixel partilha o endereço IP e o user agent por predefinição, mas a Events API precisa que sejam acrescentados à mão. A ROASaurus obtém-nos da sessão de checkout do comprador ou, se não houve sessão, da encomenda. Outras duas chaves exigem atenção no Shopify.

ttclid: o ID de clique do TikTok

Quando um comprador clica num anúncio do TikTok, o TikTok acrescenta o ttclid ao URL da página de entrada. Se a sua loja não o guardar nessa primeira página, perde-se quando a encomenda chega, várias páginas depois. A ROASaurus lê o ttclid na página de entrada, guarda-o com o ID de visitante, escreve-o no carrinho do Shopify e acrescenta-o ao evento do servidor quando a encomenda chega.

_ttp: o cookie do pixel

O cookie _ttp é um cookie first-party que o pixel do TikTok usa no seu domínio. A ROASaurus lê-o na loja e no checkout e envia-o como ttp no evento do servidor. É mais uma razão para manter o pixel a correr a par da Events API.

Exemplo: uma compra tal como a ROASaurus a envia para a Events API (hashes encurtados)
{
  "event_source": "web",
  "event_source_id": "CXXXXXXXXXXXXXXXXXXX",
  "data": [{
    "event": "CompletePayment",
    "event_time": 1793016000,
    "event_id": "order-5512345678901",
    "user": {
      "email": "a3f1…9c2e",
      "phone": "7b40…11d8",
      "external_id": "e05c…4a7f",
      "ttclid": "E.C.P.v3…",
      "ttp": "2Xb7…",
      "ip": "203.0.113.24",
      "user_agent": "Mozilla/5.0 (iPhone; …)"
    },
    "page": { "url": "https://example-store.com/checkouts/…/thank-you" },
    "properties": {
      "currency": "USD",
      "value": 84,
      "content_type": "product",
      "contents": [{ "content_id": "44123456789", "content_name": "Linen shirt", "quantity": 2, "price": 42 }],
      "order_id": "5512345678901"
    }
  }]
}

Como funciona a eliminação de duplicados?

Quando o pixel e a Events API comunicam a mesma compra, o TikTok recebe dois eventos para uma encomenda. Para ficar com apenas um, o TikTok precisa que dois valores sejam idênticos nas duas cópias: o nome do evento e o event_id. O TikTok regista então a primeira cópia que recebe para medição e relatórios, de modo que a encomenda conta uma vez. Isto funciona para cópias correspondentes que cheguem numa janela de 48 horas a partir da primeira.

A ROASaurus constrói o ID de evento de uma compra a partir do ID da encomenda do Shopify. A compra da encomenda 5512345678901 tem o ID de evento order-5512345678901, no pixel de checkout e no servidor. Os eventos da loja, como visualizações de produto e adições ao carrinho, recebem um ID aleatório quando acontecem, e a cópia do navegador e a do servidor partilham-no.

Checkout concluídoO pixel de checkout dispara CompletePayment com event_id order-5512345678901.
Encomenda pagaO Shopify envia a encomenda paga para a ROASaurus por webhook.
Events APIA ROASaurus envia CompletePayment com o mesmo event_id e dados da encomenda com hash.
TikTokMesmo nome e mesmo event_id: conta-se uma compra.
Duas cópias de uma compra chegam ao TikTok. O event_id partilhado permite ao TikTok contá-la uma só vez.

Veja o que isto significa para os números. Imagine uma loja de exemplo com 200 encomendas numa semana. O pixel dispara em 150 delas. Os outros 50 compradores usaram um bloqueador de anúncios, recusaram os cookies de marketing ou saíram antes de a página de confirmação carregar. A Events API envia as 200.

Eventos Purchase que o TikTok regista numa semana (loja de exemplo, 200 encomendas)
Só o pixel
150
Só a Events API
200
Pixel e Events API, IDs diferentes
350
Pixel e Events API, event_id partilhado
200
Sem um event_id partilhado, 150 encomendas são contadas duas vezes. Com ele, o TikTok regista cada uma das 200 encomendas uma só vez.

O 350 é o número com que se preocupar. Faria a contagem de compras do TikTok, e o ROAS baseado nela, ficar 75% acima da realidade, porque 350 ÷ 200 = 1.75. O TikTok também usa estes eventos para otimização e segmentação, por isso a sua licitação aprenderia com 150 compras que não aconteceram.

Porque é que as compras são contadas duas vezes no Shopify?

A contagem duplicada acontece quando o TikTok recebe duas cópias de uma compra que não consegue associar. Verifique estas causas antes de confiar num salto nas compras do TikTok:

  • Duas ferramentas enviam o mesmo pixel. A app do canal de vendas do TikTok no Shopify também pode enviar eventos para o seu pixel. Os IDs de evento dessa app não coincidem com os que a ROASaurus usa, por isso o TikTok conta cada encomenda duas vezes. Desligue o pixel nessa app.
  • O pixel também está no código do tema. Um snippet de pixel colado no tema dispara os seus próprios eventos sem os seus IDs de evento. Remova-o e deixe uma só ferramenta carregar o pixel.
  • Um dos lados não tem event_id. Uma compra do servidor sem event_id, ou com um novo ID aleatório, não pode ser associada à cópia do pixel.
  • Os nomes dos eventos diferem. O TikTok só elimina duplicados entre eventos idênticos. As duas cópias de uma compra têm de usar o mesmo nome de evento.

O artigo de ajuda sobre a contagem em duplicado percorre as mesmas verificações para a Meta e para as outras plataformas.

Como se testa a Events API no TikTok Events Manager?

O TikTok Events Manager tem um separador Test events para eventos do navegador e do servidor. Use-o antes de confiar nos dados:

  1. Copie um código de evento de teste

    No TikTok Events Manager, abra o seu pixel e vá a Test events. Copie o código do evento de teste.

  2. Cole-o na ROASaurus

    Abra Tracking & platforms, edite o pixel do TikTok e cole o código no campo Test event code. Os eventos do servidor passam a trazê-lo.

  3. Faça uma encomenda de teste

    Visite a sua loja, veja um produto, adicione-o ao carrinho e conclua uma encomenda.

  4. Verifique os dois lados

    Em Test events, filtre por eventos do navegador e do servidor. Deve ver a compra nos dois. Na ROASaurus, o Event log mostra cada envio do servidor como enviado ou falhado.

  5. Remova o código de teste

    Apague o código do evento de teste quando terminar, para que os seus eventos do servidor em produção deixem de ser enviados como eventos de teste.

O TikTok pode responder a um pedido com HTTP 200 e mesmo assim rejeitar o evento, com um código de erro no corpo da resposta. A ROASaurus lê esse código, por isso um evento rejeitado aparece como falhado no Event log em vez de passar em silêncio.

Depois de um dia de tráfego real, abra a visão geral do pixel no Events Manager. Lista cada evento com o seu método de ligação, a pontuação de Event Match Quality e quando foi recebido pela última vez. Os detalhes do evento incluem informação de correspondência e de eliminação de duplicados, e o Diagnostics lista problemas de qualidade com orientações para os corrigir.

Como configurar a Events API do TikTok no Shopify com a ROASaurus

Precisa de uma loja Shopify com a app ROASaurus e de acesso ao TikTok Events Manager. A página da integração com o TikTok lista todos os campos que a ROASaurus envia.

  1. Ligue a sua loja Shopify

    Vá a Add a store › Shopify, clique em Install app e ative o app embed da ROASaurus no editor de temas. O embed capta o ttclid e o cookie _ttp em todas as páginas. O guia de configuração do Shopify mostra cada passo.

  2. Adicione o pixel de checkout

    No Shopify admin › Settings › Customer events, adicione um pixel personalizado com o nome ROASaurus e cole o snippet da sua página Tracking & platforms. Dispara o pixel do TikTok no checkout, incluindo a cópia da compra no navegador.

  3. Crie um token de acesso

    No TikTok Events Manager, abra o seu pixel e gere um token de acesso da Events API nas suas definições. Copie o token e o código do pixel.

  4. Adicione o pixel do TikTok na ROASaurus

    Vá a Tracking & platforms, clique em Add pixel no cartão do TikTok e preencha Pixel code e Events API access token. Mantenha Also load the browser pixel (recommended, deduplicated) assinalado, para que os eventos do navegador e do servidor partilhem IDs.

  5. Adicione o investimento (opcional)

    Preencha Advertiser ID for spend e um Marketing API token. A ROASaurus passa então a importar o investimento do TikTok, para que as campanhas do TikTok mostrem ROAS e CPA a par dos outros canais.

  6. Teste e depois entre em produção

    Envie uma encomenda de teste com um código de evento de teste, como descrito acima, e depois remova o código.

Com Respect visitor consent ativado, que é a predefinição, a ROASaurus segue a escolha do comprador no banner de cookies do Shopify. Quando um comprador recusa os cookies de marketing, a ROASaurus não carrega o pixel do TikTok para ele, não define nenhum ID de visitante, pelo que os seus cliques não ficam associados a ele, e não envia os seus eventos de navegação ao TikTok. A sua encomenda paga continua a ser enviada para a Events API a partir do servidor, com os dados da encomenda com hash e o endereço IP e o user agent da encomenda, mas sem ttclid nem _ttp. O guia de consentimento e privacidade explica o que é guardado e enviado.

Com o investimento sincronizado, as campanhas do TikTok aparecem nos relatórios de atribuição a par da Meta, e a análise de criativos acrescenta as estatísticas de vídeo do TikTok por anúncio. A ROASaurus atribui as encomendas aos cliques em anúncios e aos UTMs que registou, e só conta conversões view-through como estimativa modelada no seu modelo Clicks & views, por isso os seus totais costumam diferir do TikTok Ads Manager. Para as outras plataformas server-side, veja o guia da Conversions API do Pinterest e o guia da Conversions API da Meta.

Fontes

  1. TikTok For Business: About Events API
  2. TikTok Ads Manager: About Event Deduplication
  3. TikTok Ads Manager: How to Adopt TikTok's Updated Standard Events
  4. TikTok Ads Manager: How to set up matching events with Events API
  5. TikTok Ads Manager: About diagnostic and monitoring tools in TikTok Events Manager

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 onlineTracking de conversões no CCV Shop: um guia de configuraçãoTracking 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.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.
FAQ

Perguntas e respostas

O CompletePayment é o mesmo que o Purchase no TikTok?

Sim. CompletePayment é o nome antigo do evento de compra do TikTok. O TikTok converte-o do seu lado, mostra-o como Purchase nos relatórios e diz que vai continuar a suportar o nome antigo.

Ainda preciso do pixel do TikTok se usar a Events API?

O TikTok recomenda usar ambos. O pixel acrescenta sinais do navegador, como o cookie _ttp, a Events API envia todas as encomendas e um event_id partilhado impede o TikTok de contar uma compra duas vezes.

O que é o ttclid?

O ttclid é o ID de clique que o TikTok acrescenta ao URL da sua página de entrada quando alguém clica num anúncio. Guarde-o quando o comprador chega e envie-o com a compra, para que o TikTok possa ligar a encomenda ao clique.

Durante quanto tempo espera o TikTok para eliminar duplicados?

O TikTok elimina duplicados entre eventos com o mesmo nome de evento e event_id que cheguem numa janela de 48 horas a partir do primeiro. Regista a primeira cópia que recebe para medição e relatórios.

Preciso também da app do TikTok no Shopify?

Não. Se a mantiver, desligue o pixel na app do TikTok. Os eventos dela têm IDs diferentes, por isso o TikTok contaria cada compra duas vezes.

As compras continuam a ser enviadas quando um comprador recusa os cookies?

Com Respect visitor consent ativado, a ROASaurus não carrega o pixel nem associa IDs de clique a esse comprador. A encomenda paga continua a ser enviada server-side com os dados da encomenda com hash e o endereço IP e o user agent da encomenda.

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 →