# Creating a referral campaign

## About referral campaigns

Referral campaigns let you define the logic that powers your referral program. They determine **what actions count as a valid referral** and **what rewards are given to the referrer and the friend**.

The real strength of referrals lies in **sequence steps** (listed as *Sequence Steps* in the console, though they work more like flexible rules). These rules let you control exactly when and how rewards are triggered.

***

## Creating a campaign

When creating a campaign, start by configuring its basic information:

* **Campaign name** – Internal label for the campaign.
* **Code type** – Code (default) or Branch (links). See [Referring a friend](/product/modules/referrals/referring-a-friend.md#overview)
* **Active toggle** – Enable or disable the campaign.
* **Promotional campaign name** – User-facing name.
* **Promotional description** – Short description shown to users.
* **Promotional image** – Optional image to promote the campaign.
* **Promotional URL** – The landing page friends should be directed to (e.g., sign-up page).

*If using* [*link referrals*](/product/modules/referrals/referring-a-friend.md#link-referrals-branch-integration) *(via Branch), you can also configure:*

* Apple App Store app URL
* Google Play app URL

***

## Reward sequence

After saving campaign details, configure the sequence of rules that define when rewards are given. Each sequence step is configured in the same way a [reactor](/product/loyalty-engine/reactors.md) is - with a trigger, conditions and reactions.

Each sequence step includes:

* **Event type** – The action the *friend* must take (e.g., ORDER\_PLACED).
* **Payload constraints (Conditions)** – Optional filters that event must meet (e.g., minimum spend of $50).
* **Reaction –** The reaction that should occur for the **friend** when an event meeting the payload constraints has occurred.
* **Referrer reaction** – Optional. The reaction that should occur for the referrer when the friend has reported the event.
* **Activation limit** – Number of times the sequence step can run per user. This is typically 1. Failure to set an activation limit means the reaction will run an unlimited number of times if the friend continues reporting events meeting the conditions.

{% hint style="warning" %}
**Sequence steps do not need to be completed in order.**
{% endhint %}

<div><figure><img src="/files/NbKeIhXcEu5adzNyTTcu" alt=""><figcaption><p>Reward referrer as well? toggle.</p></figcaption></figure> <figure><img src="/files/xNAzi9Dv9XZNEz8z8XaH" alt=""><figcaption><p>Friend reaction and referrer reaction tabs.</p></figcaption></figure> <figure><img src="/files/mjmDJ8fUQvTMSjojI0Bg" alt=""><figcaption><p>Activation limit in the effectivity tab.</p></figcaption></figure></div>

> #### Example structure
>
> * Step 1: Friend signs up → Friend gets 500 points.
> * Step 2: Friend places first order over $50 → Referrer gets 1,000 points.
> * Step 3: Friend places 5 orders → Both get a $50 voucher.

{% hint style="info" %}
Consider your reward structure carefully. Rewarding too early (e.g., on sign-up alone) can increase the risk of fake accounts.
{% endhint %}

***

## Tracking referrers

The Referrers tab lets you:

* View which users have referred others, their codes/links, and referral counts.
* Search by referrer name, email, account number, or referral link.
* Remove a referral code or link from a user if you detect misuse.

<figure><img src="/files/HMdSzNpegS5tXThl9jH4" alt=""><figcaption><p>The referrers list</p></figcaption></figure>


---

# Agent Instructions: 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:

```
GET https://kbase.whitelabel-loyalty.com/product/modules/referrals/creating-a-referral-campaign.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
