How To Build Loyalty Emails for Subscription Customers
alex
·October 23, 2025
·8 min read
Design loyalty emails that fit how subscriptions actually work—renewals, skips and swaps, points and tiers, and churn saves—not just generic newsletters. This guide shows you exactly what to build, when to send it, how to personalize it, and how to measure impact on retention and CLV.
Time to complete: 1–2 days to plan and draft; 1–2 days to implement and QA
Difficulty: Intermediate (ESP and subscription app familiarity recommended)
You’ll need: Access to your ESP (e.g., Klaviyo, Mailchimp), your subscription app (e.g., Recharge, Bold, Recurly, Chargebee), and loyalty program data if applicable
Step 1: Map the subscription events your emails will use
Do this once. It will prevent misfires and missed triggers later.
Subscription lifecycle events to capture:
Upcoming charge/renewal date
Renewal completed (success)
Payment failed and retry schedule
Skip, swap, pause
Cancellation initiated/completed
Loyalty events (if you run a points/tiers program):
Points earned, balance changed, tier change
Reward issued/redeemed, points expiry date
Verification checklist
Confirm these events appear on a few test profiles inside your ESP (or via webhook ingestion). In Klaviyo, review Segment/Profiles activity; see the official segment conditions reference for how events and properties drive segmentation.
Check that timestamps align with your store’s local time and your send window.
Document the “cutoff” for edits (skip/swap/payment updates) so your reminders don’t promise changes after ops locks an order. Bold’s documentation explains configurable “cutoff days” for fixed schedules, with a common recommendation around 15 days for monthly frequencies; treat this as a pattern to adapt to your operation, not a rule, per Bold Subscriptions’ What Are Cutoff Days? (support) (2024).
Tip for Shopify stores: If you plan to attribute email-assisted renewals beyond last-click, ensure your Shopify events sync to your analytics tool. See the Attribuly Shopify integration overview for data flow considerations.
Step 2: Build the four core loyalty flows for subscribers
You’ll cover 80% of retention lift with these.
A) Renewal reminders and confirmations
Purpose: Reduce churn and WISMO by giving customers time and tools to manage their next charge.
Recommended timing (starting points; test and adjust):
T‑14 to T‑7 days before charge: Renewal reminder with “Skip/Swap/Update payment” actions
T‑1 day: Friendly nudge; reiterate options and cutoff
T+0: Post‑renewal confirmation + receipt + what’s next
Why these windows: Recharge’s notifications confirm upcoming charge reminders are supported and typically sent a few days before billing (default 3 days, configurable), with a fixed evening send window, per Recharge notifications & timing (2024). Recurly also supports configurable renewal reminders, per Recurly renewal reminder docs (2024). Using 7–14 days as a starting range provides enough lead time for customers to update cards or change the order.
Copy starters
Subject: Your plan renews in 7 days — skip or swap now
Preheader: Manage this delivery in 2 clicks. Cutoff: Friday 5 pm.
Body CTA block: “Skip this month,” “Swap item,” “Update card” (use your subscription app’s Quick Action URLs when available)
Guardrails
Suppress if the customer already skipped/swapped in the last 48–72 hours.
Exclude profiles in active support tickets to avoid mixed messages.
Verification
Trigger a test upcoming-charge event to your own profile; confirm the flow fires and links route to the correct portal page.
Confirm local-time sending and that suppression rules skip recent recipients.
B) Milestone and anniversary moments
Purpose: Recognize tenure and usage to strengthen affinity.
Triggers to consider
Subscription anniversary (3, 6, 12 months)
“Nth delivery” milestones (e.g., 5th box)
Cumulative spend thresholds (e.g., $500 lifetime)
Copy starters
Subject: 6 months with us — a thank-you gift inside
Offer: Small bonus points, early access, or a sample add‑on
Dynamic block: Show next milestone progress and a relevant add‑on based on last product received
Verification
Test with profiles at different tenures; preview conditional blocks showing different rewards per tier.
C) Rewards and points lifecycle
Purpose: Increase redemption and perceived value by making progress visible and time-bound.
Key messages
“You earned X points”: immediate acknowledgment
“Only Y points to your next reward”: progress‑to‑goal with recommended actions
“Points expire on DATE”: 14 and 3 days prior to expiry
“Redemption confirmed”: after reward use
Copy starters
Subject: You’re 120 points from $10 off — here’s the fastest way
Preheader: Earn 2× points this week on bundles
Body: Progress bar + recommended SKUs
Verification
Confirm point balance and expiry dates render correctly in dynamic fields.
Ensure redemption confirmation suppresses other reward prompts for a short window (e.g., 48 hours).
D) Churn risk and save flow
Purpose: Catch intent to cancel or signs of disengagement early and offer alternatives.
Triggers to use
Inactivity: No opens/clicks/purchases for 30–60 days
Cancellation intent: Clicked “cancel” or visited cancellation page
High skip frequency: Skipped two cycles in a row
Save options
One-click pause/skip, frequency change, smaller size
Plan swap (e.g., different flavor) or personalized bundle
Targeted discount for high-LTV, high-risk segment (test carefully)
Verification
Confirm “cancel intent” and “recently paused” events enter the flow and receive the correct variant.
Review complaint and unsubscribe rates weekly to avoid over-pressuring.
Step 3: Add failed payment recovery (dunning)
A structured dunning cadence recovers revenue without harming inbox reputation.
Starting cadence (email)
Immediately after first failure: Polite tone; “Update payment” primary CTA
+2–3 days: Clarify next retry timing; offer alternate payment
+5–7 days: Escalate urgency; warn of interruption
+10–14 days (optional): Final notice with cutoff date
Why this works: Payment platforms provide intelligent retry and dunning tooling. Stripe’s Smart Retries use machine learning to pick better retry times, which you can pair with your emails, per the Stripe Smart Retries overview (2024). Chargebee documents configurable smart/manual dunning with multiple retries and tailored timing, per Chargebee dunning management (2024). Recurly’s guidance suggests 3–4 messages over ~28 days as a common pattern (see Recurly’s dunning best practices cheat sheet 2024).
Verification
Simulate a failure in sandbox; watch retry schedule and email triggers.
Confirm expiring-card reminders are enabled (supported by most billing platforms, e.g., Stripe’s customer emails 2024).
Step 4: Personalize with segments and dynamic blocks
Segment logic that moves the needle
By tenure: New (≤2 cycles) vs. loyal (3+ cycles)
By plan/tier: Standard vs. premium vs. prepaid
By last product received: Recommend complementary SKUs
By AOV/LTV band: Withhold discounts for low-risk, incentivize high-risk/high‑LTV
By engagement: High clickers vs. dormant subscribers
Implementation notes
In Klaviyo, combine profile properties (e.g., plan tier) and events (e.g., upcoming charge) for precise segments; see the segment conditions reference (Klaviyo 2024).
If you use Recharge on Shopify, you can pass custom properties and Quick Action URLs for one‑click skip/swap in emails; see Recharge + Klaviyo use cases (2024).
Verification
Preview each email for at least three personas: new subscriber, 6‑month loyalist, high-risk skipper.
Click through Quick Action links in staging to confirm the correct portal action.
Step 5: Control cadence and avoid fatigue
Set guardrails so helpful flows don’t become spammy.
A/B testing: Change only one variable per test and run to confidence thresholds; guidance on method and evaluation from Validity’s A/B testing primer (2024).
Step 7: Measure impact and attribute beyond last‑click
Track what matters to retention and loyalty. Start with these KPIs and formulas:
Customer lifetime value (CLV): AOV × Purchase Frequency × Average Customer Lifespan; see definitions in NetSuite’s eCommerce metrics primer (2024). Read the NetSuite eCommerce metrics overview for context.
Retention rate: (Customers at end − New customers) ÷ Customers at start × 100; and Churn rate: Lost customers ÷ Customers at start × 100. See BonLoyalty’s KPI guide (2024) for loyalty math.
Redemption rate: Rewards redeemed ÷ Rewards issued × 100; Yotpo outlines common loyalty measures in its how to measure customer loyalty article (2024).
Engagement: Delivered opens/clicks; monitor unsubscribes and spam complaints for fatigue.
Attribution notes
Use multi‑touch or data‑driven models to see email’s assist value, not just last‑click. If you want a practical overview of multi‑touch methods tailored to eCommerce, see Attribuly’s multi-touch attribution overview.
Validate lift with experiments: holdout/control groups for specific flows (e.g., withhold the milestone email for a random cohort) and compare retention/CLV over time. Google’s experiments documentation describes control/experiment setups conceptually; see Google Ads Experiments Help (2024).
Tracking hygiene tip: Use consistent UTMs and branded short links for cleaner analytics in inboxes and messaging. For setup considerations, see Attribuly’s pricing page details on branded links.
Step 8: Compliance and deliverability checklist (2024+ requirements)
Mailbox providers tightened bulk-sender rules in 2024. Before scaling, confirm:
CAN‑SPAM: Use a truthful sender and subject, include a physical address, and honor opt‑outs promptly; see the FTC’s CAN‑SPAM compliance guide for business (FTC, current).
Verification
Run SPF/DKIM/DMARC checks and confirm alignment.
Check that list‑unsubscribe headers are present and working.
Monitor Gmail Postmaster/Yahoo dashboards weekly for spam and reputation trends.
Step 9: Common pitfalls and fast fixes
Flow doesn’t trigger: Confirm the source event arrives in your ESP and the filter logic isn’t too narrow. Manually trigger test events.
Duplicate sends: Add recent‑send suppression (48–72 hours) and resolve conflicts across flows with priorities.
Wrong dynamic content: Preview as multiple personas; verify property names and fallbacks.
Dunning loop overwhelms inboxes: Reduce email count or widen spacing; rely more on platform retries (e.g., Stripe Smart Retries) and add a final cutoff.
High complaints/unsubs: Lower frequency, clarify value in subject lines, and add self‑serve options (pause/skip) prominently.
What to do next
Launch in this order: Renewal reminders → Dunning → Churn save → Rewards/Milestones.
Iterate timing windows and incentives based on results; keep changes simple and test one variable at a time.
If you want an analytics layer to understand email’s contribution to retention beyond last‑click and to keep your tracking clean, consider using Attribuly. Disclosure: Attribuly is our product.