Skip to content
Klaviyo loyalty flows & automationKlaviyo, Flows, WooCommerce

7 Klaviyo Flows Every WooCommerce Store With Loyalty Should Build

A WooCommerce loyalty program that only shows a balance on an account page is not doing much. The value shows up in Klaviyo, in the flows that react to what a customer’s points are actually doing: earned, close to a reward, about to expire, just redeemed. If the loyalty tool sends Klaviyo seven distinct metrics rather than one generic event, each of those flows is a single trigger selection, not a trigger plus a property filter you have to get exactly right. Here is one flow per metric, what it should say, and why it earns a dedicated automation.

1. Welcome and earn-rate explainer, triggered on Program Joined

Program Joined fires the moment a customer signs up for the loyalty program, separate from creating an account or placing an order. That is the flow’s whole justification: you know they just opted in, so the timing to explain the program is right now, while it is on their mind.

Send the earn rate in plain terms (points per euro spent, not a formula), what a redeemed reward looks like as a real coupon, and the signup bonus if there is one. Keep it to one email. A second email a few days later, once Points Earned has fired at least once, can show their actual balance instead of a hypothetical.

2. Purchase confirmation reinforcement, triggered on Points Earned

Points Earned fires when an order completes and points are credited. Most stores already send an order confirmation through WooCommerce itself, so this flow is not a duplicate, it is a reinforcement: a short email or an addition to an existing flow that states the new balance and how many points stand between the customer and their next reward.

This is the highest-frequency flow of the seven, since it fires on every completed order. Keep the design light, a couple of lines is enough. The goal is reminding people the program exists on the exact day they interacted with your store, not writing a second full order-confirmation email.

3. Redeem-now, triggered on Reward Unlocked

Reward Unlocked fires the moment a balance first crosses into redeemable territory. It is arguably the single highest-intent moment in the whole program: the customer has something to spend, and they have it right now.

Trigger a flow directly on Reward Unlocked, no delay, and lead with the specific reward available, not a generic “you have points” message. If the reward is a coupon with restrictions (minimum order, category-limited, one-time use), state that upfront instead of letting them discover it at checkout.

4. Almost-there nudge, triggered on Points Milestone

Points Milestone fires when a balance crosses a threshold you configure yourself, for example halfway to the next reward. Unlike Reward Unlocked, the customer cannot redeem anything yet, so the flow’s job is different: give them a reason to place one more order rather than a reason to check out immediately.

A single email works: state exactly how many points are left, and if you run campaigns with point multipliers, mention any active one as a reason to close the gap sooner. Skip this flow entirely if you have not configured a milestone threshold; there is nothing to trigger it.

5. Coupon delivery and expiry reminder, triggered on Points Redeemed

Points Redeemed fires when a customer converts points into a coupon. The flow has two jobs in one: deliver the coupon code and its restrictions clearly, then follow up before the coupon itself expires if it has a shelf life.

Two emails cover it. The first, immediate, states the code and exactly what it applies to. The second, timed a few days before the coupon’s own expiry (not the loyalty program’s points expiry, a separate date), is a plain reminder. Conflating the two expiry dates in copy is a common mistake worth checking for before you ship this flow.

6. Win-back before points lapse, triggered on entering a Points Expiring Soon segment

This is the one flow of the seven not triggered directly on an event. Build a segment on the Points Expiring Soon profile property, then trigger a flow on segment entry. The lead time is up to you, a week or two before the points actually leave the balance gives the customer room to act.

State the number of points at risk and the date they expire, and if the balance clears a reward threshold, say so explicitly (“your points cover a reward right now, here’s what it gets you”). This flow is the direct answer to “how do I stop points expiring silently,” and it only works if points expiry is configured in the first place; it is off by default.

7. Refund-adjustment transparency, triggered on Points Revoked

Points Revoked fires when an order is refunded and the points it earned are taken back. This flow exists to prevent a support ticket, not to sell anything: explain the adjustment before the customer notices their balance dropped and writes in confused or annoyed.

One short, factual email is enough: which order triggered the adjustment, how many points were removed, and the resulting balance. Skipping this flow does not break anything technically, but it means the first time a customer learns about a points adjustment is when they go looking for an explanation themselves.

Why seven flows instead of one flow with six filters

Every one of these seven flows is a direct trigger, not an event followed by a trigger split and a property condition. That distinction is the whole practical difference between a loyalty tool that sends Klaviyo one versatile event with a reason property and one that sends seven distinct metrics; the full comparison is here. For the complete metric reference, the six profile properties these flows can also segment on, and the underlying setup, see the Klaviyo integration page.

The honest limit

None of these seven flows need anything beyond Klaviyo’s standard flow builder, and none of them require code. What they do require is a loyalty tool that actually sends seven distinct events instead of one, since a single-event, reason-property model turns every flow above back into a trigger-plus-filter setup step. If your current tool already sends granular events, this same list of seven flows applies regardless of which app sends them.

Ten minutes from here to points on live orders

Create an account, install the plugin, connect your store. Free up to 200 orders a month, every feature included, no credit card.

Start free
Featured onLaunched on kind-loyaltyFeatured on EasyLaunchkind loyalty - Featured on Startup Famekind loyalty on Nick LaunchesFeatured on EasyDoFollowFeatured on Findly.toolsListed on MarketingDB