> For the complete documentation index, see [llms.txt](https://docs.bloop.plus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bloop.plus/affiliate-program/campaigns.md).

# Campaigns & Commissions

Your commission structure is the single biggest decision in an affiliate program: it sets how hard partners work to promote you and how much margin you keep on every sale they drive. Set it too low and good affiliates ignore you; set it too high and you lose money on each order. The right structure pays enough to motivate promotion while staying inside your product margin — and the best model depends on what you sell.

In Bloop, every affiliate belongs to exactly one **campaign**, which holds that structure. When a customer buys through an affiliate's link, Bloop reads the campaign rules to calculate the commission.

> **Best practice:** Anchor your commission to margin, not a round number. Decide what share of the profit on an affiliate order you're willing to give away, then back into the rate from there. A 20% commission on a 60%-margin candle is healthy; the same 20% on a 12%-margin electronics order erases your profit. When unsure, start lower and raise it for proven performers rather than cutting it later. See [how to set affiliate commission rates](https://bloop.plus/blog/referral-commission/) and the [commission-structure best practices](/best-practices/commission-structure.md) for the full reasoning.

### Commission types

A campaign uses one commission type at its core. Bloop supports three:

| Commission type | Internal value | How it pays                                                     |
| --------------- | -------------- | --------------------------------------------------------------- |
| Percentage      | `percentage`   | A percent of the qualifying sale amount (e.g. 15% of the order) |
| Flat per order  | `amount_order` | A fixed amount for the whole order, regardless of size          |
| Flat per item   | `amount_item`  | A fixed amount multiplied by the number of qualifying items     |

The default campaign uses a 15% percentage commission. Change the type and value under the campaign's commission structure.

**Percentage** lets the payout scale with order size — a $200 basket pays twice what a $100 basket does — which is fair when your margin is roughly constant across order sizes. **Flat per order** decouples the payout from order size entirely, so a big order and a small order cost the same fixed bounty; that predictability makes it safe for thin or high-ticket margins. **Flat per item** tracks quantity rather than dollar value, which fits a product whose per-unit profit you know precisely and want to share unit-for-unit.

### Which commission model fits your store

The right model follows your margins, average order value, and product range — see [when and why to use each model](#when-and-why-to-use-each-model) below for the quick version, or [commission-structure best practices](/best-practices/commission-structure.md) for the full store-profile breakdown.

### How to set the rate from your margin

Once you've chosen a model, the rate should come from your numbers, not a round figure that "feels right." The default 15% is a sensible opening rate for most stores — treat it as a starting point to confirm against margin, not a default to ship blind.

A simple, repeatable rule:

1. **Find your gross margin on an average affiliate order.** If a product sells for $50 and costs $20 to make and fulfil, gross profit is $30 — a 60% margin.
2. **Decide what share of that profit you'll give away.** A common range is a quarter to a third of gross profit. On a $30 profit, giving away $7.50–$10 keeps you comfortably ahead.
3. **Convert that back into a rate.** $7.50 on a $50 order is 15% commission; $10 is 20%. Both leave profit on every order an affiliate drives — affiliate spend should always be a cut of new revenue, never a loss leader.

This also explains why a flat 20% can be healthy or fatal. On the 60%-margin $50 order, 20% costs $10 and leaves $20 profit. On a thin-margin $400 item at 12% margin ($48 profit), a 20% commission is $80 — far more than the order earned. That order needs a **flat per order** bounty or a much lower percentage.

**Start lower and raise it for proven performers.** It's far easier to reward a high-performing affiliate with a better rate than to cut a published one without souring the relationship.

### Basic vs tiered (advance) commission

The commission structure runs in one of two modes:

* **Basic** — a single rate applies to every qualifying order. This is the default.
* **Advance (tiered)** — the rate changes based on the order total. You define levels, each with an **order minimum** and its own rate. Bloop picks the highest level whose minimum the order total meets or exceeds.

For example, a tiered structure might pay 10% on orders, 15% once the order reaches $100, and 20% once it reaches $250. A $180 order earns the 15% rate, because $180 clears the $100 minimum but not the $250 one.

Tiered levels can each have their own commission type and value, giving you full control over how the curve rewards larger orders. Use it to nudge affiliates toward bundles or higher baskets. The key watch-out: the top tier must still respect your margin — a 20% rate on $250+ orders is only safe if a $250 order carries enough profit to cover $50 of commission.

### Product-specific commissions

You can override the campaign rate for individual products. When product-specific commissions are enabled, any product on the list earns its own rate; everything else falls back to the campaign rate. This is the cleanest way to run one program across a catalog with mixed margins — a modest base rate everywhere, plus richer rates on the lines that can afford them.

Product-specific rates support **percentage** or **flat per item** (`amount_item`) — not flat per order, because the override applies at the line-item level.

Note: product-specific commissions are a plan-gated feature. On lower plans the option is disabled even if values are saved, so the campaign rate applies to all products.

### What counts toward the sale

By default, commission is calculated on the order's product revenue. In the campaign's commission calculation settings you can exclude:

* **Specific products or collections** — listed items are skipped entirely.
* **Discounts** — exclude discounted amounts from the base.
* **Shipping** — exclude shipping charges.
* **Taxes** — exclude tax from the base.
* **Tips** — exclude tips.

Excluding shipping and tax is a common first move — you rarely want to pay commission on money that never lands as profit. The base you build here is what every rate above is applied to, so getting exclusions right matters as much as getting the rate right: a 15% rate on a base that wrongly includes $12 of shipping and $8 of tax quietly overpays $3 on every order.

### Commission caps (maximum)

Each campaign can enforce a **maximum** commission. When the cap is enabled, an affiliate's commission is limited to the cap value (default: 100). Use this to protect margin on unusually large orders or to keep payouts predictable — it pairs especially well with a percentage model, which would otherwise scale without limit.

A 15% rate is fine on a typical $80 basket, but the same rate on a $2,000 order would pay $300 — likely more than that order earns in profit. A cap of 100 means that order pays $100 instead, keeping you in the black regardless of basket size.

### Attribution window (cookie)

The **cookie** value is the number of days a click stays attributed to an affiliate. If a customer clicks an affiliate link and buys within the cookie window, the sale counts for that affiliate. The default is 30 days. Set it per campaign — a longer window suits considered, slower purchases (high-ticket or B2B), while a shorter one suits impulse buys.

A long window (60–90 days) credits the affiliate even for purchases weeks after the click, rewarding partners who plant the first seed. A short window (7–14 days) credits only quick conversions, keeping attribution close to the moment of influence. The 30-day default is a reasonable middle ground for most stores.

### Auto-apply discount

A campaign can carry an **auto-apply discount**: when enabled, customers who arrive through an affiliate link automatically get the configured discount code applied. This pairs a customer incentive with the affiliate's promotion, which often lifts conversion enough to justify the extra cost.

### A worked example: pricing one campaign

*Illustrative, not a measured Bloop result.* A $60 skincare set costs $24 to fulfil ($36 profit, 60% margin), so a **15% percentage** commission ($9) leaves $27 of profit — healthy. Shipping and tax are excluded from the base, and a **cap of 100** protects against the rare 5-set, $300 order. The **cookie** stays at the 30-day default since skincare is a considered purchase. Once an affiliate proves themselves, move them to a second campaign at 18–20% rather than starting everyone high.

### Running multiple campaigns

You can create as many campaigns as you need and assign affiliates to whichever fits. Common patterns:

* A higher-rate campaign for top-tier creators and a standard one for everyone else.
* A short-term campaign with a richer rate for a product launch.
* A campaign with a longer cookie window for partners who drive considered, slower purchases.

One campaign is always marked as the default. New self-registered affiliates are routed to it unless you assign them elsewhere.

### Common mistakes to avoid

* **Setting the rate to a round number instead of to margin.** "20% sounds standard" is how thin-margin stores lose money on every affiliate order. Work back from gross profit first.
* **Forgetting the cap.** Without a maximum, a single large order can pay more commission than it earned in profit. Enable a cap on any percentage campaign.
* **Commissioning shipping and tax.** This pays affiliates on money that was never yours to keep. Exclude them unless you have a specific reason not to.
* **Starting too high and cutting later.** Cutting a published rate sours affiliates fast. Open lower and raise it for proven performers.

### When and why to use each model

* **Use percentage** when your margin is healthy and roughly consistent across order sizes and you want the payout to track basket value. The right default for most fashion, beauty, and general-merchandise stores.
* **Use flat per order** when margins are thin or orders are high-ticket and you need a fixed, predictable cost per sale.
* **Use flat per item** when you sell a single product or a tight range with a known per-unit profit and want to share that profit unit-for-unit.
* **Use tiered (advance)** when you want to push affiliates toward larger baskets and your margin holds up at the higher tiers.
* **Use product-specific overrides** when your catalog spans very different margins and you want a safe base rate everywhere plus richer rates only on lines that can afford them.
* **Run multiple campaigns** when different partner segments deserve different economics — a standard rate for self-registered affiliates and a richer one for proven creators.

### Related

* [Getting started with affiliates](/quick-start/getting-started-1.md) — overview and onboarding.
* [Managing affiliates](/affiliate-program/affiliates.md) — assign affiliates to campaigns.
* [Affiliate sales tracking](/affiliate-program/sales.md) — see how each commission is recorded.
* [Commission-structure best practices](/best-practices/commission-structure.md) — the strategy behind these settings.
* [How to set affiliate commission rates](https://bloop.plus/blog/referral-commission/) — the full margin-based reasoning.
* [Referral program vs affiliate program](https://bloop.plus/blog/referral-program-vs-affiliate-program/) — choose the right channel for your goal.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bloop.plus/affiliate-program/campaigns.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
