Documentação da plataforma

Para quem vende e para quem integra: o produto sem código e a API, cada tópico em sua página.

UTMs e link do checkout

O que colocar no link do botão de compra para saber de qual anúncio veio cada venda, e para o checkout já abrir com o e-mail e o nome do cliente.

Parâmetros aceitos

O checkout guarda estes parâmetros de origem. Qualquer outro é ignorado.

utm_sourceDe onde veio a visita: a rede ou o canal. Exemplos: FB, tiktok, google, instagram, email.
utm_mediumO tipo de tráfego ou o conjunto de anúncios. Exemplos: cpc, bio, stories.
utm_campaignO nome (e o id) da campanha.
utm_contentO anúncio ou o criativo que foi clicado.
utm_termO posicionamento ou a palavra-chave.
srcOrigem livre, usada por ferramentas de rastreio como a UTMify.
sckCódigo de rastreio livre, também usado pela UTMify.
fbclidId do clique da Meta. O próprio Facebook e Instagram colocam no link, você não escreve.
gclidId do clique do Google Ads. O próprio Google coloca no link, você não escreve.

E estes dois preenchem o formulário (detalhes mais abaixo):

emailE-mail do comprador. O campo de e-mail do checkout já abre preenchido.
nameNome do comprador. Também aceita nome.

Cada valor guarda até 500 caracteres. Espaço e acento precisam ir codificados no link (espaço vira %20); os modelos e scripts desta página já fazem isso.

Anúncio que leva direto ao checkout

Se o destino do anúncio é o próprio link de checkout, você não precisa mexer em site nenhum. Cole o link do produto como URL do anúncio e ponha o modelo abaixo no campo de parâmetros de URL da plataforma. Ela troca os códigos entre chaves pelo nome real da campanha, do conjunto e do anúncio a cada clique.

Meta Ads (Facebook e Instagram)

No anúncio, em Rastreamento → Parâmetros de URL:

utm_source=FB&utm_campaign={{campaign.name}}|{{campaign.id}}&utm_medium={{adset.name}}|{{adset.id}}&utm_content={{ad.name}}|{{ad.id}}&utm_term={{placement}}

TikTok Ads

No anúncio, acrescente ao fim da URL de destino, depois de um ?:

utm_source=tiktok&utm_campaign=__CAMPAIGN_NAME__|__CAMPAIGN_ID__&utm_medium=__AID_NAME__|__AID__&utm_content=__CID_NAME__|__CID__&utm_term=__PLACEMENT__

Google Ads

Na campanha ou na conta, em Opções de URL → Sufixo do URL final:

utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_content={creative}&utm_term={keyword}

O link final que o comprador abre, no caso da Meta, fica assim:

https://pay.pag3b.com/b45e0e?utm_source=FB&utm_campaign={{campaign.name}}|{{campaign.id}}&utm_medium={{adset.name}}|{{adset.id}}&utm_content={{ad.name}}|{{ad.id}}&utm_term={{placement}}
Quando a plataforma tem um campo próprio de parâmetros, cole só os parâmetros nele, sem o ?. Ela mesma junta os dois.

Anúncio que leva ao seu site

Este é o caso mais comum e o que mais perde venda na atribuição. O anúncio leva para a sua página de vendas, e as UTMs chegam no endereço dela. O checkout fica em outro domínio, então ele só fica sabendo das UTMs se o botão de compra as levar no link.

  1. 1Ponha as UTMs no anúncio. Use os modelos da seção anterior, com a sua página de vendas como destino.
  2. 2Deixe o botão apontando para o checkout. O link do botão é o link do produto, do jeito que você copiou no painel.
  3. 3Cole o script abaixo na página. Ele pega as UTMs do endereço da sua página e acrescenta em todos os botões que apontam para o checkout da 3B. Você cola uma vez e vale para todos os botões da página.
<!-- Cole antes de </body> na página que tem o botão de compra. -->
<script>
  (function () {
    // O que veio no endereço da SUA página (posto ali pelo anúncio).
    var daPagina = new URLSearchParams(window.location.search);
    var repassar = [
      'utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term',
      'src', 'sck', 'fbclid', 'gclid'
    ];
    // Todo botão ou link que aponta para o checkout da 3B.
    var botoes = document.querySelectorAll(
      'a[href*="pay.pag3b.com"], a[href*="pay.3bpagamentos.com"], a[href*="3bpagamentos.com/checkout"], a[href*="3bpagamentos.com/cart"]'
    );
    botoes.forEach(function (a) {
      var url = new URL(a.href);
      repassar.forEach(function (chave) {
        var valor = daPagina.get(chave);
        // Não troca o que você já escreveu à mão no link do botão.
        if (valor && !url.searchParams.has(chave)) url.searchParams.set(chave, valor);
      });
      a.href = url.toString();
    });
  })();
</script>

Em construtores de página (WordPress, Elementor, Framer, Webflow e parecidos), procure a opção de código personalizado no rodapé da página ou use um bloco de HTML. Se o seu funil tem várias páginas antes da compra, o script precisa estar na página onde fica o botão, e as UTMs precisam chegar até ela: mantenha os parâmetros nos links entre uma página e outra.

Sem o script, o botão abre o checkout com o link fixo, sem UTM, e a venda aparece como origem desconhecida mesmo tendo vindo de um anúncio.

Preencher e-mail e nome do comprador

Se o cliente já digitou o e-mail e o nome em uma etapa do seu funil (quiz, captura, formulário), mande os dois no link e o checkout abre com os campos preenchidos. Ele não digita de novo e a compra fica um passo mais curta.

https://pay.pag3b.com/b45e0e?email=maria@exemplo.com&name=Maria%20da%20Silva

Se o formulário e o botão estão na mesma página:

<!-- Seu formulário de captura: os ids são só um exemplo, use os seus. -->
<input id="campo-nome" type="text" placeholder="Seu nome" />
<input id="campo-email" type="email" placeholder="Seu e-mail" />
<button id="botao-comprar">Quero comprar</button>

<script>
  document.getElementById('botao-comprar').addEventListener('click', function (e) {
    e.preventDefault();
    var url = new URL('https://pay.pag3b.com/b45e0e');

    // E-mail e nome que o cliente acabou de digitar.
    url.searchParams.set('email', document.getElementById('campo-email').value.trim());
    url.searchParams.set('name', document.getElementById('campo-nome').value.trim());

    // As UTMs que vieram no endereço desta página vão junto.
    new URLSearchParams(window.location.search).forEach(function (valor, chave) {
      if (/^(utm_|src$|sck$|fbclid$|gclid$)/.test(chave)) url.searchParams.set(chave, valor);
    });

    window.location.href = url.toString();
  });
</script>

Se o cliente preenche em uma página e compra em outra, guarde os dados e leia na página do botão:

// Página 1 (onde o cliente digita): guarde antes de seguir para a próxima.
localStorage.setItem('lead_email', document.getElementById('campo-email').value.trim());
localStorage.setItem('lead_nome', document.getElementById('campo-nome').value.trim());

// Página do botão de compra: leia e monte o link.
var url = new URL('https://pay.pag3b.com/b45e0e');
var email = localStorage.getItem('lead_email');
var nome = localStorage.getItem('lead_nome');
if (email) url.searchParams.set('email', email);
if (nome) url.searchParams.set('name', nome);
document.getElementById('botao-comprar').href = url.toString();

Ferramentas de quiz e de formulário costumam ter a opção de enviar as respostas como parâmetros na URL de redirecionamento. Basta que os campos cheguem com os nomes email e name.

Vendas em realE-mail e nome preenchidos.
Outras moedasE-mail preenchido. O nome continua sendo digitado junto com o cartão, porque ali o campo é o nome impresso no cartão.
É só um valor inicial: o comprador pode trocar, e vale o que estiver no campo na hora de pagar. E-mail com formato inválido é ignorado. Depois de lidos, o e-mail e o nome somem do endereço da página do checkout, para que dados pessoais não sejam enviados aos pixels de anúncio. As UTMs continuam lá.

Onde os dados aparecem

As UTMs ficam gravadas no pedido e saem por dois caminhos:

UTMifyCom a UTMify conectada em Integrações, cada venda paga chega lá com os parâmetros de origem, e ela cruza com o gasto dos anúncios.
WebhookQuem integra por código recebe os parâmetros no campo tracking do evento de venda. Veja em Webhooks e eventos.

Os pixels (Meta, TikTok, Google) funcionam por conta própria e não dependem das UTMs: cadastrou o pixel em Integrações, os eventos de visita, início de checkout e compra são enviados sozinhos.

As UTMs ficam guardadas no navegador do comprador. Se ele abrir o checkout pelo anúncio, sair e voltar depois pelo link sem UTM, a venda ainda é atribuída à última campanha que o trouxe.

Erros comuns

Dois ?O link tem mais de um ponto de interrogação. Só o primeiro parâmetro usa ?, os outros usam &.
Botão fixoO anúncio leva ao seu site e o botão de compra tem o link sem UTM. Cole o script da seção "Anúncio que leva ao seu site".
Nome trocadoO parâmetro tem que ter exatamente o nome da lista: utm_source, e não source nem utmsource. Letras minúsculas.
Espaço no linkEspaço e acento sem codificar quebram o link em alguns aplicativos. Troque espaço por %20 ou por hífen.
EncurtadorAlguns encurtadores e redirecionadores descartam os parâmetros. Abra o link encurtado e confira se as UTMs chegaram ao checkout.

Para conferir, abra o link final no navegador: as UTMs têm que aparecer no endereço da página do checkout.