loyalty-program-optimization
Design and optimize tiered loyalty programs with points, rewards, exclusive perks, and member-only benefits that increase repeat purchase rates and CLV
Best use case
loyalty-program-optimization is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Design and optimize tiered loyalty programs with points, rewards, exclusive perks, and member-only benefits that increase repeat purchase rates and CLV
Teams using loyalty-program-optimization should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/loyalty-program-optimization/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How loyalty-program-optimization Compares
| Feature / Agent | loyalty-program-optimization | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Design and optimize tiered loyalty programs with points, rewards, exclusive perks, and member-only benefits that increase repeat purchase rates and CLV
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Loyalty Program Optimization
## Overview
A well-designed loyalty program increases repeat purchase rate by 20–40% and CLV by giving customers a compelling reason to consolidate their spending with your brand. Dedicated loyalty apps handle the entire points engine, tier management, redemption mechanics, and customer-facing portal without custom code. The strategic decisions — which tiers to create, what benefits to offer, and how to avoid training customers to wait for redemptions — are where the real work is.
## When to Use This Skill
- When launching a new loyalty program from scratch
- When an existing points program has low redemption rates or member engagement
- When wanting to add tiered VIP benefits to an existing points program
- When diagnosing whether your loyalty program is driving incremental revenue or just rewarding purchases that would have happened anyway
## Core Instructions
### Step 1: Choose the right loyalty platform
| Platform | Best For | Shopify | WooCommerce | BigCommerce | Price |
|----------|---------|---------|-------------|-------------|-------|
| **Smile.io** | Simplicity, quick setup | App Store | Plugin | App Marketplace | Free tier; $49/mo for tiers |
| **Yotpo Loyalty** | Brands already using Yotpo Reviews/SMS | App Store | Limited | App Marketplace | $199+/mo |
| **LoyaltyLion** | Advanced program design, custom rules | App Store | Plugin | App Marketplace | $399+/mo |
| **Stamped Loyalty** | Brands using Stamped Reviews | App Store | — | — | $119+/mo |
| **YITH WooCommerce Points and Rewards** | WooCommerce only | — | Plugin | — | $149/yr |
**Recommend Smile.io for most stores** — it has the best balance of features and simplicity, works on all major platforms, and has a free tier to start.
### Step 2: Design your program structure
Before installing anything, define:
**Points earn rate:**
- 1 point per $1 spent (= 1% cashback equivalent at 100 points = $1)
- Adjust based on your margins — consumer goods (30%+ margin): 1 point per $1 is fine; lower margin products: 0.5 points per $1
**Tier thresholds (use annual spend):**
| Tier | Annual Spend | Benefits |
|------|-------------|---------|
| Member | $0+ | 1x points earn |
| Silver | $500+ | 1.5x points, free standard shipping |
| Gold | $1,500+ | 2x points, free expedited shipping, early access to sales |
| Platinum | $5,000+ | 3x points, members-only products, priority support |
**Redemption rate:** 100 points = $1 discount (set a minimum of 500 points to redeem)
**Non-purchase earn actions** (makes program stickier at no revenue cost):
- Account sign-up: 100 points
- Leave a review: 50 points
- Refer a friend: 200 points (if they purchase)
- Birthday month bonus: 2x points on all purchases
### Step 3: Set up your loyalty program
---
#### Shopify with Smile.io
1. Install Smile.io from the Shopify App Store
2. Go to **Smile.io → Points → Ways to Earn** and configure:
- "Place an order": points per dollar (set your earn rate)
- "Create an account": 100 points
- "Happy birthday": 2x points in birthday month
- "Write a review": 50 points (connects to Judge.me or Stamped Reviews)
- "Refer a friend": 200 points per successful referral
3. Go to **Smile.io → Points → Ways to Redeem** and configure:
- "Discount on order": 100 points = $1 off
- Set minimum order value for redemption ($30 recommended)
4. Go to **Smile.io → VIP → Create Program** and set up your tiers:
- Enter the tier names, point thresholds, and benefits (free shipping, multipliers, etc.)
5. Go to **Smile.io → Rewards Panel** to customize the widget that appears on your storefront
6. Connect Smile.io to Klaviyo under **Smile.io → Integrations** — this enables sending points balance in Klaviyo emails
---
#### WooCommerce with YITH WooCommerce Points and Rewards
1. Install YITH WooCommerce Points and Rewards from the WordPress plugin directory ($149/yr)
2. Go to **YITH → Points and Rewards → Points → Earn Points** and configure:
- Points per currency unit: 1 point per $1
- Registration bonus: 100 points
- Review bonus: 50 points
3. Go to **YITH → Points and Rewards → Redemption** and set:
- Points per currency: 100 points = $1 off
- Maximum discount allowed: 20% of cart value (prevents 100% discount gaming)
4. For tiers: install **YITH WooCommerce Membership** to create VIP tiers based on spend level
**Alternative**: Use **Gratisfaction** plugin (more feature-rich, $99/yr) which includes gamification, social sharing rewards, and birthday bonuses.
---
#### BigCommerce with Smile.io
1. Install Smile.io from the BigCommerce App Marketplace
2. Configuration is identical to the Shopify setup described above
3. Smile.io integrates with BigCommerce's native coupon system for redemption
---
#### Custom / Headless
Use a loyalty API platform like **Voucherify** or **Loyaltycrm.com** rather than building from scratch. These provide:
- Points ledger and transaction API
- Tier management
- Redemption code generation
- Webhooks for earn/redeem events
If you must build custom:
```typescript
// Core points earn function — call this from your order webhook
async function earnPoints(params: {
customerId: string;
orderId: string;
orderValue: number; // subtotal, not including tax/shipping
reason: 'purchase' | 'review' | 'referral' | 'signup';
}) {
const customer = await db.customers.findById(params.customerId);
const tier = customer.loyaltyTier; // 'member', 'silver', 'gold', 'platinum'
const multiplier = { member: 1.0, silver: 1.5, gold: 2.0, platinum: 3.0 }[tier];
const basePoints = Math.floor(params.orderValue * 1); // 1 point per $1
const pointsToAward = Math.floor(basePoints * multiplier);
await db.loyaltyTransactions.create({
customerId: params.customerId,
orderId: params.orderId,
type: 'earn',
points: pointsToAward,
reason: params.reason,
});
await db.customers.increment(params.customerId, { loyaltyPoints: pointsToAward });
}
```
### Step 4: Connect loyalty to email marketing
The highest-ROI loyalty email is the points balance email — it drives repurchases by reminding customers they have value waiting.
**In Klaviyo (connected to Smile.io):**
1. Add points balance to every post-purchase email: `You earned {{ event.SmilePointsEarned }} points. Balance: {{ profile.SmilePointsBalance }} points`
2. Create a flow triggered by: **Smile.io Points Balance Threshold** → `Balance reaches 500 points`
3. Email: "You have enough points to redeem for $5 off your next order"
4. Create a flow triggered by: **Approaching Tier Upgrade** → `100 points away from Silver`
5. Email: "You're almost Silver! Spend $X more to unlock free shipping"
**Points expiry email:**
1. Create a flow triggered by 30 days before point expiry
2. Email: "Your 320 points ($3.20) expire in 30 days — use them before they're gone"
3. This is one of the highest-converting loyalty emails
### Step 5: Measure program performance
| Metric | Healthy Target | Where to Find |
|--------|---------------|---------------|
| Member enrollment rate | > 30% of customers enrolled | Smile.io → Dashboard |
| Points redemption rate | > 20% of earned points redeemed | Smile.io → Analytics |
| Revenue from loyalty members vs. non-members | Members should be 2-3x higher | Compare order value in Shopify/Analytics |
| Repeat purchase rate for enrolled vs. non-enrolled | Members should be 20%+ higher | Shopify Customer Cohorts or Smile.io analytics |
If redemption rate is below 15%, the redemption threshold is too high or customers are unaware of their balance. Lower the minimum redemption threshold or add a points balance widget to the account page.
## Best Practices
- **Announce points balance in every post-purchase email** — "You earned 45 points — you now have 320 points ($3.20 to redeem)" drives engagement; most loyalty apps include this via email integration
- **Use annual spend for tier qualification, not current balance** — rewards consistent spend, not balance gaming
- **Add non-purchase earning actions** — reviews, referrals, and social shares make the program stickier without pure revenue cost
- **Create "double points" events** — point multiplier promotions drive purchase without the perceived cheapness of a discount code
- **Set a minimum redemption threshold** ($5 minimum / 500 points) — prevents micro-redemptions that create operational overhead
- **Email members 30 days before points expire** — expiry warning emails are among the highest-converting loyalty emails
## Common Pitfalls
| Problem | Solution |
|---------|----------|
| Low redemption rate (< 20%) | Lower the minimum redemption threshold; add a points balance widget to the account page; include balance in order confirmation emails |
| Tier status not downgrading | Configure annual re-qualification in your loyalty app settings; communicate downgrade 30 days in advance |
| Members gaming the system with micro-purchases | Set minimum order value for earning points ($15+) in app settings |
| Points not reversing on refunds | Configure refund rules in your loyalty app — Smile.io has this under Settings → Points → Refund Policy |
| Loyalty program costs more than it generates | Track incremental revenue: compare AOV and purchase frequency of loyalty members vs. non-members using a matched control group |
## Related Skills
- @customer-retention-engine
- @lifecycle-marketing-automation
- @referral-viral-loops
- @email-marketing-automation
- @review-generation-engineRelated Skills
loyalty-points-system
Reward repeat customers with points they earn on every purchase, redeem for discounts, and accumulate to unlock higher-tier benefits
payment-terms-optimization
Configure flexible payment terms for B2B customers with net-30/60/90 options, early payment discounts, credit limit management, and automated collections
checkout-flow-optimization
Design a high-converting checkout with address autocomplete, smart field ordering, progress indicators, and minimal friction to reduce abandonment
conversion-rate-optimization
Systematically improve your store's revenue per visitor by auditing checkout drop-off, running heatmaps, and implementing CRO best practices
image-optimization-cdn
Speed up your store by automatically resizing and converting product images to WebP/AVIF, adding lazy loading, and serving via CDN
database-optimization-commerce
Speed up slow product and order queries with proper indexing, query analysis, read replicas, and search engine offloading strategies
referral-program
Grow your customer base with a refer-a-friend program featuring unique shareable links, tiered rewards, and built-in fraud prevention
wishlist-save-for-later
Let shoppers save products to a wishlist, share it with friends, and get notified when saved items come back in stock or drop in price
storefront-theming
Build a themeable storefront with design tokens and CSS custom properties that supports white-labeling, multi-brand variants, and dark mode
search-autocomplete
Speed up product discovery with instant search suggestions, fuzzy typo matching, and category-aware results powered by Algolia or Elasticsearch
responsive-storefront
Build a mobile-first storefront with thumb-friendly navigation, sticky add-to-cart buttons, and touch-optimized components for high mobile conversion
recently-viewed-products
Show shoppers the products they recently browsed using browser storage so they can easily pick up where they left off on your store