Skip to main content

Creating a Loyalty Campaign

Learn how to create and launch loyalty campaigns that reward customers for purchases, product scans, referrals, and other actions.

Overview

Loyalty campaigns allow you to:

  • 🎯 Reward customers for specific actions (purchases, scans, referrals, collectible, profile, login)
  • 📊 Set progressive milestones with increasing rewards
  • ⚡ Auto-claim rewards or require manual redemption
  • 📈 Track campaign performance in real-time or with a report
  • 🎁 Offer discounts or bonus points as rewards

Campaign Types

TypeTriggerExample
authenticator_scanCustomer scans product QR code"Scan 10 products → Get 20% off"
orderCustomer places an order"Spend $500 → Get free product"
loginCustomer download the app"Download the app → Get bonus points"
profileCustomer completes profile"Fill Email/PhoneNumber → Get bonus points"
collectibleCustomer collects NFTs"Collect 5 NFTs → Unlock exclusive strain"
referralCustomer refers friends"Refer 3 friends → Get $25 credit"
newsletterCustomer subscribes to newsletter"Subscribe to newsletter → Get 10% off"

Prerequisites

Before creating a campaign, ensure you have:

Configured loyalty tiers - See Creating TiersSet up point earning rules - In Loyalty → Settings ✅ Decided on reward types - Discounts, products, or points ✅ Created product batches (for scan campaigns) - See Product Batches


Step-by-Step Guide

Step 1: Navigate to Loyalty Campaigns

  1. Log in to the Batch Admin Dashboard
    • URL: https://account.batchsys.com
  2. Click Loyalty in the left sidebar
  3. Select Campaigns
  4. Click the + Create Campaign button (top right)

Step 2: Configure Campaign Basics

Fill in the following details:

Campaign Information

FieldDescriptionExampleRequired
Display NameCustomer-facing title"Scan & Win Summer Prizes!"✅ Yes
DescriptionCustomer-facing description"Scan 10 products to unlock exclusive rewards and discounts!"✅ Yes
Campaign TypeAction that triggers progressauthenticator_scan✅ Yes
Active StatusStatus of CampaignActive or Inactive✅ Yes
Start DateWhen campaign becomes active2025-06-01 00:00:00✅ Yes
End DateWhen campaign ends2025-08-31 23:59:59✅ Yes
TagsGive multiple tagsAssign Tags to Campaigns to have more control on their visibility✅ Yes
FAQsFrequently Asked Questions"Reward will show up in giftcard automatically once all steps are completed!"✅ Yes
Campaign Type Selection
  • Use authenticator_scan for product QR code scanning campaigns
  • Use order for purchase-based campaigns (spend milestones)
  • Use collectible for NFT/digital collectible campaigns
  • Use referral for friend referral campaigns

Step 3: Configure Campaign Settings

Configure how your campaign behaves and appears to customers using these flags:

Campaign Configuration Decision Tree

Start: Creating Campaign

├─► Should customers see this now?
│ ├─ YES → Show Campaign = ON
│ └─ NO → Show Campaign = OFF (draft/test mode)

├─► Must milestones be completed in order?
│ ├─ YES → Linear Progress = ON (progressive challenges)
│ └─ NO → Linear Progress = OFF (collection/variety)

├─► Can customers repeat this campaign?
│ ├─ YES → Reset Progress = ON
│ │ └─► Can they claim same reward multiple times?
│ │ ├─ YES → Infinite Claim = ON
│ │ └─ NO → Infinite Claim = OFF
│ └─ NO → Reset Progress = OFF
│ └─► Should milestones be repeatable anyway?
│ ├─ YES → Infinite Claim = ON
│ └─ NO → Infinite Claim = OFF

└─► Should rewards be automatically granted?
├─ YES → Auto Claim = ON (instant gratification)
└─ NO → Auto Claim = OFF (manual claim for engagement)

Upload a visual banner to make your campaign stand out in the customer app.

SettingDescriptionRecommended Specs
Web BannerDisplayed on desktop/tabletAspect Ratio: 4:3 (e.g., 1200x900px)
Mobile BannerDisplayed on mobile devicesAspect Ratio: 3:4 (e.g., 900x1200px)

Best Practices:

  • Use high-quality images (minimum 300 DPI)
  • Include clear call-to-action text on the image
  • Ensure text is readable on both light and dark backgrounds
  • File formats: JPG, PNG, or WebP
  • Maximum file size: 20MB

Show Campaign to Customers

Active: ON/OFF
Default: ON

Controls campaign visibility in the customer app.

When to use OFF:

  • Testing campaigns before launch
  • Preparing seasonal campaigns in advance
  • Temporarily pausing campaigns without deleting them
  • Internal-only campaigns for staff testing

Note: This is different from Active Status. A campaign can be Active (within date range) but hidden from customers if this toggle is OFF.

Linear Campaign Progress

Customer Facing: ON/OFF
Default: ON

Determines whether customers must complete milestones sequentially.

Linear Progress (ON):

Milestone 1 (Scan 3) → Complete first →
Milestone 2 (Scan 7) → Complete second →
Milestone 3 (Scan 10) → Complete third
  • Customer must unlock milestones in order
  • Progress bar shows sequential completion
  • Use for: Onboarding campaigns, progressive challenges

Non-Linear Progress (OFF):

Milestone 1 (Scan Product A) ┐
Milestone 2 (Scan Product B) ├→ Complete in any order
Milestone 3 (Scan Product C) ┘
  • Customer can achieve milestones in any order
  • All milestones visible from start
  • Use for: Collection campaigns, exploration challenges, variety-focused campaigns

Reset Progress on Completion

Toggle: ON/OFF
Default: OFF

Automatically resets a customer's campaign progress to zero after they complete all milestones.

Allow Infinite Claim

Toggle: ON/OFF
Default: OFF

Controls whether customers can claim the same milestone reward multiple times.

When OFF (Standard Behavior):

Milestone 1 (Scan 3) → Claim 50 points → Milestone locked, cannot claim again
  • Each milestone can be claimed once per campaign
  • Standard for most campaigns

When ON (Repeatable Rewards):

Milestone 1 (Scan 3) → Claim 50 points → Scan 3 more → Claim 50 points again → Repeat
  • Customers can reach the same milestone repeatedly
  • Rewards can be claimed multiple times
  • Progress continues accumulating

Use Cases for Infinite Claim ON:

  • Scan-based campaigns where every 3 scans = reward
  • Purchase campaigns where every $50 spent = bonus
  • Referral campaigns where each friend = reward

Example Campaign:

Campaign: "Scan & Earn"
Type: authenticator_scan
Infinite Claim: ON

Milestone 1: Every 5 scans → 100 points

Customer Journey:
- Scans 5 products → Claims 100 points
- Scans 5 more (total 10) → Claims 100 points again
- Scans 5 more (total 15) → Claims 100 points again
- Continues indefinitely...
Infinite Claim + Reset Progress

When both are ON, customers can complete the entire campaign multiple times AND claim each milestone multiple times within each completion cycle. Use cautiously to avoid excessive reward payouts.

Allow Auto Claim

Toggle: ON/OFF
Default: OFF

Automatically grants rewards when milestones are achieved, without requiring customer action.

When OFF (Manual Claim):

Customer reaches milestone → Notification: "You earned a reward!" →
Customer opens app → Clicks "Claim Reward" → Reward granted
  • Requires customer to manually claim
  • Rewards visible in "Available Rewards" section
  • Higher engagement (forces app visit)
  • Risk: Customers may forget to claim

When ON (Auto Claim):

Customer reaches milestone → Reward automatically added to account →
Notification: "50 points added to your account!"
  • Instant gratification
  • No action required from customer
  • Lower friction, better experience
  • Guaranteed reward delivery

Recommended Settings by Campaign Type:

Campaign TypeRecommended Auto ClaimReason
authenticator_scanOFFEncourages app engagement for claim
orderONInstant reward after purchase
loginONWelcome bonus, should be automatic
profileONOne-time setup reward
collectibleOFFCollection campaigns benefit from claim ceremony
referralONImmediate gratification for referrer

Step 4: Define Steps & Rewards

Terminology: Steps = Milestones

In the Batch Admin system, steps and milestones refer to the same concept. Each step is a progress checkpoint that includes a reward. When you configure a step, you're defining both the target action (e.g., "Scan 3 products") and the reward customers receive upon completion.

Steps are the building blocks of your campaign. Each step defines:

  • What the customer must do (the target value)
  • What they receive (the reward type and value)

Adding Steps to Your Campaign

  1. Click + Add check points button
  2. Configure the step details:
FieldDescriptionExampleRequired
LabelCustom name shown to customers for this step"Bronze Achievement"❌ No
Check PointTarget value customer must reach to unlock this step3 (for 3 scans)✅ Yes
Limit Progress CountCaps progress at this value (authenticator_scan & collectible only)10 (stops counting at 10)❌ No
Reward TypeType of reward to grantPoint, Promotion, Collectible, Tier Invitation, Point Multiplier, No Reward✅ Yes
Reward DetailsConfiguration based on reward type selectedSee reward types section below✅ Conditional
LinkExternal URL for more informationhttps://example.com/campaign❌ No
DescriptionDetailed description shown when customer claims reward"Congratulations! You earned 50 bonus points!"❌ No
Upload ImageImage displayed for this step after completionUpload campaign image❌ No
Locked ImageImage shown before customer completes this stepUpload locked state image❌ No
ConstraintsRestrict which products/categories count toward progressSelect products, categories, brands, etc.❌ No

Field Details:

  • Label: If provided, this custom label is shown instead of the default "from-to" range (e.g., "0-3"). Use descriptive names like "Bronze Tier" or "First Milestone".

  • Check Point: The cumulative target value. For scan campaigns, this is total scans needed. For order campaigns, this is total dollars spent. The value is cumulative, not incremental.

  • Limit Progress Count: Only appears for authenticator_scan and collectible campaign types. Prevents progress from counting beyond this limit. Example: If set to 10, customer can scan maximum 10 items for this step even if checkpoint is 3.

  • Upload Image: The visual shown after the step is completed. Customers see this in their rewards dashboard when they've unlocked this step.

  • Locked Image: The visual shown before completion. Creates anticipation by showing what customers will unlock. Often uses a "locked" or "grayed out" version of the reward image.

  • Constraints: Campaign type-specific filters that determine which actions count toward progress. See Constraints section below for details.

  1. Click Add or Update button
  2. Repeat to add more checkpoints
Step Target Values

Once a campaign is launched, you cannot change step target values. You can only modify reward descriptions and enable/disable steps.


Constraints: Filtering Progress

Constraints allow you to restrict which customer actions count toward campaign progress. This is useful when you want to reward specific behaviors rather than all actions.

How Constraints Work:

When constraints are applied to a step, only actions that match ALL selected constraints will increment progress. For example, if you constrain to "Category: Flower" and "Brand: Acme", only purchases of Acme flower products will count.

Available Constraints by Campaign Type:

Order/Purchase Campaigns

Filter which purchases count toward spending milestones:

Constraint TypeDescriptionExample Use Case
ProductsOnly specific products count"Only premium products count toward VIP tier"
CategoriesOnly products in selected categories"Only 'Flower' and 'Edibles' purchases count"
BrandsOnly products from selected brands"Only partner brand purchases earn rewards"
StrainOnly specific strains (cannabis)"Only Indica strain purchases count"
SizeOnly specific product sizes"Only 1oz and larger purchases count"
TagsOnly products with specific tags"Only 'Organic' or 'Lab-Tested' products count"

Configuration:

  1. When adding a step, click Add Constraints
  2. Select constraint type from dropdown
  3. Choose specific values (products, categories, brands, etc.)
  4. Multiple constraint types combine with AND logic (all must match)
  5. Multiple values within same type combine with OR logic (any can match)

Example: Premium Product Campaign

Campaign Type: order
Step 1 Constraints:
- Categories: Flower, Concentrates
- Tags: Premium
→ Only premium flower or concentrate purchases count toward $100 target
Authenticator Scan Campaigns

Filter which product scans count toward scan milestones:

Constraint TypeDescriptionExample Use Case
ProductsOnly specific product scans count"Scan 5 units of Product X to unlock reward"
CategoriesOnly products in selected categories"Scan any flower products to progress"
BrandsOnly scans from selected brands"Scan partner brand products only"
Product BatchesOnly products from specific batches"Scan products from Summer 2025 batch"
TagsOnly products with specific tags"Scan 'New Release' products to unlock early access"

Example: New Product Launch Campaign

Campaign Type: authenticator_scan
Step 1 Constraints:
- Tags: New Release, Summer 2025
- Categories: Flower
→ Only scans of new summer flower products count toward 10 scan target
Collectible/NFT Campaigns

Filter which collectibles count toward collection milestones:

Constraint TypeDescriptionExample Use Case
CollectiblesOnly specific NFTs count"Collect all 5 'Founder Series' NFTs"
Collectible CollectionsOnly NFTs from specific collections"Collect any 3 NFTs from 'Artist Series'"
Collectible RarityOnly specific rarity levels"Collect 5 'Rare' or 'Legendary' NFTs"

Example: Themed Collection Campaign

Campaign Type: collectible
Step 1 Constraints:
- Collectible Collections: Strain Passport Series
→ Only NFTs from the Strain Passport collection count toward 7 NFT target
Referral Campaigns

Constraints not typically used for referral campaigns, as the action (referring a friend) is already specific.

Login/Profile/Newsletter Campaigns

Constraints not applicable - these are single-action campaign types.


Best Practices for Using Constraints:

Start broad, narrow later

  • Launch campaigns without constraints first to measure baseline engagement
  • Add constraints for subsequent campaigns to drive specific behaviors

Communicate clearly

  • If using constraints, make it very clear in campaign description what counts
  • Example: "Scan any flower products from our Summer collection"

Test constraint logic

  • Create test customer account
  • Perform actions that should/shouldn't count
  • Verify progress increments correctly

Avoid over-constraining

  • Too many constraints = too difficult to complete
  • Balance specificity with achievability

Don't use constraints to hide difficulty

  • If campaign requires specific products, mention this upfront
  • Customers should know what actions count before starting

Step Configuration by Campaign Type

Different campaign types track different actions, so steps are configured differently. Here's how to set up steps for each type:

1. Authenticator Scan Campaigns

What's tracked: Number of products scanned via QR code

How to configure:

FieldWhat to EnterExample
Step NameInternal label for this step"First Scan Reward"
Target ValueNumber of scans needed3
Reward TypeSelect from dropdownPoints
Reward ValuePoints amount to award50
DescriptionMessage shown to customer"Scan 3 products to earn 50 bonus points!"

Complete Campaign Example:

  • Step 1: Scan 3 products → 50 points
  • Step 2: Scan 7 products → 10% discount
  • Step 3: Scan 10 products → Free product (customer chooses from list)

Important Notes:

  • Target Value = total number of scans required (not incremental)
  • Progress increments with each unique product scan
  • Same QR code cannot be scanned twice by the same customer
  • Best paired with product authentication campaigns

2. Order/Purchase Campaigns

What's tracked: Total purchase amount in dollars

How to configure:

FieldWhat to EnterExample
Step NameInternal label for this milestone"First Purchase Tier"
Target ValueDollar amount customer must spend100
Reward TypeSelect from dropdownPoints or Discount
Reward ValuePoints or discount percentage100 (points) or 10 (%)
DescriptionMessage shown to customer"Spend $100 to earn 100 bonus points!"

Complete Campaign Example:

  • Step 1: Spend $100 → 100 bonus points
  • Step 2: Spend $250 → $15 off next order
  • Step 3: Spend $500 → Free product + 200 bonus points

Important Notes:

  • Target Value is cumulative across all orders during campaign period
  • Based on order subtotal (before tax and shipping fees)
  • Progress carries over between multiple purchases
  • Ideal for encouraging repeat purchases and higher order values

3. Login/Download Campaigns

What's tracked: Number of logins or app downloads

How to configure:

FieldWhat to EnterExample
Step NameInternal label"App Download Bonus"
Target ValueUsually 1 for one-time action1
Reward TypeSelect from dropdownPoints or Discount
Reward ValueReward amount50 (points) or 10 (%)
DescriptionWelcome message"Welcome! Here's 50 points for joining us"

Complete Campaign Example:

  • Step 1: Download app → 50 welcome points
  • Step 2: Complete first login → 10% off first order

Important Notes:

  • Target Value is typically 1 (one-time completion)
  • Progress tracked automatically on first login event
  • Works well with Auto Claim enabled for instant gratification
  • Often combined with profile completion campaigns for onboarding flow

4. Profile Completion Campaigns

What's tracked: Number of profile fields completed

How to configure:

FieldWhat to EnterExample
Step NameWhich field you're rewarding"Email Address Added"
Target ValueAlways 1 (per field)1
Reward TypeSelect from dropdownPoints
Reward ValuePoints for completing field25
DescriptionEncouragement message"Thanks for adding your email! Here's 25 points"

Complete Campaign Example:

  • Step 1: Add email → 25 points
  • Step 2: Add phone number → 25 points
  • Step 3: Add birthday → 50 points + 5% discount

Important Notes:

  • Target Value is always 1 (each field is a separate step)
  • Enable Linear Progress = OFF so fields can be completed in any order
  • Progress tracked automatically when customer updates their profile
  • Perfect for encouraging complete customer profiles for marketing

5. Collectible/NFT Campaigns

What's tracked: Number of NFTs/collectibles acquired

How to configure:

FieldWhat to EnterExample
Step NameCollection milestone"Complete First Collection Set"
Target ValueNumber of NFTs to collect3
Reward TypeSelect CollectibleCollectible/NFT
Reward SelectionChoose which NFT to awardSelect from available NFTs
DescriptionAchievement message"Collect 3 NFTs to unlock a rare exclusive!"

Complete Campaign Example:

  • Step 1: Collect 3 NFTs → Rare NFT reward
  • Step 2: Collect 7 NFTs → Limited edition product access
  • Step 3: Collect 10 NFTs → Platinum tier upgrade

Important Notes:

  • Target Value = total number of collectibles in customer's wallet
  • Progress tracked automatically when customer mints or receives NFT
  • Best paired with NFT rewards for completion
  • Creates exclusivity and collectibility incentives

6. Referral Campaigns

What's tracked: Number of successful referrals

How to configure:

FieldWhat to EnterExample
Step NameReferral milestone"First Successful Referral"
Target ValueNumber of friends referred1
Reward TypeSelect from dropdownDiscount or Credit
Reward ValueAmount for referrer10 (for $10 off)
Friend RewardAmount for friend (referee)10 (for $10 off)
DescriptionIncentive message"Refer a friend and you both get $10 off!"

Complete Campaign Example:

  • Step 1: Refer 1 friend → $10 off (both get $10)
  • Step 2: Refer 3 friends → $25 store credit
  • Step 3: Refer 5 friends → Free product + Gold tier upgrade

Important Notes:

  • Target Value = number of friends who complete their first purchase
  • Referral only counts when referred friend makes first order
  • Supports dual rewards (both referrer and friend get rewarded)
  • Enable Infinite Claim to reward unlimited referrals

7. Newsletter Subscription Campaigns

What's tracked: Newsletter subscription status

How to configure:

FieldWhat to EnterExample
Step NameInternal label"Newsletter Signup Bonus"
Target ValueAlways 11
Reward TypeSelect from dropdownDiscount
Reward ValueDiscount percentage or amount10 (for 10% off)
DescriptionIncentive message"Subscribe to our newsletter and get 10% off!"

Complete Campaign Example:

  • Step 1: Subscribe to newsletter → 10% off next order

Important Notes:

  • Target Value is always 1 (one-time subscription)
  • Typically a single-step campaign
  • Enable Auto Claim for instant reward delivery
  • Progress tracked when email subscription is confirmed
  • Great for building email marketing lists

Step Configuration Quick Reference

Campaign TypeTarget Value RepresentsTypical StepsRecommended Rewards
authenticator_scanNumber of scans3, 7, 10Points → Discount → Product
orderDollar amount spent$100, $250, $500Points → Discount → Product + Points
loginNumber of logins1, 2Points, Discount
profileFields completed1 per fieldPoints per field
collectibleNFTs collected3, 7, 10NFT → Product Access → Tier Upgrade
referralFriends referred1, 3, 5Discount → Credit → Product + Tier
newsletterSubscription status1Discount

Reward Types Explained

Rewards are the incentives customers receive when they complete steps. Each reward type serves different purposes and works better with specific campaign types.


1. Points Reward

Awards loyalty points directly to the customer's balance.

When to use:

  • Best for: All campaign types
  • Encourages engagement across multiple visits
  • Builds long-term loyalty through accumulation

Configuration:

  • Select "Points" from Reward Type dropdown
  • Enter point amount in Reward Value field
  • Points are added instantly to customer account

How it works:

  • Points credited immediately when step is completed
  • Can be redeemed for purchases (if points redemption enabled)
  • Points accumulation follows your tier multipliers
  • Never expire unless you set expiration rules

Best practices:

  • Use progressive values across steps (50 → 100 → 200 points)
  • Align with your points-to-dollar conversion rate
  • Consider customer lifetime value when setting amounts
  • Make early milestones easy to encourage participation

2. Discount Reward

Awards a discount code valid for customer's next purchase.

When to use:

  • Order campaigns: Encourage repeat purchases
  • Referral campaigns: Incentivize friend invitations
  • Login campaigns: Welcome discount for new users

Configuration:

  1. Select "Discount" from Reward Type dropdown
  2. Choose discount type:
    • Percentage: Enter value like 10, 15, 20 (for % off)
    • Fixed Amount: Enter dollar amount like 5, 10, 25 (for $ off)
    • Free Shipping: Select this option (no value needed)
  3. Set additional options:
    • Minimum Purchase: Optional minimum order value to use discount
    • Maximum Discount: Optional cap for percentage discounts
    • Expiration Days: How long code remains valid (e.g., 30 days)
    • Stackable: Whether discount can combine with other promotions

How it works:

  • System generates unique discount code when step is completed
  • Code delivered via email/push notification
  • Auto-applied at checkout if Auto Claim is enabled
  • Customer sees discount in their rewards section
  • Code expires after set number of days

Best practices:

  • Set 30-day expiration to create urgency
  • Use percentage discounts for higher-value rewards (15-20% off)
  • Use fixed amount for welcome bonuses ($10 off first order)
  • Enable stacking cautiously to prevent excessive discounts

3. Product Reward

Allows customer to claim a free product from your catalog.

When to use:

  • Scan campaigns: Reward for scanning products
  • Collectible campaigns: Complete collection, get free product
  • High-value order campaigns: Spend $500, choose free item

Configuration Options:

You can set up product rewards in two ways:

Option A: Fixed Product (Customer receives specific item)

  1. Select "Product" from Reward Type dropdown
  2. Choose "Fixed Product"
  3. Select the specific product from your catalog
  4. Product is automatically added to customer's rewards

Option B: Product Choice (Customer selects from list)

  1. Select "Product" from Reward Type dropdown
  2. Choose "Allow Customer Choice"
  3. Select multiple products customer can choose from
  4. Set how many they can pick (usually 1)
  5. Optional: Restrict by product batch, category, or tag
  6. Optional: Set maximum product value cap

Additional Settings:

  • Batch Restriction: Limit to products from specific batch
  • Category Filter: Only allow products from certain categories
  • Value Cap: Set maximum product value (e.g., up to $50)
  • Inventory Tracking: System automatically checks stock availability

How it works:

  • Product added to customer's "Claimable Rewards" section
  • Customer can redeem during checkout (shows as $0 item)
  • Inventory automatically decreases when claimed
  • Customer sees product options in their rewards dashboard

Best practices:

  • Use fixed product for predictable inventory management
  • Use customer choice for higher-value final milestones
  • Set value caps to control costs on choice rewards
  • Ensure sufficient inventory before launching campaign

4. NFT/Collectible Reward

Awards a digital collectible or NFT to customer's wallet.

When to use:

  • Collectible campaigns: Complete collection series
  • Exclusive campaigns: Limited-edition rewards
  • VIP campaigns: Token-gated access to events/products

Configuration:

  1. Select "Collectible/NFT" from Reward Type dropdown
  2. Choose which NFT to award from your available collectibles
  3. Select collectible type (Standard NFT, Rare, Exclusive, etc.)
  4. Set any additional unlock benefits

How it works:

  • NFT automatically mints to customer's connected wallet when step completed
  • Appears in customer's collectibles gallery in the app
  • Can unlock additional benefits like tier upgrades or exclusive access
  • Creates immutable ownership record on blockchain
  • Customer can view, trade, or showcase their collectibles

Best practices:

  • Use rare/exclusive NFTs for final campaign milestones
  • Consider tier upgrades as additional NFT benefits
  • Limit supply to create scarcity and exclusivity
  • Ensure customers have wallet setup before campaign launch

5. Custom Reward

For unique rewards like experiences, access, or custom integrations that don't fit standard reward types.

When to use:

  • VIP experiences or access
  • Early product launch invitations
  • Meet-and-greet events
  • Custom services or consultations

Configuration:

  1. Select "Custom" from Reward Type dropdown
  2. Choose custom reward type from available options:
    • Experience/Event Access
    • VIP Lounge Access
    • Early Product Access
    • Consultation/Service
    • Other (custom definition)
  3. Enter custom reward details and instructions
  4. Set redemption method (code, manual fulfillment, etc.)

Examples of Custom Rewards:

  • VIP dispensary lounge access pass
  • Early access to new product launches (24 hours before public)
  • Meet-and-greet with brand ambassadors or growers
  • Free product customization or engraving service
  • Exclusive tasting or education event invitation

How it works:

  • Custom reward appears in customer's rewards dashboard
  • Customer receives instructions on how to redeem
  • May require manual fulfillment by your team
  • Can integrate with third-party services or ticketing systems

Best practices:

  • Provide clear redemption instructions
  • Set expiration dates for time-sensitive experiences
  • Ensure team is prepared to fulfill custom rewards
  • Use for high-value, final milestones to create excitement

Reward Customization by Campaign Type

Different campaign types benefit from specific reward strategies. Here's how to optimize rewards for each:

Authenticator Scan Campaigns

Best Reward Types: Points, Products, Collectibles

Why: Customers physically interact with products, making tangible rewards most effective.

Example Milestone Structure:

Milestone 1: Scan 3 products → 50 bonus points
Milestone 2: Scan 7 products → 10% off next order
Milestone 3: Scan 10 products → Choose free product (up to $25)

Optimization Tips:

  • Use products as final reward to drive purchases
  • Progressive points rewards keep customers engaged early
  • Consider digital collectibles for product authentication campaigns

Order/Purchase Campaigns

Best Reward Types: Discounts, Points

Why: Direct connection to purchasing behavior; discounts encourage repeat orders.

Example Milestone Structure:

Milestone 1: Spend $100 → 100 bonus points
Milestone 2: Spend $250 → $15 off next order
Milestone 3: Spend $500 → Free product + 200 bonus points

Optimization Tips:

  • Set milestones based on average order value (AOV)
  • Discount rewards should bring customer back for next purchase
  • Final milestone should exceed typical customer lifetime value

Login/Download Campaigns

Best Reward Types: Points, Welcome Discounts

Why: One-time action deserves instant gratification.

Example Milestone Structure:

Milestone 1: Download app → 50 welcome points
Milestone 2: Complete first login → 10% off first order

Optimization Tips:

  • Auto-claim should be ON (instant reward)
  • Keep simple (1-2 milestones max)
  • Welcome discount drives first purchase

Profile Completion Campaigns

Best Reward Types: Points, Small Discounts

Why: Low-effort action, modest reward is sufficient.

Example Milestone Structure:

Milestone 1: Add email → 25 points
Milestone 2: Add phone number → 25 points
Milestone 3: Add birthday → 50 points + 5% discount

Optimization Tips:

  • Reward each field separately (non-linear campaign)
  • Auto-claim ON for immediate feedback
  • Birthday reward unlocks annual birthday bonus

Collectible/NFT Campaigns

Best Reward Types: NFTs, Exclusive Products, Tier Upgrades

Why: Collectors seek completion and exclusivity.

Example Milestone Structure:

Milestone 1: Collect 3 NFTs → Rare NFT reward
Milestone 2: Collect 7 NFTs → Limited edition product access
Milestone 3: Collect 10 NFTs → Platinum tier upgrade

Optimization Tips:

  • Final reward should be highly exclusive
  • Consider tier upgrades as ultimate reward
  • NFT rewards can gate access to future campaigns

Referral Campaigns

Best Reward Types: Discounts, Points, Cash/Credit

Why: Customers referring friends expect valuable rewards.

Example Milestone Structure:

Milestone 1: Refer 1 friend → $10 off + friend gets $10 off
Milestone 2: Refer 3 friends → $25 credit
Milestone 3: Refer 5 friends → Free product + Gold tier

Optimization Tips:

  • Reward both referrer and referee (double-sided incentive)
  • Cash/credit rewards perform better than discounts
  • Allow infinite claim if referrals are priority

Newsletter Subscription Campaigns

Best Reward Types: Points, Small Discount

Why: Low-friction action, simple reward.

Example Milestone Structure:

Milestone 1: Subscribe to newsletter → 10% off next order

Optimization Tips:

  • Single milestone only
  • Auto-claim ON
  • Combine with welcome campaign for new users

Reward Stacking and Exclusions

Control how rewards interact with existing promotions to prevent excessive discounting.

Allow Stacking (Combine with other promotions):

When configuring a discount reward, you can enable the "Stackable" option:

  • Customers can use campaign reward with other active site-wide promotions
  • Useful for encouraging participation without heavy discounting concerns
  • Example: Customer uses 10% campaign discount + 5% newsletter discount = 15% off

Exclusive Rewards (Cannot combine):

Disable "Stackable" to make rewards exclusive:

  • Campaign reward cannot be combined with other discounts
  • System automatically applies whichever discount is larger
  • Protects profit margins on high-value rewards
  • Example: Customer has 20% exclusive reward, site has 10% sale → Only 20% applies

How the System Prioritizes:

  1. Multiple stackable rewards: All combine up to your set maximum discount cap
  2. Exclusive vs stackable: Exclusive reward overrides if it's higher value
  3. Multiple exclusive rewards: Highest value discount automatically applied
  4. Discount caps: Set maximum combined discount percentage (e.g., cap at 40%)

Step 5: Configure Notifications

Set up automated notifications for campaign events:

Notification Triggers

EventWhen SentRecommended Channels
Campaign StartWhen customer becomes eligible📧 Email + 📱 Push
Milestone AchievedWhen customer completes a milestone📱 Push + 💬 SMS
Reward ClaimedConfirmation of reward redemption📧 Email
Campaign Ending3 days before campaign expires📧 Email + 📱 Push
Campaign CompleteWhen all milestones achieved📧 Email + 📱 Push

Setting Up Notifications

  1. Go to Notifications tab in campaign form
  2. Toggle each notification type ON/OFF
  3. Select channels:
    • ✅ Email (via AWS SES)
    • ✅ Push Notification (via Firebase/APN)
    • ✅ SMS (via Twilio - optional)
  4. Customize notification templates:
    • Go to MarketingEmail Templates
    • Edit template NOTIFY_USER_CAMPAIGN_SUCCESS

Step 6: Set Eligibility Rules (Optional)

Limit campaign participation with targeting rules:

Eligibility Options

By Customer Tier

Only Gold and Platinum tier members can participate
  • Select tiers: Gold, Platinum
  • Use case: VIP-only campaigns

By Customer Segment

Only new customers (registered in last 30 days)
  • Select segment: New Customers
  • Use case: Welcome campaigns

By Location/Hub

Only customers near specific hubs
  • Select hubs: Los Angeles Hub, San Francisco Hub
  • Use case: Regional campaigns

By Previous Participation

Exclude customers who already participated in similar campaigns
  • Toggle: Exclude previous participants
  • Use case: Prevent campaign fatigue

Setting Eligibility

  1. Go to Eligibility tab
  2. Select Targeting Rules:
    • All Customers (default)
    • Specific Tiers
    • Specific Segments
    • Specific Hubs
  3. Toggle Exclusion Rules if needed
  4. Click Save Rules

Step 7: Review & Launch

  1. Click Preview Campaign to see the customer view
  2. Review the Campaign Summary Panel:
    • Campaign details
    • All milestones and rewards
    • Notification settings
    • Eligibility rules
  3. Verify all information is correct
  4. Click Launch Campaign
Before Launching
  • ✅ Verify start/end dates are correct
  • ✅ Test notification templates
  • ✅ Ensure products for rewards are in stock
  • ✅ Confirm QR codes are active (for scan campaigns)

Monitoring Your Campaign

After launch, track performance in real-time:

Campaign Dashboard

Navigate to LoyaltyCampaigns[Your Campaign Name]

Key Metrics

MetricDescriptionGood Target
Total ParticipantsCustomers enrolled in campaign1,000+
Active ParticipantsCurrently progressing60-70%
Completion Rate% reaching final milestone20-30%
Milestone Drop-off% leaving at each milestone< 40% per milestone
Rewards ClaimedTotal rewards redeemed80-90%
ROIRevenue impact3-5x campaign cost

Real-time Updates

  • Dashboard updates every 5 minutes
  • Export CSV reports: Click Export Data
  • View individual customer progress: Click View Participants

Example Dashboard View

Summer Scan Challenge 2025
Status: Active | Days Remaining: 45

┌─────────────────────────────────────┐
│ Participants: 1,247 │
│ Active: 892 (71%) │
│ Completed All Milestones: 234 (19%)│
└─────────────────────────────────────┘

Milestone Progress:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Milestone 1 (3 scans) ████████ 847 (68%)
Milestone 2 (7 scans) █████ 512 (41%)
Milestone 3 (10 scans) ███ 234 (19%)

Top Rewards Claimed:
1. 10% Off Discount - 421 claims
2. 50 Bonus Points - 847 claims
3. Free Product - 187 claims

Advanced Features

Linear vs Non-Linear Campaigns

Linear Progression (default)

Milestone 1 → Milestone 2 → Milestone 3

Customer must complete milestones in order.

Non-Linear Progression (advanced)

Milestone 1 ┐
Milestone 2 ├→ Milestone 4
Milestone 3 ┘

Customer can achieve milestones in any order.

Enable in Campaign SettingsProgression Type

Recurring Campaigns

Create campaigns that repeat monthly or weekly:

  1. Set Campaign Type to Recurring
  2. Configure Recurrence Pattern:
    • Monthly: Resets on 1st of month
    • Weekly: Resets every Monday
  3. Customer progress resets automatically

Use case: "Scan 5 products this week"

Reward Expiration

Set expiration dates for claimed rewards:

  1. Edit milestone reward
  2. Set Expiration Days: 30 (expires in 30 days)
  3. System auto-removes expired rewards

Troubleshooting

Campaign Not Showing to Customers

Issue: Campaign is active but not visible in customer app

Solutions:

  1. ✅ Verify Start Date is in the past
  2. ✅ Check Eligibility Rules aren't too restrictive
  3. ✅ Ensure campaign Status is Active (not Draft)
  4. ✅ Confirm customer is logged in
  5. ✅ Clear cache in customer app

Points Not Auto-Crediting

Issue: Customer scanned product but didn't receive points

Solutions:

  1. ✅ Verify auth code is valid (not already used)
  2. ✅ Check EventBridge Configuration:
    • Go to DeveloperIntegrationsEventBridge
    • Verify scan-auth event is publishing
  3. ✅ Review Loyalty Transaction Logs:
    • Go to LoyaltyTransactions
    • Search by customer ID
  4. ✅ Check for duplicate scan prevention (each QR code can only earn points once per user)

Milestone Not Unlocking

Issue: Customer met target but milestone didn't unlock

Solutions:

  1. ✅ Refresh campaign progress: Click Sync Progress
  2. ✅ Check campaign hasn't expired
  3. ✅ Verify customer's actions match campaign type (scans for scan campaign, orders for order campaign)
  4. ✅ Review campaign logs for errors

Best Practices

Campaign Design

Keep it simple

  • 3-5 milestones maximum
  • Clear, achievable targets
  • Valuable, relevant rewards

Progressive rewards

  • Increase reward value with each milestone
  • Final milestone should be most valuable

Set realistic targets

  • Analyze customer behavior first
  • Start with lower targets, increase later

Timing

Campaign duration

  • Short-term: 2-4 weeks (urgency)
  • Long-term: 2-3 months (sustained engagement)

Launch timing

  • Coordinate with product launches
  • Align with seasons/holidays
  • Avoid campaign overlap

Communication

Promote early

  • Email blast 1 week before launch
  • Push notifications on launch day
  • In-app banners

Remind frequently

  • Weekly progress updates
  • "Almost there!" notifications
  • Ending soon reminders

Next Steps

Now that your campaign is live, explore these related features:


API Reference (for Developers)

For developers integrating campaign functionality: