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
| Type | Trigger | Example |
|---|---|---|
| authenticator_scan | Customer scans product QR code | "Scan 10 products → Get 20% off" |
| order | Customer places an order | "Spend $500 → Get free product" |
| login | Customer download the app | "Download the app → Get bonus points" |
| profile | Customer completes profile | "Fill Email/PhoneNumber → Get bonus points" |
| collectible | Customer collects NFTs | "Collect 5 NFTs → Unlock exclusive strain" |
| referral | Customer refers friends | "Refer 3 friends → Get $25 credit" |
| newsletter | Customer subscribes to newsletter | "Subscribe to newsletter → Get 10% off" |
Prerequisites
Before creating a campaign, ensure you have:
✅ Configured loyalty tiers - See Creating Tiers ✅ Set 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
- Log in to the Batch Admin Dashboard
- URL:
https://account.batchsys.com
- URL:
- Click Loyalty in the left sidebar
- Select Campaigns
- Click the + Create Campaign button (top right)
Step 2: Configure Campaign Basics
Fill in the following details:
Campaign Information
| Field | Description | Example | Required |
|---|---|---|---|
| Display Name | Customer-facing title | "Scan & Win Summer Prizes!" | ✅ Yes |
| Description | Customer-facing description | "Scan 10 products to unlock exclusive rewards and discounts!" | ✅ Yes |
| Campaign Type | Action that triggers progress | authenticator_scan | ✅ Yes |
| Active Status | Status of Campaign | Active or Inactive | ✅ Yes |
| Start Date | When campaign becomes active | 2025-06-01 00:00:00 | ✅ Yes |
| End Date | When campaign ends | 2025-08-31 23:59:59 | ✅ Yes |
| Tags | Give multiple tags | Assign Tags to Campaigns to have more control on their visibility | ✅ Yes |
| FAQs | Frequently Asked Questions | "Reward will show up in giftcard automatically once all steps are completed!" | ✅ Yes |
- Use
authenticator_scanfor product QR code scanning campaigns - Use
orderfor purchase-based campaigns (spend milestones) - Use
collectiblefor NFT/digital collectible campaigns - Use
referralfor 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)
Banner Image
Upload a visual banner to make your campaign stand out in the customer app.
| Setting | Description | Recommended Specs |
|---|---|---|
| Web Banner | Displayed on desktop/tablet | Aspect Ratio: 4:3 (e.g., 1200x900px) |
| Mobile Banner | Displayed on mobile devices | Aspect 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...
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 Type | Recommended Auto Claim | Reason |
|---|---|---|
| authenticator_scan | OFF | Encourages app engagement for claim |
| order | ON | Instant reward after purchase |
| login | ON | Welcome bonus, should be automatic |
| profile | ON | One-time setup reward |
| collectible | OFF | Collection campaigns benefit from claim ceremony |
| referral | ON | Immediate gratification for referrer |
Step 4: Define Steps & Rewards
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
- Click + Add check points button
- Configure the step details:
| Field | Description | Example | Required |
|---|---|---|---|
| Label | Custom name shown to customers for this step | "Bronze Achievement" | ❌ No |
| Check Point | Target value customer must reach to unlock this step | 3 (for 3 scans) | ✅ Yes |
| Limit Progress Count | Caps progress at this value (authenticator_scan & collectible only) | 10 (stops counting at 10) | ❌ No |
| Reward Type | Type of reward to grant | Point, Promotion, Collectible, Tier Invitation, Point Multiplier, No Reward | ✅ Yes |
| Reward Details | Configuration based on reward type selected | See reward types section below | ✅ Conditional |
| Link | External URL for more information | https://example.com/campaign | ❌ No |
| Description | Detailed description shown when customer claims reward | "Congratulations! You earned 50 bonus points!" | ❌ No |
| Upload Image | Image displayed for this step after completion | Upload campaign image | ❌ No |
| Locked Image | Image shown before customer completes this step | Upload locked state image | ❌ No |
| Constraints | Restrict which products/categories count toward progress | Select 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_scanandcollectiblecampaign 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.
- Click Add or Update button
- Repeat to add more checkpoints
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 Type | Description | Example Use Case |
|---|---|---|
| Products | Only specific products count | "Only premium products count toward VIP tier" |
| Categories | Only products in selected categories | "Only 'Flower' and 'Edibles' purchases count" |
| Brands | Only products from selected brands | "Only partner brand purchases earn rewards" |
| Strain | Only specific strains (cannabis) | "Only Indica strain purchases count" |
| Size | Only specific product sizes | "Only 1oz and larger purchases count" |
| Tags | Only products with specific tags | "Only 'Organic' or 'Lab-Tested' products count" |
Configuration:
- When adding a step, click Add Constraints
- Select constraint type from dropdown
- Choose specific values (products, categories, brands, etc.)
- Multiple constraint types combine with AND logic (all must match)
- 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 Type | Description | Example Use Case |
|---|---|---|
| Products | Only specific product scans count | "Scan 5 units of Product X to unlock reward" |
| Categories | Only products in selected categories | "Scan any flower products to progress" |
| Brands | Only scans from selected brands | "Scan partner brand products only" |
| Product Batches | Only products from specific batches | "Scan products from Summer 2025 batch" |
| Tags | Only 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 Type | Description | Example Use Case |
|---|---|---|
| Collectibles | Only specific NFTs count | "Collect all 5 'Founder Series' NFTs" |
| Collectible Collections | Only NFTs from specific collections | "Collect any 3 NFTs from 'Artist Series'" |
| Collectible Rarity | Only 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:
| Field | What to Enter | Example |
|---|---|---|
| Step Name | Internal label for this step | "First Scan Reward" |
| Target Value | Number of scans needed | 3 |
| Reward Type | Select from dropdown | Points |
| Reward Value | Points amount to award | 50 |
| Description | Message 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:
| Field | What to Enter | Example |
|---|---|---|
| Step Name | Internal label for this milestone | "First Purchase Tier" |
| Target Value | Dollar amount customer must spend | 100 |
| Reward Type | Select from dropdown | Points or Discount |
| Reward Value | Points or discount percentage | 100 (points) or 10 (%) |
| Description | Message 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:
| Field | What to Enter | Example |
|---|---|---|
| Step Name | Internal label | "App Download Bonus" |
| Target Value | Usually 1 for one-time action | 1 |
| Reward Type | Select from dropdown | Points or Discount |
| Reward Value | Reward amount | 50 (points) or 10 (%) |
| Description | Welcome 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:
| Field | What to Enter | Example |
|---|---|---|
| Step Name | Which field you're rewarding | "Email Address Added" |
| Target Value | Always 1 (per field) | 1 |
| Reward Type | Select from dropdown | Points |
| Reward Value | Points for completing field | 25 |
| Description | Encouragement 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:
| Field | What to Enter | Example |
|---|---|---|
| Step Name | Collection milestone | "Complete First Collection Set" |
| Target Value | Number of NFTs to collect | 3 |
| Reward Type | Select Collectible | Collectible/NFT |
| Reward Selection | Choose which NFT to award | Select from available NFTs |
| Description | Achievement 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:
| Field | What to Enter | Example |
|---|---|---|
| Step Name | Referral milestone | "First Successful Referral" |
| Target Value | Number of friends referred | 1 |
| Reward Type | Select from dropdown | Discount or Credit |
| Reward Value | Amount for referrer | 10 (for $10 off) |
| Friend Reward | Amount for friend (referee) | 10 (for $10 off) |
| Description | Incentive 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:
| Field | What to Enter | Example |
|---|---|---|
| Step Name | Internal label | "Newsletter Signup Bonus" |
| Target Value | Always 1 | 1 |
| Reward Type | Select from dropdown | Discount |
| Reward Value | Discount percentage or amount | 10 (for 10% off) |
| Description | Incentive 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 Type | Target Value Represents | Typical Steps | Recommended Rewards |
|---|---|---|---|
| authenticator_scan | Number of scans | 3, 7, 10 | Points → Discount → Product |
| order | Dollar amount spent | $100, $250, $500 | Points → Discount → Product + Points |
| login | Number of logins | 1, 2 | Points, Discount |
| profile | Fields completed | 1 per field | Points per field |
| collectible | NFTs collected | 3, 7, 10 | NFT → Product Access → Tier Upgrade |
| referral | Friends referred | 1, 3, 5 | Discount → Credit → Product + Tier |
| newsletter | Subscription status | 1 | Discount |
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:
- Select "Discount" from Reward Type dropdown
- 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)
- 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)
- Select "Product" from Reward Type dropdown
- Choose "Fixed Product"
- Select the specific product from your catalog
- Product is automatically added to customer's rewards
Option B: Product Choice (Customer selects from list)
- Select "Product" from Reward Type dropdown
- Choose "Allow Customer Choice"
- Select multiple products customer can choose from
- Set how many they can pick (usually 1)
- Optional: Restrict by product batch, category, or tag
- 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:
- Select "Collectible/NFT" from Reward Type dropdown
- Choose which NFT to award from your available collectibles
- Select collectible type (Standard NFT, Rare, Exclusive, etc.)
- 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:
- Select "Custom" from Reward Type dropdown
- Choose custom reward type from available options:
- Experience/Event Access
- VIP Lounge Access
- Early Product Access
- Consultation/Service
- Other (custom definition)
- Enter custom reward details and instructions
- 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:
- Multiple stackable rewards: All combine up to your set maximum discount cap
- Exclusive vs stackable: Exclusive reward overrides if it's higher value
- Multiple exclusive rewards: Highest value discount automatically applied
- 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
| Event | When Sent | Recommended Channels |
|---|---|---|
| Campaign Start | When customer becomes eligible | 📧 Email + 📱 Push |
| Milestone Achieved | When customer completes a milestone | 📱 Push + 💬 SMS |
| Reward Claimed | Confirmation of reward redemption | |
| Campaign Ending | 3 days before campaign expires | 📧 Email + 📱 Push |
| Campaign Complete | When all milestones achieved | 📧 Email + 📱 Push |
Setting Up Notifications
- Go to Notifications tab in campaign form
- Toggle each notification type ON/OFF
- Select channels:
- ✅ Email (via AWS SES)
- ✅ Push Notification (via Firebase/APN)
- ✅ SMS (via Twilio - optional)
- Customize notification templates:
- Go to Marketing → Email 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
- Go to Eligibility tab
- Select Targeting Rules:
- All Customers (default)
- Specific Tiers
- Specific Segments
- Specific Hubs
- Toggle Exclusion Rules if needed
- Click Save Rules
Step 7: Review & Launch
- Click Preview Campaign to see the customer view
- Review the Campaign Summary Panel:
- Campaign details
- All milestones and rewards
- Notification settings
- Eligibility rules
- Verify all information is correct
- Click Launch Campaign
- ✅ 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 Loyalty → Campaigns → [Your Campaign Name]
Key Metrics
| Metric | Description | Good Target |
|---|---|---|
| Total Participants | Customers enrolled in campaign | 1,000+ |
| Active Participants | Currently progressing | 60-70% |
| Completion Rate | % reaching final milestone | 20-30% |
| Milestone Drop-off | % leaving at each milestone | < 40% per milestone |
| Rewards Claimed | Total rewards redeemed | 80-90% |
| ROI | Revenue impact | 3-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 Settings → Progression Type
Recurring Campaigns
Create campaigns that repeat monthly or weekly:
- Set Campaign Type to
Recurring - Configure Recurrence Pattern:
- Monthly: Resets on 1st of month
- Weekly: Resets every Monday
- Customer progress resets automatically
Use case: "Scan 5 products this week"
Reward Expiration
Set expiration dates for claimed rewards:
- Edit milestone reward
- Set Expiration Days:
30(expires in 30 days) - System auto-removes expired rewards
Troubleshooting
Campaign Not Showing to Customers
Issue: Campaign is active but not visible in customer app
Solutions:
- ✅ Verify Start Date is in the past
- ✅ Check Eligibility Rules aren't too restrictive
- ✅ Ensure campaign Status is
Active(notDraft) - ✅ Confirm customer is logged in
- ✅ Clear cache in customer app
Points Not Auto-Crediting
Issue: Customer scanned product but didn't receive points
Solutions:
- ✅ Verify auth code is valid (not already used)
- ✅ Check EventBridge Configuration:
- Go to Developer → Integrations → EventBridge
- Verify
scan-authevent is publishing
- ✅ Review Loyalty Transaction Logs:
- Go to Loyalty → Transactions
- Search by customer ID
- ✅ 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:
- ✅ Refresh campaign progress: Click Sync Progress
- ✅ Check campaign hasn't expired
- ✅ Verify customer's actions match campaign type (scans for scan campaign, orders for order campaign)
- ✅ 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:
- Creating Tiers - Set up VIP levels
- Points Management - Adjust point balances
- Receipt Scanning - Reward offline purchases
- Email Templates - Customize notifications
- Campaign Analytics - Deep-dive into performance
API Reference (for Developers)
For developers integrating campaign functionality: