Create Promo Campaigns
Learn how to create and configure a Promo Campaign from scratch using the step-by-step campaign builder.
Overview
This document provides detailed instructions on creating and configuring a Promo Campaign using the Campaign Builder. It guides you through the key steps to set up your campaign, including defining your campaign goals, selecting the right target audience, choosing the campaign type, and customizing your settings.
Create Promo Campaign
Go to Promotions > Promo Campaigns and click Create Campaign. The New Promotion Campaign page opens. To create a Promo Campaign, perform the following five key steps:
- Define Qualification Criteria
- Select Target Segment
- Set Up Reward
- Set Up Delivery Preference
- Publish Campaign
Define Qualification Criteria
The Start Here section is where you choose how users will qualify for the reward. The qualification criteria provide the following options:
- Past behavior/Custom list: Target users based on actions performed in the past or a custom list uploaded to the CleverTap dashboard. For example, you can target users who have not done a transaction in the last 6 months, and offer them a 20% discount coupon.
- Live behavior: Trigger rewards in real-time when a user performs or does not perform an event. For example, you can trigger a reward when a user adds items to their cart but does not complete the checkout process within a set timeframe.

Define Qualification Criteria
Select Target Segment
The Who section allows you to define who should receive the reward using the rule builder. The Target Segment rule builder lets you select users from an existing saved segment or create a new segment using event and property-based rules as follows:
- Find users from segment: Select users from a saved segment or define a new one.
- Create rules based on events: Build custom logic using event and property-based conditions
- Users who have done specific events
- Users who have not done certain events
- Users who have common user properties, such as device type and location, are part of a particular segment, and so on.
- Users who have common interests or share common behavioral traits or usage patterns, such as frequent shoppers or high-engagement users.
- Option to enable Constant event property, which keeps event property values fixed during evaluation. It is useful when comparing multiple events with shared attributes. For example, you can lock the Product ID property across both events to find users who viewed and purchased the same product.

Select Target Segment
Set Up Reward
The What section allows you to define the reward type for your Promo Campaign. Depending on your selection, the configuration options vary. CleverTap supports the following reward types:
Set Delivery Preferences
The When section defines when the campaign starts and ends, and the controls available vary based on whether you select a Past Behavior Segment (PBS) or a Live Behavior Segment.
For Past Behavior Segments or Custom List (PBS)
When you select Past Behavior or Custom List Segment, the When section shows the following options:
Option | Description | Example / Use Case |
---|---|---|
Send Now | Launches the campaign immediately using the current timestamp and the account timezone (for example, GMT+05:30 Asia/Kolkata). | Run a flash-sale promotion as soon as it is configured. |
Schedule for Later | Let's you choose a future start date and time. You can also adjust the timezone if required. | Schedule a promo to start at 6:00 PM on a Friday evening to capture higher traffic. |

Set Delivery Preferences in Past Behavior/Custom List Segments
For Live Behavior Segments
When you select Live Behavior Segment, the When section shows the following options:
Option | Description | Example / Use Case |
---|---|---|
Start Date and Time | Choose when the campaign should start. Now: Launches the campaign immediately after publishing. On a Date/Time: Launches the campaign at a scheduled date and time. | Start the live campaign immediately to capture ongoing cart abandonment events, or schedule it to go live on the morning of a sale day. |
End Date and Time | Choose when the campaign should stop.
| End the campaign automatically at midnight on the final day of a seasonal sale. |

Set Deliver Preference in Live Behavior Campaigns
Publish Campaign
Once you define all the above sections, click Publish Campaign to activate or schedule the campaign.

Publish Campaign
Reward Types
Each reward type includes different configuration settings, described in the sections below:
Loyalty Points
Use Loyalty Points to incentivize users with loyalty points that can be accumulated and redeemed within your app or platform. This option requires that wallets be pre-created in your CleverTap account.
The following configuration options are available when Loyalty Points is selected:
Option | Description | Example / Use Case | Available In |
---|---|---|---|
Loyalty wallet | Select the wallet from the dropdown. Ensures that points are distributed to the correct wallet. | You can reward users based on context if you have multiple wallets (for example, Grocery vs. Food). | Past Behavior/Custom List + Live Behavior Segments |
Points earning scheme | Define how points are calculated when users qualify. Options include: Flat: A fixed number of points for each qualifying user. Percentage: Points calculated as a percentage of an event property (for example, order amount). Proportional: Points awarded per defined unit of an event property. Random: Points assigned from a defined range; exposes Value Range + Distribution Bias controls. | Flat: Every eligible user earns 100 points regardless of order amount. Percentage: If set to 10% of the amount, a ₹500 purchase earns 50 points. Proportional: For every ₹100 spent, the user gets 10 points. Random: Users earn between 10 and 50 points, with distribution bias favoring the average. | Flat and Random: Available in both Past Behavior/Custom List and Live Behavior segments. Percentage and Proportional: Available only in Live Behavior segments |
Points value | The input control for Points value changes based on the selected Points Earning Scheme: Flat: Enter a single fixed value of points/credits awarded to each qualifying user. Percentage: Define a percentage of a selected event property (for example, order amount) from the qualifying event (typically a Charged event). Proportional: Define “points per unit” of a selected event property (for example, for every X units of the property, award Y points). Random: Set a min–max range of points/credits; the system randomly selects a value within this range for each qualifying user (also supports Distribution Bias). | Flat: Set to 100 means every qualifying user gets 100 credits. Percentage: Set to 10% means a purchase of ₹500 (as per selected event property) gives 50 credits. Proportional: Set to 10 credits for every Rs. 100 (per selected event property). Random: Set to a range of 10–100 means each qualifying user gets a random value between 10 and 100. | Flat and Random: Available in both Past Behavior/Custom List and Live Behavior Segment. Percentage and Proportional: Available only in Live Behavior campaigns. |
Distribution bias (For Random scheme only) | Control distribution pattern that allows you to select the following options: Favor Min: Skews distribution toward the lower end of the range. Favor Avg: Skews distribution toward the midpoint of the range. Favor Max: Skews distribution toward the higher end of the range. | Favor Min: For a range of 10–100 points, most users receive lower values (for example, 10–30), while fewer receive higher values. Favor Avg: For a range of 10–100 points, most users receive values around the midpoint (for example, ~55), with fewer at the extremes. Favor Max: For a range of 10–100 points, most users receive higher values (for example, 70–100), while fewer receive lower values. | Past Behavior/Custom List + Live Behavior Segments |
Max points per reward | Define the maximum number of points that can be awarded in a single transaction or instance. Applicable only when using Percentage or Proportional earning schemes in Live Behavior campaigns. Not available for Flat or Random schemes. | Cap points at 500 per purchase, even if the % calculation exceeds this value. | Live Behavior Segments |
Maximum recurrence per user | Control how many times a single user can receive the reward. Multiple limits can be combined (for example, total + per day/week/month). | If the total limit is 5 and the per-day limit is 2, the user can receive the reward up to two times per day until they reach a total of 5 rewards. | Live Behavior Segments only |
Custom points validity | Define the activation and expiry lifecycle of awarded points. | Activation: Immediate (points instantly usable) OR Custom delay (for example, activate after 7 days). Expiry: Never, fixed date, or custom duration (for example, 30 days after activation). | Past Behavior/Custom List + Live Behavior Segments |
Budget | Define the budget to control how rewards are distributed. Budget can be set at two levels: Per Campaign Budget: Caps the total rewards that the campaign can distribute. Per User Budget: Caps the maximum rewards a single user can receive during the campaign. Once the defined limit is reached (per user or for the entire campaign), no further rewards are issued. | If the Per Campaign Budget is 5,000 points, rewards stop once the campaign collectively distributes 5,000 points, even if more users qualify. If the Per User Budget is 500 points, each user can only receive up to 500 points during the campaign, even if they continue qualifying. | Live Behavior Segments only |
Custom metadata | Add dynamic key–value pairs to pass additional data into the wallet points payload. Each row has two modes: System Key: Select from predefined system keys. Custom Key: Define your own key. Duplicate keys are not allowed. | Add { "orderId": "12345", "promoType": "festival" } as custom metadata to track order-related rewards. | Past Behavior/Custom List + Live Behavior Segments |
Points to Consider
- Custom Activation does not check user behavior. It delays redemption so businesses can increase net profit on orders.
- Wallet must be pre-configured in your account.

Set Up Loyalty Points in Rewards
Coupons
Use Coupons to provide users with discount codes or special offers. Coupons must be pre-created in CleverTap and active.
The following configuration options are available when Coupons is selected:
Option | Description | Example / Use Case | Available In |
---|---|---|---|
Coupon Type | Choose Single Code (shared) or Bulk Codes (unique). | Single Code: A fixed 20% off coupon shared with all users. Bulk Codes: Each user gets a unique 10% off coupon. | Past Behavior/Custom List + Live Behavior Segments |
Coupon code | Select from available coupons that match the type. Coupon must be active and not fully redeemed. | Dropdown lists valid Single or Bulk codes. | Past Behavior/Custom List + Live Behavior Segments |
Max coupons per user | Defines how many times the coupon can be rewarded to the same user. This does not control redemption. If a user-level redemption limit is 2 and the same coupon is rewarded twice, user can redeem 4 times total. | Selecting Limit = 1 means each user can only be rewarded the coupon once. | Live Behavior Segments only |
Max coupons per campaign | Defines the total number of coupon codes that the campaign can distribute. | Selecting Limit = 1000 means the campaign stops distributing coupons after 1000 coupons are issued. | Live Behavior Segments |
Coupon redemption activation | Define when coupons can be redeemed, immediately or after a custom delay. | Immediate: Flash sale means redeem instantly. Custom: Redeemable 48 hours after reward assignment. | Past Behavior/Custom List + Live Behavior Segments |

Set Up Coupons in Rewards
Partner Vouchers
Use Partner Vouchers to distribute unique codes provided by third-party providers integrated with your account.
The following configuration options are available when Partner Vouchers is selected:
Option | Description | Example / Use Case | Available In |
---|---|---|---|
Partner | Select from integrated and active voucher providers. | Pick Amazon Gift Cards provider. | Past Behavior/Custom List + Live Behavior Segments |
List tag | Select the voucher batch (list tag) for distribution. Codes are auto-assigned uniquely to users. | Batch Holiday2025 with 10,000 gift codes. | Past Behavior/Custom List + Live Behavior Segments |
Max codes per user | Defines how many times the voucher can be rewarded to the same user. This does not control redemption. If a user-level redemption limit is 2 and the same voucher is rewarded twice, user can redeem 4 times total. | Selecting Limit = 1 means each user can only be rewarded the voucher once. | Live Behavior Segments only |
Max codes per campaign | Defines the total number of voucher codes that the campaign can distribute. | Selecting Limit = 1000 means the campaign stops distributing vouchers after 1000 vouchers are issued. | Live Behavior Segments |

Set Up Partner Vouchers in Rewards
Note
- Only active, unexpired voucher lists are displayed.
- No preview of voucher details is available.
- System ensures each user receives a unique, unused code.
Custom Rewards
Use Custom Rewards to integrate external reward systems. When a user qualifies, CleverTap triggers a webhook call to your configured endpoint, enabling you to issue rewards such as third-party gift cards, credits, or custom incentives.
The following configuration options are available when Custom Rewards is selected:
Option | Description | Example / Use Case | Available In |
---|---|---|---|
Webhook endpoint (mandatory) | Select a pre-configured webhook endpoint from the dropdown. If none exist, click the link provided to add a new configuration. | Connect to an external gift card provider API endpoint. | Past Behavior/Custom List + Live Behavior Segment |
Custom reward type | Select whether to issue Physical & digital rewards (tangible gifts) or Self-managed wallet credits (monetary/credit-based). | Physical & digital: Send a Bluetooth speaker as a gift. Self-managed: Credit ₹200 to a user’s wallet. | Past Behavior/Custom List + Live Behavior Segment |
Physical & digital rewards | Choose a reward that must be pre-created in your account. | Select “Amazon Voucher” or “Smartwatch”. | Past Behavior/Custom List + Live Behavior Segment |
Max recurrence per user | Allows you to control how many rewards can be granted per user on a daily, weekly, or monthly basis. | Max per user = 1 reward in a week | Past Behavior/Custom List + Live Behavior Segment |
Self-managed wallet credits | Choose a wallet from the dropdown (must be pre-created). | Select a wallet to reward credits or money. | Past Behavior/Custom List + Live Behavior Segment |
Credits earning scheme (only for Self-managed wallet credits) | Choose how to define wallet credits. Options include: Flat: a fixed number of credits for each qualifying user. Percentage: credits calculated as a percentage of an event property (for example, order amount). Proportional: credits awarded per defined unit of an event property (for example, 10 credits per ₹100 spent). Random: credits assigned from a defined range; exposes Value Range + Distribution Bias controls. | Flat: All qualifying users get 100 credits. Percentage: 10% of ₹500 purchase, i.e., 50 credits. Proportional: 10 credits for every ₹100 spent. Random: Users get between 10–100 credits. | Flat and Random: Available in both Past Behavior/Custom List and Live Behavior segments. Percentage and Proportional: Only available in Live Behavior campaigns (not supported in PBS). |
Value | The input control for the credits value changes based on the selected credits Earning Scheme: Flat: Enter a single fixed value of credits awarded to each qualifying user. Percentage: Define a percentage of a selected event property (for example, order amount) from the qualifying event (typically a Charged event). Proportional: Define “credits per unit” of a selected event property (for example, for every X units of the property, award Y credits). Random: Set a min–max range of credits; the system randomly selects a value within this range for each qualifying user (also supports Distribution Bias). | Flat: Set to 100 means every qualifying user gets 100 credits. Percentage: Set to 10% means a purchase of ₹500 (as per selected event property) gives 50 credits. Proportional: Set to 10 credits for every ₹100 (as per selected event property). Random: Set to a range of 10–100 means each qualifying user gets a random value between 10 and 100. | Flat and Random: Available in both Past Behavior/Custom List and Live Behavior Segment. Percentage and Proportional: Available only in Live Behavior campaigns. |
Distribution bias (For Random scheme only) | Control distribution pattern that allows you to select the following options: Favor Min: skews distribution toward the lower end of the range. Favor Avg: skews distribution toward the midpoint of the range. Favor Max: skews distribution toward the higher end of the range. | Favor Min: For a range of 10–100 credits, most users receive lower values (for example, 10–30), while fewer receive higher values. Favor Avg: For a range of 10–100 credits, most users receive values around the midpoint (for example, ~55), with fewer at the extremes. Favor Max: For a range of 10–100 credits, most users receive higher values (for example, 70–100), while fewer receive lower values. | Past Behavior/Custom List + Live Behavior Segments |
Max credits per rewards (only for Percentage and Proportional schemes) | Enter the maximum credits per reward. | Setting 100 means each user can get a maximum of 100 credits per reward. | Past Behavior/Custom List + Live Behavior Segment |
Max recurrence per user | Allows you to control how many rewards can be granted per user on a daily, weekly, or monthly basis. | Max per user = 1 reward in a day | Past Behavior/Custom List + Live Behavior Segment |
Budget | Defines how many rewards can be distributed. Physical & digital rewards: Supports campaign-level and time-based limits. Self-managed wallet credits: Supports per-campaign and per-user limits (varies by scheme). Flat: Supports Per Campaign budget only. Percentage: Supports both Per Campaign and Per User budgets. Proportional: Supports both Per Campaign and Per User budgets. Random: Supports both Per Campaign and Per User budgets. | Physical & digital rewards: Campaign limit = 5,000 vouchers; additionally, set 1,000 vouchers per month. Self-managed wallet credits: Flat Credits: Campaign limit = 10,000 credits. Percentage Credits: Campaign limit = 10,000 credits and per-user cap = 500 credits. Proportional Credits: Campaign limit = 10,000 credits and per-user cap = 500 credits. Random Credits: Campaign limit = 10,000 credits and per-user cap = 500 credits. | Past Behavior/Custom List + Live Behavior Segment |
User identifiers key mapping | Map CleverTap’s default user identity fields (User ID, Email address, Phone number) to your webhook payload keys. Each field supports the following modes: System key (CleverTap’s default field names) or Custom key (specify your own key names). | Map CleverTap’s identity field to your external system’s customerId or use default mapping for email and phone. | Past Behavior/Custom List + Live Behavior Segment |
Custom metadata | Add dynamic key-value pairs to include contextual data in the reward payload. Duplicate keys are not allowed. | Add { "orderType": "electronics", "promoType": "festival" } as custom metadata to track order-related rewards. | Past Behavior/Custom List + Live Behavior Segments |
Preview JSON Payload | Displays a live JSON preview that includes reward metadata and configured key-value parameters. | For example, refer to JSON Payload | Past Behavior/Custom List + Live Behavior Segment |

Set Up Reward in Custom Rewards
Points to Consider
Before you begin:
- Ensure you configure the webhook endpoint before creating the campaign.
- Verify that the endpoint can handle campaign volume, retries, and logging.
During setup:
- Physical & Digital Rewards and Self-managed Wallet Credits have separate configuration options; choose the appropriate type based on your use case.
- The reward payload is fully customizable and scales automatically with campaign volume.
- Custom Rewards give maximum flexibility but require your external system to handle issuance and redemption.
JSON Payloads
The following is an example payload for both types of custom rewards:
{
"profiles": {
"email": "[email protected]",
"identity": "foo",
"phone": "+919538784114",
"objectId": "g55b74fb10307"
},
"reward": {
"clientRewardId": "110303",
"clevertapRewardId": "20303",
"rewardName": "PVR MOVIE TICKET",
"rewardDescription": "Free PVR Movie ticket",
"campaignId": 123494
},
"customMetadata": {
"metadata key1": "value1",
"metadata key2": "value2"
}
}
{
"profiles": {
"email": "[email protected]",
"identity": "foo",
"phone": "+919538784114",
"objectId": "g55b74fb10307"
},
"reward": {
"clientRewardId": "110303",
"clevertapRewardId": "20303",
"rewardName": "PVR MOVIE TICKET",
"rewardDescription": "Free PVR Movie ticket",
"campaignId": 123494
},
"customMetadata": {
"metadata key1": "value1",
"metadata key2": "value2"
}
}
Best Practices
Maximize campaign effectiveness and avoid common pitfalls with the following best practices for setup, execution, and management:
- Use Segments Wisely: Tailor rewards with meaningful segmentation.
- Test Before Scaling: Start small to validate campaign performance.
- Set Limits: Always define per-user and per-campaign limits.
- Reward Inventory: Ensure sufficient reward stock throughout the campaign.
Updated 5 days ago