A campaign is the unit affiliates join. It defines where traffic goes, how much affiliates earn, and how long commissions last.

## Create a campaign

<Steps>
  <Step>
    ### Open Campaigns, then New campaign

    From the **Campaigns** page, click **New campaign**.
  </Step>

  <Step>
    ### Name it and set the destination

    Enter a **campaign name** (up to 100 characters) and a **destination URL**. The URL must start with `https://`. It is where affiliate links send visitors.
  </Step>

  <Step>
    ### Choose the commission

    Pick a **commission type** and rate (covered below), then set the **commission duration**.
  </Step>

  <Step>
    ### Create

    Click **Create campaign**. It starts as a draft until you activate it.
  </Step>
</Steps>

## Commission types

Two types are available:

* **Percentage** — a share of each sale, from 0.01% to 100%.
* **Fixed amount** — a flat sum per conversion, in euros, with no upper limit.

<Callout type="warning" title="Type and rate lock once affiliates join">
  You can edit the type and rate while a campaign has no affiliates. After the first affiliate joins, both are frozen so past commissions stay consistent.
</Callout>

## Commission duration

Commission duration decides whether affiliates earn on later payments from the same attributed customer. The window starts at the first attributed payment or initial conversion, not at the first click.

* **First payment only** — use a non-recurring setup when the affiliate should earn only once. In API terms, `commissionRecurring: false`.
* **Lifetime recurring** — the affiliate earns on every future purchase from the customers they bring. In API terms, `commissionRecurring: true` and `recurringMonthsLimit: null`.
* **Limited recurring** — commissions run for a set number of months after the first attributed payment. For example, a 12-month setup keeps renewal payments commissionable for 12 months after that first attributed payment. In API terms, `commissionRecurring: true` and `recurringMonthsLimit: 12`.

The dashboard offers 3, 6, 12, and 24 month presets, plus custom month values where available.

## Revenue-based tiers (optional)

On percentage campaigns, you can reward your best affiliates with a higher rate past a revenue threshold. Tiers are evaluated per affiliate, per campaign, on net revenue (refunds excluded).

Add a tier with two fields: a **revenue threshold (€)** and a **rate (%)**. Three rules apply:

* thresholds must strictly increase,
* rates must strictly increase,
* the first tier's rate must sit above the base rate.

For example: 10% base, then 15% past €5,000, then 20% past €20,000.

## Activate and open it to affiliates

A new campaign is a draft. Activating it requires a [connected Stripe account](/docs/merchant/connecting-stripe). Once active, open the campaign's **Settings** tab to set its directory visibility:

* **Private** — reachable only through a direct signup link.
* **Listed** — shown in the public affiliate directory, where affiliates can find it and join.

## Prepare visuals for your affiliates

In **Marketing Assets**, choose **Create visuals**. Start with one of three templates: introduce your software, announce a feature, or promote an offer.

1. Add your software name, logo, screenshot without private data, and brand colors.
2. Write the headline and button text. For a promotion, include your offer, conditions, and dates.
3. Review the banner (1600 × 840), square (1080 × 1080), and story (1080 × 1920). Shorten copy that does not fit all three formats.
4. Select the destination campaign, or all your campaigns, then add the three formats to the gallery. The usual asset visibility rules apply.

You can download each PNG from its preview. Buttons drawn inside images are not clickable: affiliates must add their tracking link to the post or story.

Settings are saved with each visual. Its **Create a variant** menu action reloads the creation and produces new files; originals and their download links stay unchanged. You can also save and reopen a local copy of the creation, but this step is optional. After replacing a PNG with another file, the old settings no longer apply to the replacement.

If saving is interrupted, use **Resume saving** without leaving the editor: formats already added are not duplicated. If you leave, saved formats remain in the gallery; unsaved settings are lost.

Templates do not generate prices, discounts, or marketing claims. They require no paid image generation and are not described as proven performers.

## Publish the Program Passport badge

An active campaign with confirmed terms can display a live Program Passport badge on your affiliate-program page. The badge shows the strongest signal RefCampaign can verify without exposing private data, such as operational attribution, a ready promotion kit, or recorded payout history.

Open the campaign's **Settings** tab, find **Program Passport**, then copy the HTML under **Embed code** into your site. The badge links prospective partners to the public Passport and application form. It stays in sync with RefCampaign's evidence without exposing payout amounts, partner identities, or internal diagnostics.
