Hey,
Death Wish Coffee turned on their loyalty email flows inside Klaviyo — dynamic points balances, referral codes, the whole thing — and their loyalty program's revenue jumped 186% in a year. Those loyalty-specific flows now pull 975% higher revenue per recipient than a typical campaign. Reward redemption hit 70%.
They didn't add a tool. They already had one. They just started emailing customers about the points those customers had already earned.
Quick audit while you're here: does your Klaviyo account have a flow that fires when a customer's points are about to expire? A flow that celebrates them hitting a new VIP tier? One that tells them "you now have enough points for a reward — go use it"?
If you paused on any of those, you're in the majority. Most Klaviyo accounts running a loyalty program don't have a single loyalty-triggered flow live. The app is installed. The points are accruing. And the only emails going out are the generic, off-brand defaults the loyalty app sends on its own — buried in the inbox next to shipping confirmations.
That's free money sitting on the table. Let me show you the eight flows that pick it back up.
Curious whether your loyalty platform's events are actually wired into Klaviyo — or just sitting there as static profile fields nobody triggers off of? That's one of the most common gaps we find in a Kleanify audit.
Almost every flow in your account runs on behavioral or transactional data. Someone browsed. Someone abandoned. Someone bought. You react to what they did.
Loyalty data adds a different layer — an emotional and motivational one. Points balance. Tier status. Reward eligibility. Referral activity. That data doesn't just tell you what a customer did; it tells you what they're motivated to do next. Someone sitting on 480 unredeemed points is one nudge away from a purchase. In your Klaviyo account right now, they probably look identical to a customer with zero.
Kirstin Meyerhoeffer, a product marketing lead at Klaviyo, put it well: "When brands sync real-time points balances, tier status, and reward activity into Klaviyo, they move beyond generic promotions and start delivering messages that feel earned and timely."
The stakes are real. Loyalty program members drive 12–18% more incremental revenue annually than non-members. And a 5% bump in retention can lift profits 25–95% (Bain, via HBR). This is the cheapest revenue in your account — and most brands never send a single email to unlock it.
Here's the setup I find in almost every audit.
Brand installs Smile.io, LoyaltyLion, Yotpo, or Rivo. Syncs a couple of basic profile properties into Klaviyo — points balance, tier name — as static fields. And stops there. The loyalty app keeps firing its own default emails because nobody disabled them and nobody built the Klaviyo version.
Two problems compound. First, those loyalty emails look off-brand — they never went through your Klaviyo template builder, they can't be A/B tested, and they ignore your suppression logic. Second, Klaviyo's segmentation and analytics can't see loyalty behavior, so you can't act on it. That customer with 480 points? Invisible.
Bubblehouse's Klaviyo loyalty guide names the symptoms exactly: "disconnected data silos," "generic batch emails," "missed retention windows," "manual segmentation overhead."
Simple gut check: if you've never gone into Flows > Create Flow and picked your loyalty platform under "Select one or more integrations," this is you.
Each of these fires on an event your loyalty platform is already sending to Klaviyo. You're not creating new data. You're just building the email that responds to it.
1. Loyalty Welcome / Enrollment Flow. Fires when a customer joins the program. The first 7 days decide whether they think the program is worth caring about — so this is a short series: welcome + how to earn and spend + referral link, then a nudge to use a time-limited welcome bonus, then a final expiry reminder. Swisse Wellness built a welcome-reward flow like this (via Klaviyo x OMNI Loyalty) and saw a 7x increase in returning customers and a 60x increase in reward redemptions. Trigger on the platform's join event or an enrollment-date property.
2. Points Earned Confirmation Flow. Fires on the "Points Earned" event after a qualifying purchase or action. It confirms the reward worked, reinforces the behavior, and is the perfect spot to show the running balance: "you're 120 points from your next reward." In Smile.io this is the pre-built template literally named "Points Earned on Order" — drop in {{ event.points_change }} for the dynamic count.
3. Points-Expiring Reminder Flow. OK — this is the one I actually want you to build first.
It's pure loss aversion, and it consistently produces some of the highest conversion rates of any loyalty email a brand sends. Nobody wants to lose value they already earned. Stage it as a series — Rivo recommends a 30 / 7 / 3-day cadence — and get specific: the exact points amount, the exact dollar value, one CTA. "You have 480 points expiring in 3 days. Redeem for $10 off today." Smile.io ships two templates for this ("Points Expiry - Warning" and "Points Expiry - Last Chance"). No expiry-warning flow at all is the single most common gap I see. It's also the one that costs you the most, because it's the flow that asks for the sale back most directly. If you build nothing else on this list, build this.
4. VIP Tier Upgrade Celebration Flow. Fires when a customer reaches a new tier. Recognition reinforces the exact behavior — spending — that got them there, and it's your chance to hand them the new perks to use right now. Congratulate them, list the new benefits explicitly, then follow up later with progress toward the next tier. Smile.io's template is "VIP Tier Achieved." LoyaltyLion notes tiers can go down too, so keep the copy factual, not just celebratory.
5. Reward Available / Reward Redeemed Flow. When a customer crosses a threshold that unlocks a reward, tell them. Don't make them notice on their own. This closes the loop — "you can use this now." Smile.io ships "Reward Redeemed" and "Reward Expiring" templates; LoyaltyLion's "Reward Reminder" re-checks the segment every 7 days and re-sends if the customer is still eligible and hasn't redeemed.
6. Referral Flow. This is where loyalty compounds. Fire on "Referral Started," "Friend Received Referral," and "Referral Completed" — and let Klaviyo embed the friend's discount code dynamically with {{ event.receiver_reward_fulfillment.code }}. The numbers here are the loudest on this list. Ministry of Supply combined loyalty + referrals in one Yotpo/Klaviyo stack and doubled referral revenue within 6 months — with 52% of all referrals now coming from VIP-tier customers. HexClad Cookware, running Rivo with Klaviyo as their ESP, generated over $450K in referral revenue in the first 90 days of a tiered referral program — a 92x ROI, with a 17% AOV lift on referred customers. Referred customers cost less and convert more. Your VIPs are your best referrers. Wire it up.
7. Birthday Reward Flow. Personal, expected, consistently high-engagement. Works best as a full-month window rather than a single expiring day — less pressure, more goodwill. In Klaviyo, use a Date Property trigger (not a segment trigger) pointing at the synced birthday field, with conditional splits for different reward tiers. Smile.io's template is "Birthday Reward."
8. Loyalty Reactivation / Win-Back Flow. Your easiest win-back segment isn't lapsed strangers — it's lapsed members who still hold an unused points balance. They already opted into the relationship and they have redeemable value sitting there. A reminder plus a small time-limited bonus reactivates them far cheaper than any paid channel. Segment on last-activity date + points balance: high lifetime points and low recent activity is your bullseye. Almost nobody builds this as its own flow — most brands only have a generic "we miss you" sunset that ignores points entirely.
Death Wish Coffee opened the newsletter. Here are three more, and they run different platforms — so whatever you've got installed, one of these is your combo.
Naturium (an e.l.f. Beauty brand, on Smile.io + Klaviyo) built five loyalty-triggered Klaviyo flows for their "Consistency Club." The result: 64% of all Smile.io point redemptions were attributed to Klaviyo in Q1 2025, with 169% quarter-over-quarter growth in Klaviyo-attributed loyalty redemptions. Same points. The difference was who was emailing about them.
Never Fully Dressed (fashion, on LoyaltyLion + Klaviyo) built welcome, tier-progress, and points-expiry emails personalized with LoyaltyLion data inside Klaviyo. Loyalty now drives 20% of total revenue, program members show 4.3x higher CLV than non-members and order 2.7x more often, and loyalty's contribution to revenue has grown over 200% since launch.
Happy V (women's health) runs seven loyalty-triggered flows plus quarterly redemption reminders. They saw 6.6x YoY growth in loyalty point redemption attributed to Klaviyo flows.
Notice the pattern across all of them: nobody added budget. They activated infrastructure they were already paying for.
The good news — this is genuinely an afternoon of work, not a project.
All four major platforms (Smile.io, LoyaltyLion, Yotpo, Rivo) connect to Klaviyo via OAuth. No developer, and the initial sync usually finishes within an hour. Once connected, you get two things.
Profile properties — points balance, VIP tier name, referral URL, enrollment date, birthday. These update on a delay and power segment-based flows.
Events / metrics (visible under Metrics > API) — Points Earned, Reward Redeemed, VIP Tier Achieved, Referral Completed, Points Expiring. These fire in real time and power event-triggered flows.
Here's the distinction that trips people up: for time-sensitive moments — a tier upgrade, points about to expire — use the event trigger, not a segment trigger. Segment triggers only fire on Klaviyo's normal profile-refresh cycle, which means your "last chance, points expire tomorrow" email might land two days late. Rivo's guide is explicit about this.
A few things to check if it looks broken:
Loyalty fields not showing up in profiles? The program's still in draft mode, or the initial sync hasn't finished.
Flows not triggering? Event tracking isn't enabled in the loyalty platform's settings. Test it: manually award points to a dummy account and confirm the event lands in Klaviyo's Metrics > API folder.
Customers getting two of the same email? Both the loyalty app and Klaviyo are firing. Once your Klaviyo flow is live, go disable the loyalty platform's native version of that email. This is the step everyone forgets, and it's why some brands' loyalty emails feel spammy.
If you run a loyalty program, you've already done the hard part. You paid for the platform. Your customers are earning points. The data is sitting in Klaviyo as profile properties and events right now.
The only thing missing is the emails that act on it — and the highest-leverage one is dead simple: a points-expiring flow that reminds people they're about to lose value they already earned. Build that this week. Then work down the list.
Death Wish didn't get 186% by being clever. They got it by turning something on.
Want us to look at your account and tell you exactly which of these 8 loyalty flows are live, which loyalty events are actually wired into Klaviyo, and what the gaps are worth to you? If you run Smile.io, LoyaltyLion, Yotpo, or Rivo alongside Klaviyo, this is a fast, high-leverage thing for us to map. We cover it (plus 40+ other flow, filter, and deliverability settings) in our free Klaviyo audit. Takes 3–5 days. Detailed report. Zero obligation.
Go fix one thing today.
— Sahil
No posts

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.