Set Up Your Program

Complete the five setup steps (Business, Commission, Tracking, Payments, Go live) and publish your program on the marketplace.

Last updated Oct 17, 2026

Setup takes your program from created to live in five steps: Business, Commission, Tracking, Payments and Go live. It opens at the Business step as soon as you create your program, at affitor.com/brand/setup/business.

Who this is for
Brand owners and operators
Time required
10–15 minutes
Prerequisites
A brand account with a program. Connecting Stripe needs the program owner.
Outcome
Your program is live on the marketplace, with its commission and payments set

The flow at a glance

1
Business: business name, website, program URL and an optional logo.
2
Commission: what partners earn, the attribution window, the hold period and how new partners join.
3
Tracking: install the click tracker on your site. Optional for Go live.
4
Payments: connect Stripe, or send one sale from your server.
5
Go live: publish the program once Business, Commission and Payments are done.

The top of each step shows Step N of 5 and Save and exit. Continue saves the step and opens the next one. Save and exit saves Business or Commission first, then opens that page in Settings; the other steps have nothing to save and open their Settings page directly. On a wide screen the step list sits on the left, where a done step shows a check (Business also shows your website, Commission your rate), and What partners see previews your program card on the right.

The same five pages are also Program settings (open the program menu and choose Program settings), so anything you set here stays editable there. Until the program is live, Program settings shows how many of the five steps are done. After launch the pages have no Back or Continue: Business and Commission have Save, Payments has nothing to save, the Partner link parameter on Tracking saves when you pick it, and Go live is named Status.

Step 1: Describe your business

The Business step (Your business) sets what partners see first.

FieldRequiredNotes
Business nameYes1 to 80 characters
WebsiteYesYour product or site URL. example.com is saved as https://example.com
Program URLYesYour public program page, affitor.com/marketplace/<handle>. Lowercase letters, numbers and dashes, up to 48 characters. You can change it later
Program IDShown, not editedUsed by the tracking script, the API and AI agents. Copy copies it
LogoNoPNG, JPG or SVG, square, under 5 MB
TaglineNoIn Program settings → Business only: one line on your marketplace card, up to 160 characters

Continue saves only the fields you changed and moves on once every save succeeds; an error shows under its field. The step is done once the program has a business name and a website.

Step 2: Set your commission

The Commission step sets what partners earn and how they join.

Setup step 2 of 5, Commission: type (one-time, recurring or lifetime), rate and months, attribution window, hold period, and whether new partners are approved automatically or reviewed one by one, with a preview of what partners see

FieldRequiredNotes
TypeYesOne-time pays on the first payment, Recurring monthly for the months in For, Lifetime on every payment
RateYesPercent of the payment, 0 to 100 with up to 2 decimals
ForYes, for RecurringHow many months the partner keeps earning: a whole number from 1 to 36. Shown only for Recurring
Attribution windowYesHow long after a click a signup still counts: 1 to 365 days
Hold periodYesDays until a commission is payable, to cover refunds: 0 to 31
New partnersYesApprove all approves every application; Review each lets you review each one

Once the rate is valid, a line shows what a $100 payment gives the partner, for example "$20 to the partner, monthly for 12 months". If your saved terms are ones this form cannot show exactly (for example a fixed amount), the step shows them as Current terms and keeps them unless you select Set new terms.

The step is done once a sale commission is saved and a New partners choice is set. To pay some partners a different rate, use groups.

Step 3: Install tracking

The Tracking step (Install tracking) puts the click tracker on your site. Pick an Install method:

  • Your agent: select Connect your AI to connect Claude, Cursor or another AI app and let it add the tracker. The last step gives you a prompt to paste to your agent; it first checks that the agent sees this program's ID. Shown only when AI agents are available for your program.
  • Script tag: paste the tag in <head> on every page of your site.
  • npm: install the SDK and wrap your app in the provider.

The snippets on the page already carry your Program ID (also shown on Business, with Copy):

<!-- Include Affitor Tracking Script -->
<script
  src="https://api.affitor.com/js/affitor-tracker.js"
  data-affitor-program-id="YOUR_PROGRAM_ID"
  data-affitor-debug="false">
</script>
npm install @affitor/sdk

On Next.js App Router, put the provider in a client component and render it once in your layout:

// app/affitor-provider.tsx (a client component)
'use client';
import { AffitorProvider } from '@affitor/sdk/react';

export function Providers({ children }: { children: React.ReactNode }) {
  return <AffitorProvider programId="YOUR_PROGRAM_ID">{children}</AffitorProvider>;
}
// app/layout.tsx (Next.js App Router): render it once around your app
import { Providers } from './affitor-provider';

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en">
      <body>
        <Providers>{children}</Providers>
      </body>
    </html>
  );
}

The provider runs in the browser, so it lives in a client component: in the App Router, layout.tsx is a Server Component. With the Pages Router, wrap your app in AffitorProvider in pages/_app.tsx.

Below the snippets, Tracker on your site shows Waiting for the first visit, Checking…, Tracker not found on your site yet, Tracker found on your site, Receiving events, Couldn't load your site, or First click and how long ago it arrived. Check now asks Affitor to look for the tracker on your website again; it is gone once a first click arrives. Continue turns on once the step is done (see below) or a first click arrives, and Skip for now moves on to Payments.

Partner link parameter sets how partner links name the partner: yoursite.com/?via=PARTNER or yoursite.com/?aff=PARTNER. The tracker reads both. Programs created from October 16, 2026 (UTC) use ?via= unless you pick ?aff=; older programs keep ?aff=. If you change it, links partners already shared keep working. If your own server reads the partner code, read both ?aff= and ?via=.

The step is done once Affitor finds the tracker on your website or receives real tracking events. Signup tracking is a separate install: see signup tracking, and click tracking for the full click guide.

Step 4: Connect payments

The Payments step sets how Affitor records your sales: Connect Stripe, your server, or both. It shows two cards, each with its own state, and there is no method to choose. Only the program owner can connect Stripe; other members see "Only the program owner can connect Stripe."

CardStatesWhat to do
StripeNot connected, Not finished, ConnectedSelect Connect Stripe. Stripe opens in a new tab; finish there and this page updates when you come back. If you started and did not finish, the button reads Finish in Stripe
Server APINo sale yet, ReceivedSelect Send a test sale to see the call, then run it once from your server. Check again reads the status now

If Stripe is connected and your server has also sent a sale, the page warns that sending the same purchase through both can count it twice: use one source per purchase.

The Server API test sale uses your program API key (where to find it). With "livemode": false it is a test sale and creates no commission:

curl -X POST https://api.affitor.com/api/v1/track/sale \
  -H "Authorization: Bearer YOUR_PROGRAM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "click_id": "clk_abc123",
    "customer_key": "user_123",
    "amount_cents": 4900,
    "currency": "usd",
    "transaction_id": "txn_test_001",
    "livemode": false
  }'

Once payments are connected, Check Affitor's tracking offers Run check: Affitor sends a test click, signup and sale through your program and shows each as Matched, Not matched, Wrong partner or Waiting. It is a pipeline check: it does not complete either card and does not count toward Go live.

Refunds and chargebacks: with Stripe, Affitor reads refunds and disputes from your connected account. With the Server API, report each refund with Track a refund.

The step is done when either card is: Stripe is connected, or Affitor has received a sale from your server. Skip for now moves on to Go live, which shows what is still missing.

Step 5: Go live

Go live publishes your program on the marketplace. The page lists four rows:

RowNeeded to go liveDone when
BusinessYesthe program has a business name and a website (the logo is optional)
CommissionYesa sale commission is saved
Click trackingNoAffitor finds the tracker on your website or receives real events; until then the row reads "Optional · no visit seen yet"
PaymentsYesAffitor can record your sales (see below)

A row that is not done has Fix (Set up for click tracking), which opens its step. The page also shows the address your program page opens at. Go live turns on once the three required rows are done, and Affitor checks them again when you select it.

Payments counts as connected when either card on the Payments step is done:

  • 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. Run check 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, Go live stays blocked: selecting Go live shows the overdue notice with Open billing. Pay the invoice first.

Once live, the page says your program is live and shows its link with Copy link, plus Open dashboard and Invite partners.

Before you invite partners

Verify it worked

In the program menu, choose Program settings and check that each page kept what you saved:

Verify success
Dashboard
  • Business shows your business name, website, program URL and logo
  • Commission shows your type, rate and, for Recurring, the months, plus Approve all or Review each, whichever you picked
  • Payments shows Stripe Connected, or Received for the Server API
  • Until the program is live, Quick start in the top bar shows how many setup steps are left; once it is live, Go live in Program settings reads Status
If it doesn't work
  • A page shows old values? Business and Commission save only when you select Continue, Save or Save and exit: reopen the page, re-enter, and save again
  • Go live stays off? Each row that is not done has Fix, which opens the step it needs
  • Set up with the CLI instead? Run npx affitor status from your project root. It prints your program card (name, domain, program ID). For payments, trust the Payments page: it is what Go live counts
  • Click tracking not done yet? It turns done once Affitor finds the tracker on your website or receives real events, which the tracking quickstart covers next
Next recommended step
Install tracking

Once your program is set up, move into the tracking quickstart to capture clicks, signups, and payments end to end.

Open tracking quickstart →