October 23, 2026

Ecommerce Loyalty Program Emails: What Loyalty Apps Send to Klaviyo

Rahul Talari
Writer Image
Rahul Talari
Founder & CEO, Relvino

An ecommerce loyalty program rewards repeat buying with points, tiers, referrals or perks, and it reaches members through emails and texts. On LoyaltyLion, the Klaviyo data those messages run on starts with current balances and lifetime totals, not dated events: program events from before its Klaviyo integration was installed are not sent.

The exact wording, from LoyaltyLion’s Klaviyo integration manual: “program events that happened before you installed the integration are not sent to Klaviyo.” Its Klaviyo events article says the optional backfill sends customer properties for every member, and “It does not send past events.” Klaviyo’s developer guide for building a loyalty integration gives partners matching advice for the first install: the backfill “sets up the state you need to ship Day 1. Don't try to replay years of historical loyalty activity as events.” The same guide names a bulk event endpoint “for backfills”, so this is advice, not a Klaviyo limit. So on LoyaltyLion with the backfill ticked, the moment the connection goes live Klaviyo knows every member’s balance, tier and running totals such as lifetime points, and has received no loyalty event for any of them. Smile and Yotpo each describe an initial sync of existing customer loyalty data without saying whether past events are included. This guide reads LoyaltyLion’s, Smile’s, Yotpo’s, Klaviyo’s and Shopify’s own documentation as served on October 22, 2026. It is published by Relvino, which decides per shopper across email, SMS and pop-ups and so has a stake in how loyalty messages get sent; read it as informed but interested.

What a loyalty program is, and what it sends

Shopify’s own guide to loyalty programs lists four of “the most popular types”: points-based, tiered, paid and value-based, and says “Points-based loyalty programs are the most common type”. Whatever the type, the member sees the program through a small, predictable set of messages. The three apps’ published Klaviyo event lists add up to this set:

  • Joined. A welcome when a shopper enrolls or creates an account (LoyaltyLion’s Customer enrolled, Yotpo’s Swell Account Created).
  • Points earned. A receipt for points from an order or an action such as a review (Smile’s Points Earned on Order, LoyaltyLion’s Activity rule completed).
  • Reward available. The member can now afford something.
  • Reward claimed. The code or gift card, delivered.
  • Expiring. Points or a claimed reward about to lapse.
  • Tier news. Close to the next tier, moved up, moved down, or at risk of losing status.
  • Referral. A share to a friend, a reminder to the friend, and a thank-you to the advocate when the friend buys.
  • Dates. Birthday and anniversary rewards.

Each message starts in the loyalty app, which holds the balance, the rules and the reward catalog; the email platform holds the template, the list and the send. What crosses between the two decides how the messages behave.

Two streams: properties for state, events for moments

Klaviyo’s guide describes the handoff it wants as “One-way push, partner to Klaviyo, with two concurrent streams”. Profile properties carry persistent state such as points balance, tier and referral URL; events carry moments such as points earned or a tier upgrade, and Klaviyo tells partners that “Each event also writes the relevant profile properties inline, so a single API call covers both streams.” That is Klaviyo’s advice to integration builders, not a description of any one app, but the apps describe the same split. LoyaltyLion’s manual says it “sends two kinds of data to Klaviyo”, customer properties saved on each profile and program events that arrive as metrics. Yotpo’s setup article lists events and customer properties as the two types of information it syncs.

The split matters because the two streams do different jobs. A property personalizes a message and defines a segment: a balance in the subject line, everyone above 500 points. An event starts a flow: the reward-available email exists because something fired. Smile says its events “can be used in Klaviyo Flows (as triggers or conditions)” and its properties “will be continuously updated in Klaviyo as activity occurs.” Yotpo says the same about its properties: “Every time a value is updated (for example, if a customer earns more points), it triggers Yotpo Loyalty & Referrals to automatically push an update into Klaviyo as well.”

Identity rides on the email address. Smile matches customers to Klaviyo profiles by email, “This means that in order for a customer to be synced to Klaviyo, they must have an email address in Smile.” A member known to Smile only by phone number does not reach Klaviyo through that sync.

Day one: what arrives at install

The day-one gap plays out in three ways, whether a store is launching a program or replacing one.

First, the backfill is a choice with a cost. LoyaltyLion offers “Backfill data for all customers” at install. Ticked, it sends the chosen properties for every member; unticked, “we only send customers whose loyalty data changes after you install.” It also warns that “If your Klaviyo account has a profile limit and your program has many inactive customers, you may want to skip the backfill so you do not exceed that limit.” Yotpo’s legacy API-key guide says its initial sync is not instant either: “Depending on the number of customers you have, the data sync may take up to several hours.”

Second, on LoyaltyLion the flows have nothing to choose from at first. LoyaltyLion notes that events start sending at once, “but each one only appears in Klaviyo after it has happened for the first time. For example, the Referral Complete event does not appear until one of your customers has completed a referral.” A LoyaltyLion store building its referral thank-you flow on launch day cannot pick the trigger until a real referral completes.

Third, on LoyaltyLion, anything defined by dated loyalty events starts from zero. On this guide’s reading, a segment of members who redeemed a reward in the last 90 days, built on events, has nothing to count until new redemptions arrive, while segments on properties, including LoyaltyLion’s running totals, are complete once the backfill finishes. A store moving to LoyaltyLion should expect event-based segments and reports to restart, and keep the old app’s exports for the history.

The reward type decides which email exists

The reward catalog shapes the message list directly. LoyaltyLion’s Reward Available event, the trigger for its reward-available emails, fires only for cart discount (except free-form Redeem at checkout), collection discount, free shipping, gift card and custom rewards. Its events article is explicit: “Other reward types, such as Free Product Voucher, Seamless Free Product and subscription rewards, do not trigger the event. If your program only offers those rewards, these emails will not be sent.”

Yotpo’s equivalent depends on whether a code is issued. Its Swell Redemption Created event fires when a customer redeems points and receives a coupon code, and “When the customer does not explicitly receive a coupon code, during redemption at checkout, for example, this event will not fire.” It also fires for every coupon the program generates, including VIP, birthday and referral rewards, so Yotpo suggests a trigger split on the reward name or source “To avoid duplicate emails”. And its welcome event cannot say what the new member earned: “The Swell Account Created event can’t dynamically display the exact new member reward (points or coupon), since there’s no dynamic attribute available for it.”

The practical rule: choose the reward catalog with the event list open. A program built on free-product rewards and checkout redemption can be generous and still quiet in the inbox.

Expiry and tier reminders run on the app’s schedule

Each app schedules expiring-points messages differently. Yotpo’s Points Expiration Reminder sends “30, 14, and 7 days before the points will expire”, and “This reminder is sent only for points with the nearest expiration date.” Smile’s Points Expiring event follows “the warning threshold and last chance threshold defined in the points expiry configuration (defaults to 30 and 3 days before expiry).” LoyaltyLion sends its points-expiring event at a notice period the merchant sets in its points expiration settings, and its reward-expiry notice is “one setting for your whole program”, from 1 to 60 days.

The expiry date itself travels differently too. Klaviyo’s guide asks partners for a points-expiry date property and says it “Drives date-anchored reminders.” Yotpo sends one, loyalty_next_points_expire_on, with the amount expiring alongside it. LoyaltyLion’s FAQ answers the question directly: “Points expiry is not a customer property.” For that message, LoyaltyLion points merchants to its own Points expiring soon email or to its points expiry event.

Tier messages follow the same pattern. LoyaltyLion’s approaching-upgrade event fires within a set percentage of the next tier, 10% by default, and “The event is on a 7 day cool down period”; it sends separate upgraded and downgraded events. Yotpo sends Swell Tier Earned, Swell Tier Lost and a Tier Expiration Reminder 30, 14 or 7 days before a tier expires, depending on settings. Smile’s published event list names VIP Tier Achieved, sent “When a customer achieves a higher VIP Tier or is manually added to a higher VIP Tier.”

The loyalty app is not the opt-in

Loyalty data and marketing consent travel separately, and the docs say so. Yotpo’s legacy Klaviyo article carries a privacy note: “Loyalty & Referrals pushes every customer that has submitted an order, regardless of if they accepted marketing or not.” Its remedy is to segment on the swell_has_account attribute and to use Yotpo’s Loyalty Opt-in feature. LoyaltyLion states the other half: “LoyaltyLion does not send or change marketing subscription status in Klaviyo.” Klaviyo’s guide frames a list as “static audience used for consent. Not where loyalty membership lives.”

Referrals add profiles the store never collected through its own forms. Smile notes that “When the Referral Started event is sent, it will create a new profile in Klaviyo with the email address entered in the referral form.” Which of those profiles may receive marketing is a consent question for the store’s own records, not something the loyalty sync settles.

One sender per message

LoyaltyLion, Smile and Yotpo each have emails of their own, so connecting Klaviyo creates two possible senders for the same message. Yotpo’s setup guide says to “disable Loyalty & Referrals emails manually so that your customers won't get the same email twice.” Smile’s pre-built Klaviyo flows come with the instruction “In Smile, disable the corresponding customer email.” Not every message can move: “It is not possible to send the Referral shared through Smile email from Klaviyo. This email can only be sent from Smile.”

Keep one line per message: which system sends it, which event triggers it, which properties fill it. Without that list, a points-earned email can go out twice, or not at all, after an app setting changes.

LoyaltyLion vs Smile vs Yotpo: what reaches Klaviyo

Quoted phrases are from each vendor’s own documentation; every other cell is this guide’s summary of those pages.

  • Events on which plans · LoyaltyLion: Plus plan; “Events can be added to lower plan levels at an additional cost.” · Smile: Integration on Essential, Standard, Growth, Plus and Enterprise · Yotpo Loyalty & Referrals: Yotpo’s own articles differ: all plans in the OAuth guide, Pro, Premium and Enterprise in the email setup guide
  • Past events at install · LoyaltyLion: “It does not send past events.” · Smile: Not stated; a one-time Sync customer data step sends existing customer loyalty data · Yotpo Loyalty & Referrals: Not stated; legacy setup starts a data sync of customers and loyalty information
  • Points expiry date on the profile · LoyaltyLion: “Points expiry is not a customer property.” · Smile: Not in the profile property list; the expiry event carries points_balance_expires_at · Yotpo Loyalty & Referrals: loyalty_next_points_expire_on and the amount expiring
  • Points expiry reminder · LoyaltyLion: Merchant-set notice period · Smile: Warning and last chance, default 30 and 3 days · Yotpo Loyalty & Referrals: 30, 14 and 7 days, nearest expiry only
  • Marketing consent · LoyaltyLion: “does not send or change marketing subscription status” · Smile: Subscription settings “only apply to emails sent directly from Smile”; referral form emails create Klaviyo profiles · Yotpo Loyalty & Referrals: Legacy article: pushes every customer with an order; segment on swell_has_account
  • Duplicate sends · LoyaltyLion: Not stated in the articles read · Smile: Disable the matching Smile email · Yotpo Loyalty & Referrals: Disable Yotpo’s emails manually

Where the loyalty messages sit in a retention program

Loyalty emails are one part of retention marketing, sent alongside the post-purchase emails every buyer gets. A points-expiry reminder to a member who has not bought in months is in practice a win-back message with a balance attached, so the win-back email examples apply. Whether the program works shows up in the customer retention rate; the Shopify retention strategy guide places loyalty among the other levers.

Relvino decides per shopper which message to send across email, SMS and pop-ups, in under 80ms, using a Large Retail Model trained on 7M+ data points across 10K+ retailers.

Questions to settle before connecting a loyalty app

  • Which events does the plan include? On LoyaltyLion, Klaviyo events come with the Plus plan or as a paid add-on below it; without them, flows start from property segments, which LoyaltyLion says are slower than its enrolled event.
  • Backfill or not? Weigh complete balances against the email platform’s profile count; on LoyaltyLion, past events do not come across either way.
  • Does every reward fire an email? Check the catalog against the reward-available and redemption events before launch.
  • Where does the expiry date live? A property allows date-based flows in the email platform; an event leaves the schedule in the app.
  • Who sends each message? Turn off the app’s copy of every email the platform now sends, and list the ones that cannot move.
  • Who may be marketed to? Segment on consent, not on loyalty membership.

A program that answers those six before launch reaches its members with the messages it was designed to send, from one sender, on a schedule someone chose deliberately.

Frequently asked questions

Can Shopify do loyalty programs?

Partly on its own, and fully with an app. Shopify’s help center describes native store credit, activated by default, and lists using it “as a reward or incentive, such as a loyalty or referral program”; customers apply it at checkout when signed in through customer accounts or using Shop Pay. Store credit expiry is set each time credit is issued, and Shopify says there is “no built-in automation that applies a standard expiry to all store credit.” For points, tiers and referrals, Shopify’s own loyalty guide points merchants to loyalty software from the Shopify App Store, whose Customer loyalty category is where those apps are listed.

What are the 10 most common types of loyalty programs?

No primary source read for this guide publishes a list of ten. Shopify’s guide names four of the most popular types: points-based, tiered, paid and value-based, the last donating a share of purchase profits to charity. Loyalty apps then sell mechanics that combine with any of them: referral rewards, birthday and anniversary rewards, rewards for actions such as reviews or social follows, and store credit or cashback. A store’s program is usually one type plus several mechanics, and each mechanic adds at least one message to send.

Should loyalty emails be sent from the loyalty app or from the email platform?

Either works, as long as each message has exactly one sender. Sending from the email platform keeps loyalty messages in the same design, reporting and frequency rules as everything else; Smile notes that the branding in its pre-built Klaviyo flow templates is pulled from the Klaviyo account’s Brand settings. Moving a message out of the app also moves its unsubscribe handling: Smile lets customers unsubscribe only from whole groups of Smile’s own emails, and says that when a third party such as Klaviyo sends reward emails, the store is responsible for respecting each customer’s email marketing preferences. The usual failure is a half migration, where both send.

Can a loyalty points balance go in an SMS?

Yes, as a profile property. LoyaltyLion’s manual says its properties can be inserted into Klaviyo text messages through the Personalization option, and Klaviyo’s help center lists SMS among the message types that take profile personalization. A text has far less room than an email, so it suits the single number that matters most, with the detail left to email.

How often should a loyalty program email its members?

The apps build in their own limits, which are a reasonable floor. LoyaltyLion’s recurring reward reminder goes only to members who have not received a reward-available event or a reminder in the past month. Yotpo’s points and redemption reminders fire after a period of inactivity. Beyond those, loyalty messages compete with every other campaign for the same inbox, so they belong under the store’s overall frequency rules, not a separate budget.

How long does it take to migrate from Klaviyo to Relvino?

The technical cutover takes about 30 minutes: connect the Shopify store, point the sending domain and SMS number, and shopper data ingests automatically. Revenue is then measured in a 14-day pilot. Before changing any email platform, list the loyalty properties and events that current flows and segments reference. LoyaltyLion connects each loyalty program to one Klaviyo account, and its backfill sends customer properties but not past events, so loyalty event history stays where it was recorded.

More blogs.

Get up to 10x revenue uplift in 90 days.