How to run tiered bonus points campaigns by order value
If you want to reward higher cart values with bigger point payouts, tiered bonus points campaigns are a reliable approach.
Example structure:
Orders up to $50 earn 250 bonus points
Orders from $51 to $150 earn 500 bonus points
Orders above $150 earn 1000 bonus points
This guide shows how to build that setup with Shopify Flow and Rivo actions.
✨ Shopify controls Flow availability by Shopify plan. Confirm eligibility in Shopify’s Flow documentation.
Before you start
Decide whether you want this campaign to appear in your customer-facing “Ways to Earn” list:
Option A: Quick campaign setup — Use Add Points in Shopify Flow. This is fastest and works well for short promotions.
Option B: Customer-visible earning method — Use Add Points for a Custom Action so the campaign can map to a named earning method in your loyalty program.
For Option B, first set up your custom action in Rivo, then use the exact same action name in Flow.
For custom action setup, see Getting Started with Custom Actions.
Set up a tiered campaign with Shopify Flow
In Shopify admin, open Flow and click Create workflow.
Choose an order-based trigger (for example, an order event).
Add conditional branches for your value tiers, such as:
Tier 1: order subtotal is less than or equal to 50
Tier 2: order subtotal is greater than 50 and less than or equal to 150
Tier 3: order subtotal is greater than 150
In each branch, add one Rivo action:
Use Add Points for a fast, campaign-style setup
Or use Add Points for a Custom Action if you want the campaign tied to a specific custom earning method
Set the points amount per branch (for example: 250 / 500 / 1000).
Make sure the workflow sends a valid customer identifier (customer email or Shopify customer ID).
Turn the workflow on and place test orders across each tier.
Recommended tier logic (to avoid stacking)
Use mutually exclusive ranges so each order only matches one tier.
Example:
Tier 1: subtotal <= 50
Tier 2: subtotal > 50 and subtotal <= 150
Tier 3: subtotal > 150
If your ranges overlap, a single order can qualify for more than one branch depending on how your Flow is built.
Using custom actions for a cleaner customer experience
If you want customers to understand why they received bonus points, custom actions are usually easier to explain.
Suggested setup:
Create one custom earning method in Rivo for each tier (or one shared campaign action name, depending on your structure).
In Flow, use Add Points for a Custom Action and pass the exact action name from Rivo.
Keep action names consistent and simple so your team can maintain campaigns easily.
If needed, set earning frequency limits on the custom action to control how often each customer can earn from that campaign.
Campaign best practices
Run it as a limited-time event to create urgency.
Announce it in email/SMS and onsite messaging so customers understand the tier thresholds.
Use clear threshold language like “Spend $151+ and earn 1000 bonus points.”
Test all branches before launch using draft/test orders at each threshold.
Plan your campaign end date so bonus payouts stop exactly when expected.
For a scheduled multiplier-style campaign, see Bonus Campaigns.
For full Flow setup details, see Integrating with Shopify Flow.
FAQ
Can I run tiered order-value bonus points without Shopify Flow?
If you need strict “if-this-range-then-that-points” logic, Shopify Flow gives you the most control.
Should I use “Add Points” or “Add Points for a Custom Action”?
Use Add Points for speed. Use Add Points for a Custom Action when you want the campaign tied to a named earning method and easier to explain in your program structure.
My custom action is not awarding points in Flow. What should I check first?
Confirm the custom action name in Flow exactly matches the action name in Rivo.
How do I prevent customers from earning the same campaign reward too often?
Use frequency limits on the custom action and keep tier conditions mutually exclusive.
