Atribuição & tracking

Como uma indicação vira comissão. Last-click, com janela de cookie por programa, atribuição confirmada no servidor via webhook assinado e proteção contra reembolso/chargeback.

O fluxo, passo a passo

  1. Clique no link. O afiliado compartilha go.indicasaas.com/SEU_CODIGO. No clique, gravamos um click_id + cookie 1st-party e redirecionamos o cliente pro seu site anexando ?ref=<click_id> (além de repassar sub e os utm_*).
  2. Persistência no seu site. O afs.js guarda o ?ref no localStorage (disponível via AFS.getRef()). É o que sobrevive entre a chegada e o checkout.
  3. Checkout. Ao criar a cobrança no seu gateway, você anexa esse ref como metadata (campo varia por gateway — ver a página de cada um).
  4. Webhook. O webhook assinado da venda chega ao IndicaSaaS. Nós verificamos a assinatura, casamos o ref → afiliação → registramos a conversão e o lançamento de comissão no ledger.
Como o seu site e o indicasaas.com são domínios diferentes, o cookie do redirect não cruza domínios. Quem carrega o ref entre páginas é o ?ref na URL + o afs.js (localStorage). Sempre leia AFS.getRef() e mande pro seu backend no checkout.

Janela de cookie & modelo

Last-click por padrão (configurável para first-click por programa). A janela de cookie é 7, 14 ou 30 dias, definida no programa. Dentro da janela, a última indicação clicada leva o crédito.

Sub-ID & UTM

O afiliado pode gerar links com ?sub= (uma sub-tag dele, gravada em cada clique) e com utm_source/medium/campaign/content/term — o redirect repassa os UTMs ao seu site, então o seu próprio analytics (ex.: GA) também enxerga a origem.

Renovações (server-side join)

Em assinaturas, guardamos o ref na 1ª cobrança indexado pela assinatura do gateway. Se o gateway não reentregar o ref numa renovação, reanexamos a atribuição pelo id da assinatura. Quando o gateway mantém o ref nativo (ex.: metadata na subscription do Stripe), ele volta sozinho.

Refund-hold & clawback

Comissões nascem retidas por um período de segurança antes de liberar: 120 dias (cartão) e 7 dias (Pix) por padrão. Reembolso ou chargeback geram um lançamento negativo (clawback) que abate a comissão. Assim você não paga por venda que voltou.

Apenas clientes novos

Programas podem comissionar só a 1ª compra de um cliente novo. Você pode sinalizar explicitamente com metadata.aff_new = '1'|'0'; sem o sinal, usamos heurística (se o cliente já teve conversão antes na sua conexão, não conta como novo).