Skip to main content

Klaviyo integration

Connect Klaviyo to Rivo to leverage loyalty and referral data for more personalized customer emails

Written by James Dohm

Klaviyo and Rivo integration explained



Our integration facilitates the dynamic communication between Rivo and Klaviyo to supercharge your marketing efforts. By passing loyalty and referral data to Klaviyo, you can create targeted, personalized, and effective emails that engage, convert, and retain customers.



✨ The basic Klaviyo integration is available on all paid plans. See pricing →





What does the integration do?

  • Add Rivo loyalty and referral properties to customer profiles on Klaviyo

  • Use Rivo events to trigger a flow when a customer takes an action within your programs

  • View the Rivo events completed by the customers on their profile page

  • Enhance program emails sent from Klaviyo with customer and event data

  • Create customer segments based on any Rivo property.





How to connect Rivo with Klaviyo

  1. From your Rivo Dashboard, go to Integrations

  2. In the Email & SMS Marketing section, click on Klaviyo

  3. On the integration page, click Connect with OAuth

  4. In a new tab, you will be asked to authorize Rivo to connect with your Klaviyo account. Review the permissions and click Allow to continue

  5. Recommended: Enable the loyalty and referral events and click Save

  6. Make sure you turn the integration to ON

  7. Sync customers to start sending the data to existing customers.



💡 Tip: If you're logged out of Klaviyo, you'll need to sign in before authorizing the integration. Make sure you're using the correct account.



📝 Note: Starting June 17, 2024, the Rivo events you enable will be automatically added to the Klaviyo account upon the integration setup.





Using Rivo events to trigger your flows



✨ Rivo events are available for shops with Klaviyo event sync enabled.



Create a metric-triggered flow in Klaviyo that starts when a customer takes an action within your program.

  1. From your Klaviyo account, go to Flows

  2. Click Create flow > Build your own

  3. Enter the name of your new flow in the pop-up. Optionally, add the tags to organize your flows and click Create flow

  4. The flow builder will ask you to select a trigger. Click Your metrics > Rivo

  5. Search for the preferred Rivo event on the list. In this example, we will add ‘Rivo Points Earned’

  6. Optional: Add filters to the trigger if you want to be more specific about when the flow should start (e.g. trigger_name equals 'Placed an order')

  7. Click Save and confirm your trigger selection by clicking Confirm and save

  8. Drag and drop your preferred actions, timing, and logic boxes to the flow. To learn how to customize your program emails, go to Using Rivo data in a Klaviyo email

  9. Once you finish with the flow, click Review and turn on to set your flow live or schedule it.


Flow triggers & filters

The following Rivo events can be used as flow triggers in Klaviyo:

  • Rivo Advocate Signup

  • Rivo Birthday Captured

  • Rivo Bulk Gift Card Delivery

  • Rivo Cashback Earned Completed (Cashback Earned (Completed))

  • Rivo Cashback Earned Completed Reminder

  • Rivo Cashback Earned Pending (Cashback Earned (Pending))

  • Rivo Credits Earned

  • Rivo Customer Account Activated

  • Rivo Customer Birthday

  • Rivo Customer Moves Down A Tier

  • Rivo Customer Moves Up A Tier

  • Rivo Earning Transfer Completed

  • Rivo Loyalty Gift Processed

  • Rivo Membership Billing Skipped

  • Rivo Membership Canceled

  • Rivo Membership Paused

  • Rivo Membership Payment Failure

  • Rivo Membership Payment Success

  • Rivo Membership Pending Cancellation

  • Rivo Membership Renewal Notice

  • Rivo Membership Signup

  • Rivo Membership Successful Rebill

  • Rivo Notification Credits Expiry Last Chance

  • Rivo Notification Credits Expiry Warning

  • Rivo Notification Points Expiry Last Chance

  • Rivo Notification Points Expiry Warning

  • Rivo Notification Reward Expiry Last Chance

  • Rivo Notification Reward Expiry Warning

  • Rivo Points Earned

  • Rivo Product Added To Favorites

  • Rivo Referral Completed

  • Rivo Referral Friend Claim

  • Rivo Referral Invite Friend

  • Rivo Reward Redeemed

  • Rivo Virtual Gift Card Delivery

  • Rivo Virtual Gift Card Reminder

Use the event properties in the section below to create precise filters and personalized flow content.



📝 Note: Starting March 27, 2024, the Friend Claim event will be added to the friend's profile in Klaviyo.



Important considerations

  • Rivo events can be also used in the Conditional Split logic

  • Trigger filters are optional

  • To prevent flows from sending emails after manual point adjustments, add the filter trigger_name doesn't equal Manual to the ‘Rivo Points Earned’ trigger

  • If both the ‘Rivo Customer Birthday’ and ‘Points Earned’ events are enabled, ensure that you set up flows correctly to avoid sending duplicate emails from Klaviyo (e.g. add the filter trigger_name doesn't equal Customer birthday to the ‘Rivo Points Earned’ event)

  • Deactivate any Rivo email already set up within a Klaviyo flow to avoid double notifications.





Using Rivo data in a Klaviyo email



✨ Rivo event properties are available on the Plus plan only



You can use different variables to populate Rivo data in your emails. If you want to add properties about a customer , such as the points balance or tier name, use personalization tags.

  1. From the email template editor, double-click on a text block

  2. Click on Personalization

  3. Enter ‘Rivo’ to filter the options and select the property

  4. Optional: Set a default text if the value can’t be found for your customer property

  5. Click Insert.

On the other hand, if you want to recreate the Rivo notifications in Klaviyo and add information about the action that your customer has just completed in the program , such as the reward code or amount of points earned, use the event properties.

  1. From the email template editor, click on Preview & test

  2. Click on All properties to view the list

  3. Under Event properties , you’ll see the data available for the Rivo event

  4. Click on the event to copy the variable

  5. After viewing the success message, click Close and paste the variable you copied into the preferred text block.



📝 Note: While Rivo customer properties can be used interchangeably across flow and campaign emails, the event properties are only available if the flow trigger is a Rivo event.



Customer properties

Use profile properties in Klaviyo templates with this syntax: #{{ person|lookup:'Property Name' }}.

Tag

Example

##{{ person|lookup:"Rivo Date of Birth"|default:" " }}

1940-12-31

##{{ person|lookup:"Rivo Loyalty Status"|default:" " }}

member

##{{ person|lookup:"Rivo Points Balance"|default:"0" }}

100

##{{ person|lookup:"Rivo Store Credit Balance"|default:"0.00" }}

22.92

##{{ person|lookup:"Rivo Points as Cash Balance"|default:"$0" }}

$10.00

##{{ person|lookup:"Rivo Referral URL"|default:" " }}

##{{ person|lookup:"Rivo VIP Tier Name"|default:" " }}

Gold

##{{ person|lookup:"Rivo Membership Joined Date"|default:" " }}

2025-01-01

##{{ person|lookup:"Rivo Membership Last Joined Date"|default:" " }}

2025-09-15

##{{ person|lookup:"Rivo Membership Tier Name"|default:" " }}

VIP Club

##{{ person|lookup:"Rivo Membership Status"|default:" " }}

active

##{{ person|lookup:"Rivo Membership Pending Cancellation At"|default:" " }}

2026-02-01T12:00:00Z

##{{ person|lookup:"Rivo Membership Next Billing Date At"|default:" " }}

2026-12-31T00:00:00Z

##{{ person|lookup:"Rivo Store Credit Code"|default:" " }}

GFT-ABCD1234

##{{ person|lookup:"Birthday"|default:" " }}

1940-12-31



💡 Tip: Discover all date formats available on Date personalization in templates reference.



📝 Important Note: Use ##{{ person|lookup:"Rivo Points as Cash Balance"|default:"$0" }} to display your customer's points equivalent to cash balance.



Birthday Data Syncing

Rivo offers flexible options for syncing birthday data with Klaviyo:

  • Custom Property Name: Customize the name of the birthday property in Klaviyo (default is “Rivo Date of Birth”)

  • Format Options: Choose how birthday data is formatted in Klaviyo:

  • Month/Day Identifiers: Optionally sync the birthday month and day as separate properties

These settings can be configured in your Klaviyo integration settings.

Event properties

Use event properties in Klaviyo with this syntax: #{{ event.property_name }}.

Loyalty and referral events

  • Rivo Advocate Signup : referral_link

  • Rivo Birthday Captured : dob, captured_at

  • Rivo Credits Earned : trigger_name, earnings_amount, formatted_earnings_amount, next_vip_tier_threshold, needed_for_next_vip_tier, loyalty_card_code (when applicable), reward_expiration_date (when applicable)

  • Rivo Customer Account Activated : account_activated_at

  • Rivo Customer Birthday : earnings_amount

  • Rivo Customer Moves Down A Tier : vip_tier_name, next_vip_tier_threshold, needed_for_next_vip_tier, next_vip_tier_name

  • Rivo Customer Moves Up A Tier : vip_tier_name, next_vip_tier_threshold, needed_for_next_vip_tier, next_vip_tier_name

  • Rivo Notification Credits Expiry Last Chance : expiry_amount, formatted_expiry_amount, time_until_expiry, expiry_date, expiry_date_formatted

  • Rivo Notification Credits Expiry Warning : expiry_amount, formatted_expiry_amount, time_until_expiry, expiry_date, expiry_date_formatted

  • Rivo Notification Points Expiry Last Chance : time_until_expiry, expiry_date, expiry_date_formatted

  • Rivo Notification Points Expiry Warning : time_until_expiry, expiry_date, expiry_date_formatted

  • Rivo Notification Reward Expiry Last Chance : reward_name, time_until_expiry, expiry_date, expiry_date_formatted

  • Rivo Notification Reward Expiry Warning : reward_name, time_until_expiry, expiry_date, expiry_date_formatted

  • Rivo Points Earned : trigger_name, earnings_amount, next_vip_tier_threshold, needed_for_next_vip_tier

  • Rivo Referral Completed : friend_email, referrals_completed

  • Rivo Referral Friend Claim : friend_email, reward_code, reward_name, reward_tos

  • Rivo Referral Invite Friend : advocate_name, reward_name, friend_email

  • Rivo Reward Redeemed : reward_code, reward_name, reward_tos


Membership events

  • Rivo Membership Signup : signed_up_at, customer_id, membership_tier_id, membership_tier_name, membership_tier_price, membership_tier_billing_interval

  • Rivo Membership Canceled : cancelled_at, customer_id

  • Rivo Membership Pending Cancellation : queued_for_cancellation_at, customer_id

  • Rivo Membership Payment Failure : membership_tier_name, failure_at, attempt_number, completed_at

  • Rivo Membership Payment Success : membership_tier_name, succeeded_at, attempt_number, completed_at

  • Rivo Membership Renewal Notice : next_billing_date, membership_tier_name, renewal_date

  • Rivo Membership Successful Rebill : membership_tier_name, billing_interval, next_billing_date, attempt_number, completed_at

  • Rivo Membership Paused : membership_tier_name, paused_at

  • Rivo Membership Billing Skipped : membership_tier_name, skipped_at, new_billing_date


How Membership Cancellation Events Behave in Klaviyo

If you’re building cancellation flows, use the event that matches your cancellation timing:

  • Rivo Membership Canceled triggers when the membership is canceled right away.

  • Rivo Membership Pending Cancellation triggers when cancellation is scheduled for the end of the billing period.


What each cancellation event contains

  • Rivo Membership Canceled only includes: cancelled_at, customer_id

  • Rivo Membership Pending Cancellation only includes: queued_for_cancellation_at, customer_id

If your Klaviyo flow filter expects product fields, tier fields, or other membership details on these two events, the flow may not trigger.

Troubleshooting when “Rivo Membership Canceled” does not fire

  1. Confirm Klaviyo integration is ON in Rivo.

  2. Confirm Membership Canceled is enabled in the Custom Events Trigger section.

  3. Check whether the member was queued to cancel at period end instead of canceled immediately.

  4. In Klaviyo, verify your trigger and flow filters use supported event properties (for example, event.cancelled_at or event.customer_id).

  5. Check the customer timeline in Klaviyo to see whether Rivo Membership Pending Cancellation was sent instead.

For more membership-specific context, see:


Gifting, cashback, and additional events

  • Rivo Loyalty Gift Processed : reward_name, reward_code, reward_tos, message

  • Rivo Virtual Gift Card Delivery : gift_card_code, gift_card_expires_on, gift_card_initial_value, gift_card_note, gift_card_recipient_first_name, gift_card_recipient_full_name, gift_card_sender_first_name, gift_card_sender_full_name

  • Rivo Virtual Gift Card Reminder : gift_card_code, gift_card_expires_on, gift_card_initial_value, gift_card_note, gift_card_recipient_first_name, gift_card_recipient_full_name, gift_card_sender_first_name, gift_card_sender_full_name

  • Rivo Bulk Gift Card Delivery : gift_card_amount, gift_card_code, gift_card_bulk_campaign_id, gift_card_bulk_campaign_name, gift_card_note, gift_card_expiration_date (when applicable)

  • Rivo Product Added To Favorites : product_id, product_name, product_url, product_image_url

  • Rivo Cashback Earned Pending (Cashback Earned (Pending)): trigger_name, earnings_amount, formatted_earnings_amount

  • Rivo Cashback Earned Completed (Cashback Earned (Completed)): trigger_name, earnings_amount, formatted_earnings_amount, expiry_date, expiry_date_formatted

  • Rivo Cashback Earned Completed Reminder : trigger_name, earnings_amount, formatted_earnings_amount, expiry_date, expiry_date_formatted

  • Rivo Earning Transfer Completed : credits_amount, formatted_credits_amount, sender_name, sender_email, message, completed_at


Important considerations

  • Rivo custom properties about a customer can be used in your campaign and flow emails

  • Rivo event properties are based on your customer behavior, so they can only be used in a flow email

  • To activate the Rivo Points as Cash Balance property, you must set the ‘Points to Cash Conversion Rate’ in your General Settings.

  • The Rivo notification ‘Invite Friend’ sends an email directly to the referred friend. However, the Klaviyo event ‘Referral Invite Friend’ adds the activity to the advocate’s profile and includes information about the referred friend and their reward to claim. You won’t be able to email referred friends with the referral links from Klaviyo

  • The Smart Sending feature can skip emails sent through Klaviyo if they’re delivered within a short period to the same customer. Carefully review the wait time, or turn the feature off.





Viewing Rivo events in a customer profile



✨ Rivo events are available for shops with Klaviyo event sync enabled.



Every customer profile in Klaviyo has a timeline of actions performed by the customer, including the Rivo events.

  1. From your Klaviyo account, search for a customer by email and open the profile

  2. On the right side of the profile page, you’ll see the timeline of events. Click on All events and enter ‘Rivo’ in the dropdown menu to filter the events

  3. Select the event(s) you want to view

  4. Optional: Filter by dates.



💡 Pro Tip: Use Klaviyo Analytics to understand how the event data evolves over time.





Creating segments based on Rivo data

Group your customers based on their Rivo properties and target your emails.

  1. From your Klaviyo account, go to Audience > Lists & segments

  2. Click on Create New > Create segment

  3. Give it a name, for example, ‘Rivo points over 100’

  4. Click Select a condition and then Properties about someone

  5. Click on the default property and search for ‘Rivo’ to view all the options. Select your preferred condition

  6. Optional: Add more conditions or set the tag to add to customers who enter the segment

  7. Click Create segment.





Troubleshooting missing or delayed Rivo data in Klaviyo

If Rivo fields or events are missing in Klaviyo, use this checklist:

  1. Confirm your Klaviyo integration is ON in Rivo.

  2. Open Sync Customers and run a manual sync for the right group:

    • Customers with an account (Recommended)

    • Customers with activity in the last week only

    • Customers with a VIP Tier

    • Customers who have ever earned points or credits

    • All customers

  3. If profile fields are still missing, run another sync after about 1 hour (manual syncs are rate-limited).

  4. For event-triggered flows, confirm the relevant Rivo event is enabled in your Klaviyo integration settings.

  5. In Klaviyo, review your flow trigger filters. Overly strict filters can prevent a flow from triggering even when the event arrives.

  6. In a customer profile timeline, filter events by Rivo to confirm whether the event was received.



📝 Note: Profile sync updates customer properties. It does not replay a full history of past events.


Troubleshooting missing custom action events (for example, profile completion or product registration)

Custom actions are sent under the Rivo Points Earned event when points are awarded for that action.

If a custom action is not appearing:

  1. Confirm Points Earned is enabled in your Klaviyo event settings.

  2. Confirm the action actually awarded points to that customer.

  3. In Klaviyo, use the Rivo Points Earned metric and filter by the action name (trigger name) in your flow.

  4. If you’re testing with manual point adjustments, check your configuration first, because manual adjustments may be excluded from event sends.

  5. Wait a few minutes and check again. During high activity periods, event processing can be delayed.





Common questions

What is the difference between customer properties and event properties?

  • You can add customer properties to any email through personalization tags. Event properties are variables that you copy and paste into your flow emails depending on the flow trigger selected

  • Personalization tags are for populating email content with Rivo data, such as the current tier level, points balance, etc

  • Event properties are used to populate email content with flow-trigger data.

Why did my customer receive two emails after completing an action?

Disable any Rivo email notifications that you’ve already configured within a Klaviyo flow. This prevents duplicate notifications from being sent to customers from both platforms.

Why do I see 1940 in my customer’s date of birth?

Rivo does not request the year of birth of your customers, but as Klaviyo supports dates formatted in YYYY-MM-DD, we fill in a fictional year so that you can filter between dates. You can change the date format in your emails.

Can Rivo import customers into Klaviyo?
Yes. Running Sync Customers in Rivo can create or update Klaviyo profiles for eligible customers, using their email as the matching key.

Does Rivo send guest Loyalty data?

Yes. Rivo can pass loyalty data for both guests and members. If you choose Customers with an account, guest profiles are excluded from that manual sync option.

What emails can be sent through Klaviyo, and which are exclusive to Rivo?

Klaviyo can be used for event-triggered flows based on the Rivo metrics listed in this article (loyalty, referrals, memberships, gift cards, cashback, and more).
Some Rivo-native notifications remain platform-managed. If you rebuild a notification in Klaviyo, disable the matching Rivo notification to avoid duplicate sends.

Did this answer your question?