Skip to main content

Visão Geral

A SDK JavaScript é a base de todas as integrações do Affiliatus. Ela é responsável por:
  1. Capturar o código do afiliado da URL (?ref=CODIGO)
  2. Salvar em um cookie que dura 30 dias
  3. Rastrear page views automaticamente
  4. Enviar conversões (se você usar este método)
A SDK é obrigatória! Mesmo que você use Stripe, Woovi ou API REST, você PRECISA instalar a SDK primeiro. Sem ela, o sistema não consegue saber qual afiliado trouxe o cliente.
Esta página ensina:
  • Como instalar a SDK (obrigatório para todos)
  • Como usar trackConversion() para enviar vendas (opcional se usar Stripe/Woovi/API REST)

Como Funciona

1. Rastreamento Automático (Obrigatório)

Isso acontece automaticamente quando a SDK está instalada!

2. Conversão Manual (Opcional)

Se você NÃO usar Stripe/Woovi/API REST, use este método:
O cookie dura 30 dias por padrão. Mesmo que o cliente volte dias depois, a conversão ainda será atribuída ao afiliado!

Instalação da SDK (Obrigatório)

Passo 1: Adicione o SDK no <head>

Este passo é obrigatório para TODAS as integrações! Sem a SDK instalada, Stripe, Woovi e API REST não funcionarão.
Adicione este código dentro da tag <head> de todas as páginas do seu site:
<script src="https://cdn.affiliatus.io/latest/affiliatus.min.js"></script>

<script>
    var tracker = window.affiliatus.init('SEU_ID_DA_CAMPANHA', {
        autoPageView: true,
        attributionModel: 'last_click',
        cookieDuration: 30
    });
</script>
Substitua SEU_ID_DA_CAMPANHA pelo ID real da sua campanha. Você encontra isso em “Como integrar” no dashboard.
Pronto! A SDK já está funcionando e salvando cookies automaticamente.
Se você vai usar Stripe, Woovi ou API REST para enviar conversões, pode parar aqui. A SDK já está fazendo seu trabalho (salvar cookies). Vá para o guia específico da sua integração.

Rastreando Conversões (Opcional)

Esta seção é apenas se você NÃO vai usar Stripe, Woovi ou API REST. Se vai usar algum deles, pule para o guia específico.

Método Básico

Na sua página de confirmação de compra (ex: /obrigado, /sucesso, /pedido-confirmado), adicione:
tracker.trackConversion({
  order_id: 'PEDIDO-12345',
  order_value: 299.90
});

Exemplo Completo

<!DOCTYPE html>
<html>
<head>
  <!-- SDK já instalado no head -->
  <script src="https://cdn.affiliatus.io/latest/affiliatus.min.js"></script>
  <script>
    var tracker = window.affiliatus.init('abc-123-def', {
      autoPageView: true
    });
  </script>
</head>
<body>
  <h1>Pedido Confirmado!</h1>
  <p>Obrigado pela sua compra!</p>

  <script>
    // Rastrear conversão
    tracker.trackConversion({
      order_id: 'ORD-98765',
      order_value: 149.90,
      product: 'Plano Premium',
      currency: 'BRL'
    });
  </script>
</body>
</html>

Parâmetros

Obrigatórios

ParâmetroTipoDescrição
order_valueNumberValor total da venda em reais (ex: 99.90)

Recomendados

ParâmetroTipoDescrição
order_idStringID único do pedido (ex: "PEDIDO-123")

Opcionais

ParâmetroTipoDescrição
productStringNome do produto/plano vendido
currencyStringMoeda (padrão: "BRL")
quantityNumberQuantidade de itens
customer_emailStringE-mail do cliente

Exemplos de Uso

E-commerce Simples

tracker.trackConversion({
  order_id: 'PED-45678',
  order_value: 299.90,
  product: 'Kit Completo',
  quantity: 1
});

SaaS com Assinatura

tracker.trackConversion({
  order_id: 'SUB-' + Date.now(),
  order_value: 97.00,
  product: 'Plano Pro - Mensal',
  customer_email: '[email protected]'
});

Checkout Customizado

// Capturar dados do pedido
const pedidoId = document.getElementById('order-id').value;
const valorTotal = parseFloat(document.getElementById('total').value);

// Enviar conversão
tracker.trackConversion({
  order_id: pedidoId,
  order_value: valorTotal,
  product: 'Curso Online',
  currency: 'BRL'
});

Integração com Plataformas

WordPress + WooCommerce

Adicione no arquivo functions.php do seu tema:
add_action('woocommerce_thankyou', 'rastrear_conversao_afiliado');

function rastrear_conversao_afiliado($order_id) {
    $order = wc_get_order($order_id);
    $total = $order->get_total();
    ?>
    <script>
        if (typeof tracker !== 'undefined') {
            tracker.trackConversion({
                order_id: '<?php echo $order_id; ?>',
                order_value: <?php echo $total; ?>,
                product: 'Pedido WooCommerce'
            });
        }
    </script>
    <?php
}

Shopify (via Liquid)

Na página de confirmação (checkout.liquid ou thank-you.liquid):
<script>
  tracker.trackConversion({
    order_id: '{{ order.order_number }}',
    order_value: {{ order.total_price | money_without_currency }},
    product: '{{ order.line_items[0].product.title }}'
  });
</script>

React/Next.js

import { useEffect } from 'react';
import { useRouter } from 'next/router';

export default function SuccessPage() {
  const router = useRouter();
  const { orderId, total } = router.query;

  useEffect(() => {
    if (window.tracker && orderId && total) {
      window.tracker.trackConversion({
        order_id: orderId,
        order_value: parseFloat(total),
        product: 'Compra Online'
      });
    }
  }, [orderId, total]);

  return (
    <div>
      <h1>Compra Confirmada!</h1>
      <p>Pedido: {orderId}</p>
    </div>
  );
}

Testando a Integração

  1. Crie um afiliado no dashboard (ex: código TEST01)
  2. Acesse seu site com: https://seusite.com?ref=TEST01
  3. Navegue até a página de checkout
  4. Finalize uma compra de teste
  5. Verifique no dashboard se a conversão foi criada

2. Verifique no Console

Abra o console do navegador (F12) e digite:
// Ver se o tracker está carregado
console.log(window.tracker);

// Testar conversão manualmente
tracker.trackConversion({
  order_id: 'TEST-' + Date.now(),
  order_value: 99.90
});

3. Ative o Debug

Para ver logs detalhados durante o desenvolvimento:
var tracker = window.affiliatus.init('SEU_ID_DA_CAMPANHA', {
  debug: true,  // <- Ativa logs no console
  autoPageView: true
});

Solução de Problemas

Conversão não aparece no dashboard

Possíveis causas:
  1. Domínio não autorizado
    • Vá em “Configurações” → “Domínios”
    • Adicione o domínio do seu site
  2. SDK não carregado
    • Verifique se o script está no <head>
    • Abra o console e digite window.tracker
  3. Código de afiliado não capturado
    • Teste acessando com ?ref=CODIGO
    • Verifique se o cookie foi criado (F12 → Application → Cookies)
  4. Erro no JavaScript
    • Abra o console (F12) e procure erros em vermelho
    • Verifique se tracker.trackConversion() está sendo chamado

Conversão duplicada

Se a mesma conversão está sendo criada 2x:
  • Use o order_id único para cada pedido
  • O sistema ignora conversões duplicadas com mesmo order_id
Se o cookie some após o cliente navegar:
  • Verifique se seu site está em HTTPS (cookies exigem SSL)
  • Confirme que o domínio está correto
  • Teste em modo anônimo para verificar

Boas Práticas

Faça

  • Use order_id único para cada venda
  • Teste em ambiente de staging primeiro
  • Adicione o código na página de sucesso/confirmação
  • Valide se o tracker está carregado antes de chamar
  • Use valores decimais para order_value (ex: 99.90)

Não Faça

  • Não coloque o código na página de checkout (antes da compra)
  • Não chame trackConversion() múltiplas vezes para o mesmo pedido
  • Não use valores inteiros truncados (ex: use 99.90 em vez de 99)
  • Não esqueça de adicionar o domínio nos autorizados

Próximos Passos


Precisa de Ajuda?

Sim! Use tracker.trackLead() para capturar leads (ex: formulário preenchido) antes da venda.
Sim! O tracker funciona perfeitamente com React, Vue, Angular e outros frameworks modernos.
Se usar o mesmo order_id, o sistema ignora a segunda chamada (evita duplicação).
Não! Tudo funciona no browser. Basta adicionar o JavaScript na página.
Dúvidas? Entre em contato pelo suporte ou consulte a documentação completa.