Introduction
Yuko’s Klaviyo connector pushes two kinds of data into Klaviyo:- Profile properties — written to every known customer’s Klaviyo profile (e.g.,
yuko_points_balance,yuko_vip_tier). Use these to segment and personalise content. - Trigger events — Klaviyo “metrics” that Yuko fires when something happens in the loyalty program (e.g., Earn Points, VIP Tier Upgrade). Use these to start flows.
When to use
- Klaviyo is your primary email / SMS tool.
- You want VIP-tier or balance-based segments in Klaviyo.
- You want loyalty-event flows (e.g., a custom “Tier upgrade” series) sent through Klaviyo instead of Yuko.
- You want Yuko data inside existing Klaviyo flows (welcome, win-back, browse abandonment).
Overview
- Profile sync is automatic and continuous. Every loyalty event refreshes the customer’s profile properties.
- Events are opt-in per-event. You pick which events get forwarded when you set up the integration.
- One-way: Yuko → Klaviyo. Yuko does not pull data from Klaviyo.
- Authentication: Klaviyo Private API key. Optional OAuth where available.
Before you start
Connect Yuko to Klaviyo
Open the Klaviyo integration
Paste your Klaviyo Private API key
Pick which events to forward
Save and verify
yuko_* properties listed below.Profile properties
Every loyalty customer Yuko knows about has the following properties on their Klaviyo profile. Profiles are keyed by email and external_id (the Shopify customer ID). Properties refresh automatically every time Yuko fires an event for the customer. Use these in Klaviyo segments and inside any email template ({{ person.<property> }}).
Identifier properties
These are written at Klaviyo’s top-level profile object (not underproperties).
Loyalty profile properties
VIP tier profile properties
Referral profile properties
Membership profile properties
Personal milestones
Common event properties
Every event Yuko sends to Klaviyo carries the following properties — in addition to the event-specific properties documented per event.\{\{ event.yuko_customer_email \}\}, \{\{ event.yuko_timestamp \}\}, etc.
Trigger events
Each event below shows up in Klaviyo as a metric (the name in bold). Use it as the trigger of a flow, or as a metric filter elsewhere. Properties listed are in addition to the common event properties above and are also accessible inside Klaviyo flows as\{\{ event.<property> \}\}.
Loyalty events
Joined Loyalty Program
- Klaviyo metric: Joined Loyalty Program
- Event slug:
loyalty_program_joined - When it fires: A customer enters the Yuko loyalty program for the first time.
Earn Points
- Klaviyo metric: Earn Points
- Event slug:
loyalty_earn_reward - When it fires: Yuko credits points to a customer from any active Way to Earn campaign.
Redeem Points
- Klaviyo metric: Redeem Points
- Event slug:
loyalty_redeem_points - When it fires: A customer redeems points for a reward (Way to Redeem).
Points Adjusted
- Klaviyo metric: Points Adjusted
- Event slug:
loyalty_points_adjusted - When it fires: A staff member manually credits or debits a customer’s points.
Points Expired
- Klaviyo metric: Points Expired
- Event slug:
loyalty_points_expired - When it fires: A batch of points expires.
Points Expiring Reminder
- Klaviyo metric: Points Expiring Reminder
- Event slug:
points_expiring - When it fires: Customer has points scheduled to expire — typically 30 and 7 days before expiry.
Reward Expiry Reminder
- Klaviyo metric: Reward Expiry Reminder
- Event slug:
reward_expiring - When it fires: A customer’s redeemed reward (discount code) is about to expire — typically 7 and 1 days before.
Customer Birthday
- Klaviyo metric: Customer Birthday
- Event slug:
loyalty_birthday - When it fires: It’s the customer’s birthday and Yuko has credited the birthday bonus.
Birthday Reminder
- Klaviyo metric: Birthday Reminder
- Event slug:
loyalty_birthday_reminder - When it fires: A configurable number of days before the customer’s birthday — useful for pre-birthday teasers.
yuko_birthday_points_awarded, yuko_birthday_base_points, etc.) — Klaviyo can use them to pre-announce the bonus.
Customer Anniversary
- Klaviyo metric: Customer Anniversary
- Event slug:
loyalty_anniversary - When it fires: It’s the anniversary of the customer’s signup.
Anniversary Reminder
- Klaviyo metric: Anniversary Reminder
- Event slug:
loyalty_anniversary_reminder - When it fires: A configurable number of days before the customer’s anniversary.
VIP Tier events
VIP Tier Entry
- Klaviyo metric: VIP Tier Entry
- Event slug:
vip_tier_entry - When it fires: A customer is assigned a tier for the first time (typically the base tier on signup).
N starts at 1 and counts up — for example, a tier with two reward benefits emits both yuko_reward_1_* and yuko_reward_2_*.
VIP Tier Upgrade
- Klaviyo metric: VIP Tier Upgrade
- Event slug:
vip_tier_upgrade - When it fires: A customer crosses a threshold and moves up a tier.
N starts at 1 and counts up — for example, a tier with two reward benefits emits both yuko_reward_1_* and yuko_reward_2_*.
VIP Tier Downgrade
- Klaviyo metric: VIP Tier Downgrade
- Event slug:
vip_tier_downgrade - When it fires: A customer drops a tier (after a period reset or retention expiry).
VIP Tier Retained
- Klaviyo metric: VIP Tier Retained
- Event slug:
vip_tier_retained - When it fires: A customer re-qualifies for their current tier within the retention window.
VIP Tier Retention Warning
- Klaviyo metric: VIP Tier Retention Warning
- Event slug:
vip_tier_retention_warning - When it fires: A customer is approaching the end of their retention window without re-qualifying.
VIP Milestone Nudge
- Klaviyo metric: VIP Milestone Nudge
- Event slug:
vip_milestone_nudge - When it fires: A customer crosses a configured progress milestone toward the next tier (e.g., 50% / 75% / 90% of the way there).
VIP Period Start
- Klaviyo metric: VIP Period Start
- Event slug:
vip_period_start - When it fires: A new calculation period begins (relevant for Rolling year and Calendar year programs).
Referral events
Referrer welcome
- Klaviyo metric: Referrer welcome
- Event slug:
referral_advocate_registered - When it fires: A customer becomes an advocate (referrer) — typically auto-enrolled the first time they’re eligible.
Friend reward unlocked
- Klaviyo metric: Friend reward unlocked
- Event slug:
referral_friend_reward_claimed - When it fires: A friend’s reward has been issued (their first qualifying order completed).
Referral Completed
- Klaviyo metric: Referral Completed
- Event slug:
referral_completed - When it fires: A referral fully completes — friend places a qualifying order and the advocate’s reward is issued.
Referrer Rewarded
- Klaviyo metric: Referrer Rewarded
- Event slug:
referral_advocate_rewarded - When it fires: Yuko issues the advocate’s reward after a successful referral.
Membership events
Membership Subscribed
- Klaviyo metric: Membership Subscribed
- Event slug:
membership_subscribed - When it fires: A customer purchases a membership plan and the contract becomes active.
Membership Upgraded
- Klaviyo metric: Membership Upgraded
- Event slug:
membership_upgraded - When it fires: Customer moves from one plan to a higher-priced plan.
Membership Downgraded
- Klaviyo metric: Membership Downgraded
- Event slug:
membership_downgraded - When it fires: Customer moves to a lower-priced plan.
Membership Cancelled
- Klaviyo metric: Membership Cancelled
- Event slug:
membership_cancelled - When it fires: Customer cancels their plan.
Membership Reactivated
- Klaviyo metric: Membership Reactivated
- Event slug:
membership_reactivated - When it fires: A previously-cancelled customer signs up again.
Reviews events
Review Submitted
- Klaviyo metric: Review Submitted
- Event slug:
review_submitted - When it fires: A customer submits a product review.
Question Submitted
- Klaviyo metric: Question Submitted
- Event slug:
question_submitted - When it fires: A customer submits a product Q&A question.
Using profile + event data in Klaviyo
Segments
Build segments using profile properties. Examples:- Diamond VIPs —
person.yuko_vip_tier == "Diamond" - VIPs at risk —
person.yuko_vip_at_risk == true - Customers with 500+ unredeemed points —
person.yuko_points_balance >= 500 - Active members —
person.yuko_membership_status == "active" - Has not redeemed in 30 days — combine with Klaviyo’s Last metric date using Redeem Points.
Dynamic email content
Reference profile properties in any Klaviyo email:Flows
A common pattern: trigger a flow on a Yuko event, send an email built around event properties, exit. Most useful triggers:- VIP Tier Upgrade → Send a celebratory tier email with
yuko_benefits_unlocked,yuko_new_earning_rate, and the per-benefityuko_reward_N_codevalues. - Points Expiring Reminder → Send a redemption nudge with
yuko_points_at_risk,yuko_expires_at, andyuko_available_reward_1_name. - Referral Completed → Thank the advocate, surface
yuko_stat_successful_referralsfor a count. - Membership Cancelled → Win-back flow using
yuko_total_savings_from_membershipto remind them of value.
Best practices
FAQs
When are profile properties refreshed?
When are profile properties refreshed?
What's the difference between a profile property and an event property?
What's the difference between a profile property and an event property?
yuko_points_balance (profile) is the customer’s current balance. yuko_points_earned (event) is the amount earned in this specific transaction.Why is a property empty?
Why is a property empty?
yuko_vip_next_tier_amount_needed is empty for top-tier customers). Or the event was for a non-loyalty action that doesn’t carry that property. Always include default: in your template tags.Can I disable specific events?
Can I disable specific events?
How do I find a customer in Klaviyo using their Shopify ID?
How do I find a customer in Klaviyo using their Shopify ID?
external_id. Yuko writes external_id = Shopify customer ID on every profile.Do refunds reverse events in Klaviyo?
Do refunds reverse events in Klaviyo?
yuko_adjustment_direction = debit.Why doesn't Order Placed appear as a Yuko event?
Why doesn't Order Placed appear as a Yuko event?
Can I send loyalty data to multiple Klaviyo accounts?
Can I send loyalty data to multiple Klaviyo accounts?