> For the complete documentation index, see [llms.txt](https://help.smartico.ai/welcome/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.smartico.ai/welcome/products/crm-automation/campaigns-vs-automation-rules.md).

# Campaigns vs Automation Rules

This document describes the main distinctions between the different types of Campaigns and Automation Rules.

With Smartico you can build a Real-time Campaign, a Scheduled Campaign, a Real-time Automation Rule, and a Scheduled Automation Rule. There is a significant difference among them below it’s described the main differences and some use cases relevant to the specific campaign type or automation rule type.

{% hint style="info" %}
**Short summary**

Use Automation Rules when you need to cover simple "if-then" case or you need to make an action on accumulation, like "Give 1 point for every 100 bets" .

Automation rules are extremely high performing and can execute simple thousands of actions in the mater of seconds.

Use Campaigns only when you cannot cover your case with Automation Rules.
{% endhint %}

### Campaigns

The real-time campaigns and scheduled campaigns use the Smartico Journey Builder which is a campaign planning tool that enables you to design and automate campaigns that guide users through their journey with a brand. Its foundation is the journey, which is the communication plan you design.

<figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-dd52a3ac40a1f59b6410bc998e750fc9ce48d186%2FScreenshot_1.png?alt=media" alt=""><figcaption><p>Example of Smartico Journey Builder</p></figcaption></figure>

**Real-time campaigns** are triggered by some event, such as a Deposit, Withdrawal, Login, Casino or Sports bets, Account status change, some client action, etc. When configuring a real-time campaign you can define:

* Player segment (only VIP players, only players who have deposits above 100EU, etc.)
* Entry mode of the campaign (Once during an open journey, Once in a lifetime of a user, etc.)
* Campaign duration
* Control Group

<mark style="color:purple;">Use Cases for Real-time Campaigns:</mark>

1. If you want to give a 50% bonus for each deposit and then send communication (email, SMS, pop-up, inbox, etc) to the user about the calculated bonus amount.
2. If you want to send a pop-up or inbox message when the user becomes online to promote a specific casino game and define the outcome, if the user plays the game - convert the campaign, if not wait 1 day and send them an email.
3. If you want to send a welcome email when the user profile is ready after registration.

**Scheduled Campaigns** are triggered on a specific schedule such as daily, specific days of the week, specific days of the month, one time on a specific day, etc. When configuring a scheduled campaign you can define:

* the player segment (only VIP players, only players who have deposits above 100EU, etc.)
* the entry mode of the campaign (Once during an open journey, Once in a lifetime of a user, etc.)
* The campaign duration
* The Control Group

{% hint style="info" %}
Activities that require the player to be online like pop-ups and inboxes cannot be added to the flow builder **at the beginning** of a scheduled campaign.
{% endhint %}

<mark style="color:purple;">Use Cases for Scheduled Campaigns:</mark>

1. Every Monday you want to give a 10% cash bonus for all deposits done during the weekend.
2. On the 1st day of every month, you want to send an email giving a free mini-game attempt on ‘Spin the Whee’l and then wait when the user to become online and show a matching pop-up.
3. If you want to send communication to promote a scheduled mission one time on a specific date and time.

### Automation Rules

Automation rules are predefined conditions or criteria that are set to trigger specific actions or workflows automatically. With Smartico operators can set Real-time and Scheduled Automation rules. The main difference between the two types is that real-time rules require a trigger event to start the execution, and scheduled ones will start automatically when the execution schedule is set

With the automation rules, operators can define a specific segment of players and perform automatically various processes. For example, to add/deduct/reset points, give bonuses, give mini-games, change levels, give missions, start/stop campaigns, mark/unmark users, and many more. Automation rules **do not** use the Smartico Journey Builder.

<figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-f9eade894ce3004736e384db3f4e83d5a72cee2e%2FScreenshot_35.png?alt=media" alt=""><figcaption><p>Example of Real-time Automation Rule</p></figcaption></figure>

**Real-time Automation Rules** are triggered by events such as Deposits, Bet Placement, Level Change, Complete KYC flow, Mission unlocked, Mission completed, etc. When configuring a real-time automation rule you can define:

* The segment - targeted users
* The trigger event - the event that will start the rule execution
* Trigger rule on accumulation - give X points for every Y wagering amount (or Z total deposit amount). For example, giving 1 point when the end-user is wagering 10 EUR / 8 GBP / 12 USD, depending on the user's wallet currency. The 1 point will be issued every time the user reaches a total wagering amount. Similarly, a rule can be set up to issue points for the total deposit amount.
* Qualification trigger - allows you to set a trigger to determine if the automation rule should be executed. If this condition isn't met, even if the trigger event has happened, the specified activity in the rule won't be executed for the players.

<div><figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-faa8f84a1a327b9f985472ce71e107f1545b2336%2FScreenshot_36.png?alt=media" alt=""><figcaption></figcaption></figure> <figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2Fgit-blob-099644dbb149bc06ca607cf807d32a80aff93d83%2FScreenshot_37.png?alt=media" alt=""><figcaption></figcaption></figure></div>

<mark style="color:purple;">Use Cases for Real-time Automation Rules:</mark>

1. If you want to give a 5% cash bonus of net loss for every 100 bets (with accumulation enabled for every 100 bets)
2. If you want to add points every time a player upgrades the level
3. If you want to give a specific mission when a player reaches 100 points

**Scheduled Automation Rules** are triggered on a defined schedule such as daily, days of the week, days of the month, one time on a specific day, etc. When configuring a scheduled automation rule you can define:

* The Segment - targeted users
* Execution Schedule - when the automation rule will be executed
* Execution Speed - the automation’s rule sending rate - for how many users the rule will be executed per minute

<mark style="color:purple;">Use Cases for Scheduled Automation Rules:</mark>

1. Every Friday you want to give 1 point to a specific segment of players
2. On the 1st day of every month, you want to give a mission to a specific segment of players
3. If you want to give a one-time bonus on a specific date and time to a specific segment of players

### Overlapping Batch Prevention in Scheduled Automation Rules and Campaigns

To prevent overlapping executions and maintain clear batch accounting, the Batches tab in Scheduled Campaigns and Scheduled Automation Rules includes the **‘Not started runs’** metric alongside user counts.

* **What it tracks**: The number of scheduled trigger slots that were bypassed because the previous batch was still actively running.
* **Where it tracks**: The counter increments directly on the active batch causing the bottleneck. When that batch completes, the subsequent batch begins fresh with a counter of 0.

<figure><img src="https://77049817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfS5hl0PiysHtKAKMsQTe%2Fuploads%2FxlVl8IHJ7nLNRjWQjlBG%2FScreenshot_31.png?alt=media&amp;token=459f335e-3779-4dda-b1cf-ae31348913cf" alt=""><figcaption></figcaption></figure>

When a recurring trigger time arrives (evaluated at the scheduler tick, within \~2 minutes of the scheduled time):

1. **Active Batch Check:** The system verifies whether a previous batch is currently processing users.
2. **Run Bypassed:** If the prior batch is still active, the new run is prevented from starting, and the Not started runs counter on the active batch increments by 1.
3. **Schedule Advanced:** The schedule clock moves forward to the next scheduled interval.

{% hint style="info" %}
**Note:** A bypassed run is permanently skipped, not postponed. Missed runs are not executed retroactively once the active batch finishes. (Missed triggers caused by server downtime exceeding allowable delays are not tracked by this counter).
{% endhint %}

#### Batch Reconciliation & Skipped Users

**Scheduled Campaigns**

Not started users are classified as Skipped users under specific conditions:

* The campaign is manually stopped from the Back Office (remaining users are moved to Skipped immediately and the batch closes).
* Users fail journey entry checks.
* The batch ceases making progress for 60 minutes.

{% hint style="info" %}
**Note:** Delivery speed throttling does not mark users as Skipped. Throttled batches simply process over a longer window, and all targeted users are started unless the batch stalls or is stopped.
{% endhint %}

**Scheduled Automation Rules**

Automation rules do not track a Skipped users metric. When reconciled, the system aligns **Started = Target.**

**Reconciliation Timing**

Batch numbers reconcile cleanly at the next scheduled run (after 15 minutes of inactivity for drained batches, or 60 minutes for stalled batches). One-time campaigns or campaigns whose schedules have concluded are not subject to scheduled reconciliation.

When viewing the General tab of an active campaign or rule while a previous batch is processing:

* Scheduled Campaigns: *"You can't start a new run yet - the previous batch is still in progress."*
* Scheduled Automation Rules: *"A new run will not be started because the previous batch is still in progress."*

#### Examples:

**Example 1: Hourly Campaign with Delivery Throttling**

A campaign is scheduled hourly at :00 for 100,000 target users, taking 2.5 hours due to message throttling:

* 10:00 (Run 1 — Batch #101 Starts):
  * Target: 100,000 | Started: 0 | Not started runs: 0 | Status: Executing
* 11:00 (Run 2 Triggered):
  * Batch #101 is still active (40,000 sent). Run 2 is bypassed.
  * Batch #101: Started: 40,000 | Not started runs: 1. General tab banner is active.
* 12:00 (Run 3 Triggered):
  * Batch #101 is still active (80,000 sent). Run 3 is bypassed.
  * Batch #101: Started: 80,000 | Not started runs: 2.
* 12:30 (Batch #101 Completes):
  * All 100,000 users processed. Batch #101 status changes to Completed (Final Not started runs: 2).
* 13:00 (Run 4 Triggered):
  * Run 4 starts normally as Batch #102 with Not started runs: 0.

**Example 2: Campaign Stopped Mid-Execution (Skipped Reconciliation)**

A scheduled campaign targets 1,000 users:

* 09:00: Batch starts with 1,000 target users.
* 09:15: 920 users are started. The campaign is manually stopped in the Back Office (or remaining users fail entry checks).
* Outcome: The remaining 80 unstarted users are classified as Skipped.
* Batches View: Target: 1,000 | Started: 920 | Skipped: 80 | Status: Completed.


---

# 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://help.smartico.ai/welcome/products/crm-automation/campaigns-vs-automation-rules.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.
