> For the complete documentation index, see [llms.txt](https://kbase.whitelabel-loyalty.com/product/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kbase.whitelabel-loyalty.com/product/loyalty-engine/campaigns/creating-a-campaign.md).

# Creating a Campaign

Learn how to create a new campaign in the Loyalty Console. This page covers the setup that applies to all campaigns. For type-specific configuration, see Rule Based Campaigns or Goal Based Campaigns.

### Creating a campaign

To create a new campaign, navigate to the **Campaigns** screen in the Loyalty Console and click **Add a campaign**.

![](https://1999217057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEFmrMvu6tg0ZiSX9SGEq%2Fuploads%2FIW7AUjjBBARNnqvVzQez%2FSCR-20260828-kkmo.png?alt=media\&token=d1cb829c-0b7b-4dfd-8caf-6fd4483670c3)

***

### Campaign setup

When creating a campaign, you'll need to configure the following:

1. **Campaign type:** Select the type of campaign:

| Type           | Description                                                                                | Use for                                                                   |
| -------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
| **Rule Based** | Responds to events immediately using reactors. Runs continuously with no completion state. | Earning rules, sign-up bonuses, promo codes, always-on earning logic      |
| **Goal Based** | Tracks user progress toward a target using missions. Completes when the target is reached. | Stamp cards, spending milestones, engagement challenges, multi-step goals |

Once a campaign is created, its type cannot be changed.

<figure><img src="https://1999217057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEFmrMvu6tg0ZiSX9SGEq%2Fuploads%2FT4K2f0r3O5Db3Gz7wZYe%2FSCR-20260828-lkvz.png?alt=media&amp;token=ec9d3c7b-645f-4e77-9dbd-5474d0ad2c64" alt=""><figcaption></figcaption></figure>

2. **Start & end date:** Set the time period during which users can earn from the campaign.
   * You can modify the start date until the campaign becomes active.
   * Leave the end date unset for a campaign that runs indefinitely until it is manually paused or archived.
3. **Visibility criteria** *(optional)*: Define which users can see this campaign, based on audience membership. This controls display only — see the note below on restricting who's tracked.
4. **Title & description:** Provide a name and description for the campaign. These are designed to be surfaced to users.
5. **Picture** *(optional)*: Upload an image to represent the campaign.

{% hint style="warning" %}
Visibility criteria control who sees a campaign, not who's tracked by it. A user who can't see a campaign can still trigger its reactors or make progress on its missions in the background.

To restrict participation as well as visibility, apply the same audience in two places: as the campaign's visibility criteria, and as an audience membership [payload condition](/product/loyalty-engine/campaigns/conditions.md) on each mission or reactor. The visibility criteria hides the campaign from everyone outside the audience; the payload condition stops their events from being tracked.
{% endhint %}

### Saving and publishing

Once you've filled in the campaign's details, two buttons at the bottom control what happens next:

* **Save draft** — stores the campaign in Draft. Draft campaigns aren't visible to users and don't respond to events, so you can keep refining the setup.
* **Publish campaign** — publishes the campaign so it goes live according to its availability dates. A confirmation prompt appears before it goes live.

<figure><img src="https://1999217057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEFmrMvu6tg0ZiSX9SGEq%2Fuploads%2F0CydcRLQvPBx86KcZCUr%2FSCR-20260828-llem.png?alt=media&amp;token=65dbb7a6-49d5-4e10-9b79-09ba302ad65e" alt=""><figcaption></figcaption></figure>

Adding a mission (on a Goal Based campaign) or a reactor (on a Rule Based campaign) automatically saves the campaign as a draft first, so your setup is never lost while you build it out.

Once a campaign is live, its status is managed from the campaign itself — see [Managing Campaigns](/product/loyalty-engine/campaigns/managing-campaigns.md) for pausing and ending.

***

### Next steps

What you do next depends on the campaign type you selected.

**Rule Based campaign**

Add one or more reactors to define the campaign's event-driven logic — triggers, conditions, reactions, and activation limits.

See [Rule Based Campaigns](/product/loyalty-engine/campaigns/rule-based-campaigns.md) for a full guide.

**Goal Based campaign**

Add one or more missions to define the goals users work toward. Missions can be single goals or multi-step (nested) missions, completed in parallel or in sequence, with progress tracking and rewards at each level.

See [Goal Based Campaigns](/product/loyalty-engine/campaigns/goal-based-campaigns.md) for a full guide.

***

### FAQs

**Can I change a campaign's type after creating it?**

No. A campaign's type (Rule Based or Goal Based) is set at creation and cannot be changed. If you need a different type, create a new campaign.

**What does "draft" status mean?**

A newly created campaign starts in draft status. It is not active and will not process events or track progress. You can configure its contents — reactors or missions — before activating it. See [Managing Campaigns](/product/loyalty-engine/campaigns/managing-campaigns.md) for the full status lifecycle.

**A user who can't see my campaign is still earning from it — why?**

Visibility criteria control who *sees* a campaign, not who's tracked by it. Hiding a campaign from a user doesn't stop their events from triggering its reactors or advancing its missions. To stop non-eligible users from participating, apply the same audience as a payload condition on each mission or reactor, in addition to the campaign's visibility criteria. See Campaign setup above.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://kbase.whitelabel-loyalty.com/product/loyalty-engine/campaigns/creating-a-campaign.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
