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.
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:
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.
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.
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 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.
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.”
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.
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.
Quoted phrases are from each vendor’s own documentation; every other cell is this guide’s summary of those pages.
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.
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.
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.
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.
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.
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.
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.
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.