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
- Clique no link. O afiliado compartilha
go.indicasaas.com/SEU_CODIGO. No clique, gravamos umclick_id+ cookie 1st-party e redirecionamos o cliente pro seu site anexando?ref=<click_id>(além de repassarsube osutm_*). - Persistência no seu site. O
afs.jsguarda o?refnolocalStorage(disponível viaAFS.getRef()). É o que sobrevive entre a chegada e o checkout. - 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).
- 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.
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).