Skip to main content

Syncing preference and survey responses to Klaviyo

Turn the preferences your customers share into segments, flows, and personalized emails in Klaviyo

Written by Ana Rincon

Introduction

Sync customer preferences to Klaviyo as custom profile properties in real time. Each preference customers share, such as favorite category, fit, skin type, and more, is stored on their Klaviyo profile and can be used for segmentation, personalized campaigns, and automated flows, helping you deliver more relevant messaging at scale.

✨ Preferences as Klaviyo profile properties are available on request


Benefits

  • Build segments from any preference answer (for example, everyone whose usual size is "medium")

  • Trigger and branch flows on preferences – send the right welcome series based on what a customer told you they care about

  • Personalize email content by pulling a preference value straight into your template

  • Combine preferences with your existing Rivo data, like points balance, loyalty status, or VIP tier, for much sharper targeting.


Before you start

Make sure you have all three of these in place:

  • Rivo Accounts enabled. Your Account Widget needs to be live on your store, since that's where customers answer preference questions

  • At least one preference question. Set these up under Accounts > Preferences. Each question needs a Key, that's what becomes the Klaviyo property name

  • An active Klaviyo integration. Klaviyo must be connected and enabled with profile properties syncing

  • Preference sync enabled. Please reach out to your CSM Manager for this.


How preferences appear in Klaviyo

Each answer lands on the customer's Klaviyo profile as a custom property named after the question's key, with a "Rivo:" prefix. For example:

Rivo: size

Here's how each of the five question types shows up, end to end:

Preference input type

Preference title

Preference key

Klaviyo profile property

Klaviyo property value example

Text

Describe your style in a word

style_word

Rivo: style_
word

minimal

Select dropdown

What size do you usually wear?

size

Rivo: size

medium

Checkboxes (multi-select)

Which categories do you shop most?

favorite_
categories

Rivo: favorite_
categories

Every option they selected in one string, separated by commas – footwear,outerwear

Date

When's your next big event?

event_date

Rivo: event_
date

2026-09-14

Number

What's your shoe size?

shoe_size

Rivo: shoe_size

9

Considerations

  • The property uses the question's key, not the customer-facing title. It means you can reword a question however you like ("What size do you usually wear?" → "Tell us your size!")

  • Preferences use a colon in their property name. Unlike other Rivo properties such as Rivo Points Balance, when you reference a preference in Klaviyo, make sure you include it (e.g. Rivo: size)

  • Use Klaviyo's contains the text operator for multi-select preference questions. As several answers share one property, use the contains text operator rather than equals when segmenting. For example, 'Rivo: favorite_categories' contains the text 'footwear' will catch a customer who chose footwear alongside anything else, while equals 'footwear' will only match customers who chose that one option and nothing more.


When responses sync

Preferences ride along with the customer's Klaviyo profile, so they refresh any time that profile is pushed to Klaviyo:

  • A customer answers or edits a question. Saving the answer, whether from the Account Widget profile or a survey, queues a profile sync for that customer right away

  • The customer's loyalty profile changes. Earning or redeeming points, or a change in balance or loyalty status, re-pushes the full profile, preferences included

  • The customer's VIP tier changes. Same full-profile refresh

  • A bulk or manual sync runs. This covers Rivo's background refresh for stores with recent loyalty activity and any sync you kick off yourself:

    • Whole customer list sync (Integrations > Klaviyo > "Sync Customers")

    • Single customer sync (Customers > (a customer) > "More Actions" > "Manually sync to integrations").

💡 Backfilling existing answers: If you've been collecting preferences for a while before turning this on, run "Sync Customers" once. That pushes the answers you've already collected up to Klaviyo so you can start segmenting immediately, without waiting for customers to come back and re-answer.



Using preferences in Klaviyo

A couple of ideas to get you started:

  • Size-aware restock alerts – tell customers when something comes back in the size they told you they wear

  • Category-led campaigns – promote a new outerwear drop to customers who said outerwear is one of their favorite categories

  • Sharper welcome flows – branch your onboarding series on the fit or style preference collected in your post-login survey

  • Preference + loyalty combos – target customers whose favorite category is footwear and whose Rivo Points Balance is high enough to redeem a reward.

Building a segment

Say you want to reach everyone who wears a medium. Preferences work like any other Klaviyo profile property, so it's a standard segment build.

  1. In Klaviyo, go to Audience > Lists & segments

  2. Click "Create" > "Segment"

  3. Name the segment

  4. In Conditions, choose "Properties about someone"

  5. Search for your property name (e.g. Rivo: size)

  6. Pick your operator and value (e.g. equals medium, or contains the text medium for multi-select questions)

  7. Save the segment.

Personalizing an email

Reference a preference the same way you'd reference any other Rivo customer property, with a fallback in case the customer hasn't answered yet.

  1. From the Klaviyo template builder, select a text block that you would like to add personalization to

  2. Click the "Edit text" button

  3. In the upper left, click "Add personalization" to open the searchable dropdown menu with a list of properties

  4. Type "Rivo:" to find all the preference questions available in your shop and click one option

  5. Recommended: Enter the default text in case a customer hasn't answered this question yet

  6. Click "Insert".

💡 Tip: You can also manually add personalization tags following this format for each preference: {{ person|lookup:"PROPERTY NAME"|default:"" }}. For example, {{ person|lookup:"Rivo: size"|default:"" }}.


Troubleshooting

What you're seeing

What to check

No Rivo: properties at all on your customers' profiles

Work through this in order:

  1. Preference syncing is enabled for your store (ask your CSM if you're not sure)

  2. Your Klaviyo integration is connected and enabled

  3. The preference question is active with a key set. If all of that checks out, confirm the customer has actually answered the question

Some customers have the properties, others don't

Only customers who have answered a question get a property for it. Customers who haven't answered simply won't have that property yet, which is why a default value is handy in your email templates

The property name isn't what you expected

The property is built from the question's key, not its title. Open the question under Accounts > Preferences to check the exact key

A segment isn't catching customers you'd expect

If the question is multi-select, its value holds every answer in one comma-separated string. Switch your segment condition from equals to contains the text


Common questions

Which preferences get synced?
Every active preference question that has a key, for any customer who has answered it. Questions that are inactive or have no key are skipped.

Do I need to do anything after a new preference question is created?
No. Once preference syncing is on for your store, new preferences start flowing to Klaviyo as soon as customers answer them. Just make sure the question is active and has a key.

What happens if I deactivate or delete a preference question?
Rivo stops sending that property, but the last value stays on the Klaviyo profile – it isn't removed automatically. If a leftover property would affect your segments, delete it or stop using it on the Klaviyo side.

What happens if a customer clears their answer?
The property is updated to an empty value rather than being deleted from their profile.

Can I change the property name in Klaviyo?
If you need a different property/key name, create a new question with the key you want.

Does this work with my other marketing platforms?
Not yet! This is Klaviyo only for the moment.

Did this answer your question?