Klaviyo Integration: Events and Profile Properties Reference

The Klaviyo integration syncs two types of data: profile properties that are updated on every interaction, and events that represent specific customer actions. Both can be used in Klaviyo flows to send targeted, personalised emails based on exactly what a customer did in the loyalty program.

Profile Properties

Profile properties are set directly on the Klaviyo contact record and update automatically whenever the corresponding data changes in the loyalty program.

Points Properties (updated on every points transaction)

PropertyTypeDescription
loyalty_points_balanceIntegerThe customer’s current points total after the transaction.
loyalty_points_last_updatedISO 8601 datetimeTimestamp of the most recent points change.
loyalty_points_expires_atISO 8601 datetimeEstimated expiry date of the current points balance. Only present if points expiry is enabled.
loyalty_referral_codeStringThe customer’s unique referral code. Only present if the referral module is active.

Birthday Property (synced when customer saves birthday)

PropertyTypeDescription
loyalty_birthdayDate (YYYY-MM-DD)The customer’s birthday as entered in My Account. Use this as the trigger date for a Klaviyo birthday flow.

Rank Properties (synced when customer achieves a rank)

PropertyTypeDescription
loyalty_rank_idIntegerThe ID of the customer’s current rank.
loyalty_rank_nameStringDisplay name of the current rank (e.g. Gold, VIP).
loyalty_rank_slugStringURL-safe slug of the current rank.
loyalty_rank_milestoneIntegerThe points threshold required to reach this rank.
loyalty_rank_last_updatedISO 8601 datetimeTimestamp of the most recent rank change.

Events

Points Updated

Fired on every points transaction: earning, spending, expiring, and manual adjustments. This is the most versatile event in the integration because it covers every loyalty activity through a single reason_title property.

PropertyTypeDescription
deltaIntegerPoints change. Positive for earned points, negative for spent or expired.
balance_afterIntegerPoints balance after the transaction.
reason_titleStringHuman-readable reason for the change. See the full list below.
sourceStringMachine-readable source type.
awarded_atISO 8601 datetimeTimestamp of the transaction.
expires_atISO 8601 datetimeEstimated expiry of the current balance. Only present if points expiry is enabled.

All possible reason_title values:

reason_titleWhen it fires
Order purchaseCustomer earns points for placing an order.
Order discountCustomer redeems points for a discount on an order.
Order cancelledPoints are reversed when an order is cancelled.
Order refundedPoints are reversed when an order is refunded.
Product reviewCustomer earns points for leaving a product review.
Friend referralCustomer earns points for referring a friend.
Manual adjustmentAn admin manually adds or removes points.
Registration bonusCustomer earns points for creating an account.
Birthday bonusPoints awarded on the customer’s birthday.
Imported pointsPoints added via CSV import.
Points expiredPoints removed due to inactivity expiry.

Rank Achieved

Fired when a customer reaches a new rank tier.

PropertyTypeDescription
rank_idIntegerID of the new rank.
rank_nameStringDisplay name of the new rank.
rank_slugStringSlug of the new rank.
rank_milestoneIntegerPoints threshold for the new rank.
previous_rank_idIntegerID of the previous rank. Not present on first rank.
previous_rank_nameStringName of the previous rank. Not present on first rank.
achieved_atISO 8601 datetimeTimestamp when the rank was achieved.
coupon_codeStringThe coupon code issued as a rank reward. Only present when a coupon is configured for this rank.
coupon_codesArrayAll coupon codes issued when the rank has multiple rewards configured. Only present when more than one coupon is issued.

Using Events in Klaviyo Flows

In Klaviyo, create a flow with a Metric trigger and select Points Updated or Rank Achieved. To target a specific activity, add a Trigger Split immediately after the trigger and filter by reason_title. For example, set reason_title = Birthday bonus to build a birthday points confirmation flow, or reason_title = Friend referral for a referral congratulations email.

Browse our plugins

Lightweight WooCommerce plugins built for speed. No bloat, no frameworks -- just clean code that works.

View all plugins
Stay in the loop

Get notified when we launch new plugins. No spam, just product updates.