Set Up Your Program

Configure your affiliate program and choose the right integration path.

Last updated Oct 15, 2026

Complete these steps before you invite partners or install tracking.

Who this is for
Advertisers and operators
Time required
10–15 minutes
Prerequisites
A created advertiser account and your initial program details
Outcome
Your program basics, approval mode, commission direction, and tracking path are ready

What you are setting up

  1. Program details: business info, approval settings, commission rules
  2. Tracking & integrations: click, signup, and sale tracking
  3. Go live: publish the program once payments are connected
  4. Share program: your partner-facing program link

Program Settings — the checklist walks you through details, tracking, and sharing

1. Program details

Business details

FieldRequiredNotes
Company nameYespre-filled from your account
Website URLYesmain product/site URL
TaglineNoshown to partners
LogoNoPNG, JPG, or SVG; until you add one, the marketplace shows your program's initial
Terms of Service URLNoaffiliate terms / program terms
Resources URLNopartner-facing marketing resources

Approval mode

ModeDescriptionBest for
Review eachreview each partner applicationquality control, B2B motions
Approve allapprove applicants automaticallyhigher-volume programs

Commission details

FieldDescription
Commission rate (%)default partner commission
Commission durationhow long a referred customer keeps earning for the partner

Common options: one-time, fixed-month recurring, or lifetime.


2. Tracking & Integrations

Set up tracking in three steps: clicks, signups, then payments.

Step 1 — Pageview / click tracking

Install the tracker on pages where affiliate traffic lands.

SDK:

npm install @affitor/sdk
// app/providers.tsx — client component
'use client';
import { useEffect } from 'react';
import { loadAffitor } from '@affitor/sdk';
export function AffitorInit() {
  useEffect(() => { loadAffitor('YOUR_PROGRAM_ID'); }, []);
  return null;
}
// render <AffitorInit /> once in app/layout.tsx

Script tag:

<script
  src="https://api.affitor.com/js/affitor-tracker.js"
  data-affitor-program-id="YOUR_PROGRAM_ID"
  data-affitor-debug="false">
</script>

→ Full guide

Step 2 — Signup / lead tracking

After signup succeeds, send your internal customer ID to Affitor.

Browser helper:

await window.affitor.signup('user_123', 'user@example.com');

By default a browser-only lead is provisional: it counts once your server sends the lead (below) or a Stripe Checkout payment for that customer arrives through your connected Stripe account.

Server API:

{
  "click_id": "cust_42_1234567890",
  "customer_key": "user_123",
  "email": "user@example.com"
}

→ Full guide

Step 3 — Sale / payment tracking

Choose the path that matches your checkout.

MethodHow it worksBest for
Server-side trackingyour backend sends POST /api/v1/track/sale after payment succeedsany payment provider or custom backend
Stripe integrationyou keep taking payment in your own Stripe checkout; Affitor attributes via metadata + webhooksexisting Stripe Checkout integrations

For Stripe integration, use these public fields in metadata:

  • affitor_click_id
  • affitor_customer_key
  • program_id

For subscriptions, put the same values in both:

  • metadata
  • subscription_data.metadata

→ Full guide


3. Go live

Go live publishes your program on the marketplace and lets you invite partners. It needs three things:

RequirementDone when
Business detailsthe program has a name and a website URL (the logo is optional)
Commissiona default commission is set
PaymentsAffitor can record your sales (see below)

Payments counts as connected in one of two ways, matching the method you chose on the Payments step:

  • Stripe: your Stripe account is connected to the program.
  • Server API: your server has sent at least one sale for this program to POST /api/v1/track/sale. A test sale counts (send it with "livemode": false), so you can go live before your first real customer. The Payments step waits for that sale and says when it reached Affitor. The dashboard's Run check (Check Affitor's tracking) is a pipeline check and does not count; the sale has to come from your server.

Click and signup tracking are not required to go live. Install them before you invite partners so their traffic is attributed.

If the program is paused for an overdue invoice, pay the invoice first; Go live stays blocked until then.


4. Share Your Program

Once the program is live, share your partner recruitment link so affiliates can apply.


  • Install click tracking first
  • Wire signup tracking with a stable internal customer ID
  • Choose Server-side tracking or Stripe integration for payment tracking
  • Run test flows before launch

Verify it worked

Reload Settings and confirm each choice survived the save. Each page (Business, Commission) saves on its own:

Verify success
Dashboard
  • Settings → Business shows your company name, website URL, and logo
  • Settings → Commission shows your rate and duration, and Approve all or Review each, whichever you picked
  • Until the program is live, Quick start in the top bar shows how many setup steps are left
If it doesn't work
  • A page shows old values? Each page saves on its own: reopen it, re-enter, and save that page again
  • Set up with the CLI instead? Run npx affitor status from your project root — it prints your program card (name, domain, Program ID) plus Stripe state, and should match what Settings shows
  • Tracking steps still show as pending? That's expected — integration status is recalculated from real click, lead, and payment events, which you'll send in the tracking quickstart next

Next recommended step
Install tracking

Once your program details are in place, move into the tracking quickstart to capture clicks, signups, and payments end to end.

Open tracking quickstart →