skills/marketing-growth/loyalty-program-optimization/SKILL.md
Design and optimize tiered loyalty programs with points, rewards, exclusive perks, and member-only benefits that increase repeat purchase rates and CLV
npx skillsauth add finsilabs/awesome-ecommerce-skills loyalty-program-optimizationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
| 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.
Before installing anything, define:
Points earn rate:
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):
Alternative: Use Gratisfaction plugin (more feature-rich, $99/yr) which includes gamification, social sharing rewards, and birthday bonuses.
Use a loyalty API platform like Voucherify or Loyaltycrm.com rather than building from scratch. These provide:
If you must build custom:
// 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 });
}
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):
You earned {{ event.SmilePointsEarned }} points. Balance: {{ profile.SmilePointsBalance }} pointsBalance reaches 500 points100 points away from SilverPoints expiry email:
| 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.
| 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 |
tools
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
development
Build a themeable storefront with design tokens and CSS custom properties that supports white-labeling, multi-brand variants, and dark mode
development
Speed up product discovery with instant search suggestions, fuzzy typo matching, and category-aware results powered by Algolia or Elasticsearch
development
Build a mobile-first storefront with thumb-friendly navigation, sticky add-to-cart buttons, and touch-optimized components for high mobile conversion