Klaviyo Events
Event properties are structured as the following:
{{ event|lookup:'VARIABLE NAME' }}
For example, with the Points Awarded event, if you wanted to display the name of the earning rule, you can do: {{ event|lookup:'Earning Rule' }}. This returns a value such as Made a purchase or Follow on Instagram.
Points Awarded
Fired when a customer earns points through purchases, actions, or other earning rules.
Profile: Customer's email
Property | Tag | Description |
Points Awarded |
| Number of points earned |
Earning Rule |
| Name of the earning rule (or "Manual") |
Status |
| Status of the earning (e.g. |
Order Number |
| Shopify order number, if points were earned from a purchase |
Multiplier bonus campaign properties
The three properties below are only included when a multiplier bonus campaign boosted the purchase (for example, double points). The multiplied total is already in Points Awarded above; these just describe the boost. They are not present on a normal earning. Tiered bonus campaigns use the separate Bonus Points Awarded event instead.
Property | Tag | Description |
Bonus Campaign |
| Name of the multiplier bonus campaign that boosted these points |
Bonus Multiplier |
| The multiplier applied, e.g. |
Bonus Points |
| The extra points contributed by the campaign (the amount earned above the standard rate) |
Bonus Points Awarded
Tiered bonus campaigns only.
This event fires for the flat, per-order bonus from a tiered campaign (for example, "Spend $1,000, earn 200 bonus points"). Multiplier campaigns do not use this event. Their boost is folded into the Points Awarded event above.
This bonus is a separate award from the standard purchase points, so it has its own event and can power a dedicated bonus reward flow without affecting your Points Awarded flow.
Profile: Customer's email
Property | Tag | Description |
Bonus Points |
| Number of flat bonus points awarded |
Campaign Name |
| Name of the bonus campaign |
Qualifying Spend |
| The order spend that counted toward the threshold (item subtotal, excluding shipping and taxes) |
Spend Threshold |
| The spend threshold the customer reached to earn this bonus |
Status |
| Status of the bonus: |
Order Number |
| Shopify order number that earned the bonus |
Reward Redeemed
Fired when a customer redeems their points for a reward or discount.
Profile: Customer's email
Property | Tag | Description |
Reward Name |
| Name of the reward redeemed |
Points Spent |
| Number of points spent |
Discount Type |
| Type of discount (e.g. |
Discount Code |
| The discount code for the reward |
VIP Tier Changed
Fired when a customer moves up or down VIP tiers based on their lifetime points.
Profile: Customer's email
Property | Tag | Description |
New Tier Name |
| Name of the tier the customer moved to (e.g. Gold) |
Previous Tier Name |
| Name of the previous tier, if applicable |
Referral Invite Sent
Fired when an advocate sends a referral email invite to a friend.
Profile: Advocate's email
Property | Tag | Description |
Recipient Email |
| Email address of the invited friend |
Campaign Name |
| Name of the referral campaign |
Advocate Name |
| Name of the advocate (or "A friend" if not provided) |
Subject |
| Email subject line used for the invite |
Personal Message |
| Custom message written by the advocate |
Referral URL |
| The referral link sent to the friend |
Shop Name |
| Name of the Shopify store |
Shop Domain |
| Domain of the Shopify store |
Channel |
| Always |
Referral Claimed
Fired when a friend claims their referral discount code.
Profile: Friend's email
Property | Tag | Description |
Discount Code |
| The discount code generated for the friend |
Discount Type |
| Type of discount (e.g. |
Discount Amount |
| The discount value (e.g. |
Campaign Name |
| Name of the referral campaign |
Reward Description |
| Readable reward (e.g. "10% off", "$5 off", "free shipping") |
Advocate Email |
| Email of the advocate who referred the friend, if known |
Advocate Name |
| Name of the advocate, if known |
Shop Name |
| Name of the Shopify store |
Shop Domain |
| Domain of the Shopify store |
Referral Reward Earned
Fired when an advocate earns their reward after their referred friend completes a purchase.
Profile: Advocate's email
Property | Tag | Description |
Friend Email |
| Email of the friend whose purchase triggered the reward |
Discount Code |
| The advocate's reward discount code |
Discount Type |
| Type of discount (e.g. |
Discount Amount |
| The discount value (e.g. |
Reward Description |
| Readable reward (e.g. "10% off", "$5 off", "free shipping") |
Campaign Name |
| Name of the referral campaign |
Shop Name |
| Name of the Shopify store |
Shop Domain |
| Domain of the Shopify store |
Points Expiry Soon
Fired when a customer has loyalty points expiring within the next 7 days. This event is triggered once per customer per 7-day window — multiple earning rules expiring on different days are aggregated into a single event to prevent duplicate notifications.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Klaviyo before it will fire.
Profile: Customer's email
Property | Tag | Description |
Points Expiring |
| Total points expiring within the next 7 days |
Current Points |
| Customer's current point balance when the event fires |
Days Until Expiry |
| Days until the earliest expiring points (e.g. |
Customer Name |
| Customer's first name (or "there" if not set) |
Gift Reminder
Fired by the daily gift reminders cron when a customer's gift recipient has an upcoming occasion matching one of the configured reminder intervals (e.g. 30 days, 14 days, 7 days before).
Each reminder includes a unique discount code — created on the first reminder and reused on follow-ups.
Merchants must enable it in Settings > Integrations > Klaviyo before it will fire.
Profile: Customer's email
Property | Tag | Description |
Recipient Name |
| Name of the gift recipient (e.g. "Mom") |
Relationship |
| How they're related (e.g. "Mother", "Friend") |
Occasion Type |
|
|
Occasion Date |
| Date in MM/DD format (e.g. "03/15") |
Occasion Month |
| Month as a number (1-12) |
Occasion Day |
| Day as a number (1-31) |
Days Until Occasion |
| How many days until the occasion |
Reminder Number |
| Which reminder this is (1, 2, or 3) |
Discount Code |
| Unique discount code for this recipient |
Customer Name |
| Customer's first name (or "there" if not set) |
Shop Domain |
| The store's public domain |
Suggested flow setup
In Klaviyo, go to Flows > Create Flow > Create from Scratch
Set the trigger to Metric > Points Expiry Soon
Add a Time Delay if desired (e.g. no delay, or a short delay to batch)
Add an Email action with your expiry reminder template
Use the event properties above as dynamic variables in your email template
Example subject line
{{ event.Customer Name }}, your {{ event.Points Expiring }} points expire in {{ event.Days Until Expiry }} days!
Birthday
Fired when a customer earns birthday points via the birthday earning rule.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Klaviyo before it will fire.
Profile: Customer's email
Property | Tag | Description |
Customer Name |
| Customer's first name (or "Valued Customer" if not set) |
Shop Name |
| Name of the Shopify store |
Points Earned |
| Number of birthday points awarded today |
Current Points |
| Customer's updated total point balance after the award |
Mage Welcome
Fired once when a customer joins the loyalty program. Use this to trigger a welcome email or onboarding flow.
Profile: Customer's email
Property | Tag | Description |
Current Points |
| Customer's point balance when they joined (usually 0, or any signup bonus you've configured) |
Cashback Credited
Fired when a customer earns cashback that is paid out as Shopify store credit.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Klaviyo before it will fire.
Profile: Customer's email
Property | Tag | Description |
Cashback Amount |
| The cashback value as a number (e.g. |
Cashback Amount Formatted |
| The cashback value with its currency symbol (e.g. |
Currency |
| Currency code (e.g. |
Offer Name |
| Name of the cashback offer that awarded this |
Order Number |
| Shopify order number that earned the cashback |
Reward Method |
| Always |
Expires At |
| When the cashback expires, in ISO format. Only present when the offer has an expiry |
Cashback Code Issued
Fired when a customer earns cashback that is issued as a single-use discount code. It also fires when a code is reissued at a lower value after a partial refund, carrying the new code.
This event is OFF by default. Merchants must enable it in Settings > Integrations > Klaviyo before it will fire.
Profile: Customer's email
Property | Tag | Description |
Discount Code |
| The single-use discount code awarded to the customer |
Cashback Amount |
| The cashback value as a number (e.g. |
Cashback Amount Formatted |
| The cashback value with its currency symbol (e.g. |
Currency |
| Currency code (e.g. |
Offer Name |
| Name of the cashback offer that awarded this |
Order Number |
| Shopify order number that earned the cashback |
Reward Method |
| Always |
Expires At |
| When the code expires, in ISO format. Only present when the offer has an expiry |
Klaviyo Customer Properties
In addition to events, Mage syncs the following properties to each Klaviyo profile. These can be used in segments, conditional splits, and email personalization across any flow or campaign.
Property | Example Value | Description |
|
| Customer's current spendable points |
|
| Cash value of the customer's current points balance. (Flexible redemption must be enabled) |
|
| Total points ever earned |
|
| Total points spent on rewards |
|
| Current VIP tier (e.g. Bronze, Silver, Gold) |
|
| Customer's date of birth, if provided |
|
| When the customer joined the loyalty program |
FAQ
Why are points not displaying in my emails?
Klaviyo treats 0 as empty, so any property with a value of 0 will display as a blank space in your email. Adding |default:'0' to a tag tells Klaviyo to display 0 instead of a blank when the value is zero. We've included it on the numeric tags above so they always render a value.
