Integrating RightMessage with Klaviyo allows you to sync form, quiz, and survey data to your Klaviyo account, enabling you to segment subscribers and personalize your website based on their Klaviyo properties and tags.
Before you begin
You'll need:
An active Klaviyo account with API keys generated
Admin access to your RightMessage account
A published RightMessage site (integrations only work on live sites)
No other email platform currently connected to RightMessage
RightMessage allows only one email platform integration per site. If you have another ESP connected, you'll need to disconnect it before linking Klaviyo.
Get your Klaviyo API keys
RightMessage uses both a Public API Key (for reading data) and a Private API Key (for syncing updates) to connect with Klaviyo.
Log in to your Klaviyo account
Navigate to Account > Settings > API Keys
Click Create Private API Key if you don't have one already
Ensure the key has Full Access to Profiles (for contact management)
Copy both your Public API Key and Private API Key – you'll need both
Keep your Private API Key secure. It grants write access to your Klaviyo account and should never be shared publicly.
Connect RightMessage to Klaviyo
In RightMessage, navigate to Settings > Integrations
Find the Klaviyo card and click it
Paste your Public API Key in the first field
Paste your Private API Key in the second field
Click Connect
You'll see a success message when the connection is established. RightMessage will automatically begin syncing your segments as custom properties in Klaviyo.
Identify visitors from Klaviyo
To personalize your website for Klaviyo subscribers, RightMessage needs to identify them when they visit. This works by passing their subscriber ID through a URL parameter.
For email campaigns
Add the k_id parameter to links in your Klaviyo emails using Klaviyo's merge tag:
https://yoursite.com?k_id={{ person|lookup:'id' }}Klaviyo will automatically replace the merge tag with each subscriber's unique ID when the email is sent.
For Klaviyo forms
If you're using Klaviyo's hosted forms:
In your Klaviyo form settings, navigate to Advanced
Enable Send to thank you page
Set your thank you page URL and append the parameter:
?k_id={{ person|lookup:'id' }}
Make sure the RightMessage tracking script is installed on your thank you page so it can capture the subscriber ID.
RightMessage automatically strips the k_id parameter from URLs to keep your links clean when visitors share them.
Sync data from RightMessage to Klaviyo
Once connected, you can sync responses from RightMessage forms, quizzes, and surveys directly to Klaviyo as custom properties or profile updates.
Map RightMessage fields to Klaviyo properties
In your RightMessage integration settings, navigate to the Mappings tab
For each RightMessage field (like quiz scores or custom responses), select the corresponding Klaviyo property from the dropdown
Standard fields like
first_nameandemailmap automaticallyCreate custom properties in advance in Klaviyo for any custom data you want to sync
Enable sync on specific questions or flows
In your RightMessage Flow or standalone question:
Select the question or form you want to sync
Enable Sync with Klaviyo in the settings
Choose which fields to sync and how they map to Klaviyo properties
Publish your changes
When someone completes the form or quiz, RightMessage will automatically create or update their Klaviyo profile with the collected data.
If your Klaviyo list requires double opt-in, profile updates won't sync until the subscriber confirms their email address.
Use Klaviyo data in RightMessage
You can personalize content on your website using data from Klaviyo with merge tags.
Available merge tags
Access Klaviyo subscriber data using this syntax:
{{ klaviyo.email }}– Subscriber's email address{{ klaviyo.firstName }}– First name{{ klaviyo.lastName }}– Last name{{ klaviyo.customFields.property_name }}– Any custom property (use underscores, not spaces)
Segment based on Klaviyo data
Create conditions in your RightMessage Flows based on Klaviyo properties:
In your Flow builder, add a Condition step
Choose Klaviyo as the data source
Select the property or tag you want to check
Set your condition (equals, contains, exists, etc.)
This allows you to show different content, CTAs, or offers based on what you know about subscribers in Klaviyo.
Create complementary forms
We recommend creating simple Klaviyo forms even if you're using RightMessage Flows for lead capture. This helps with:
Attribution tracking in Klaviyo
Triggering Klaviyo automation flows
Maintaining consistent subscriber sources in reports
You can set RightMessage to submit to these Klaviyo forms in the background while displaying your branded Flow experience to visitors.
Troubleshooting common issues
Connection fails or shows "Invalid API credentials"
This usually means your API keys were copied incorrectly or don't have the required permissions.
Double-check that you copied both the Public and Private API Keys completely
Verify your Private API Key has Full Access to Profiles in Klaviyo
Try regenerating your keys in Klaviyo and reconnecting
Synced data isn't appearing in Klaviyo
Several factors can delay or block syncing:
Double opt-in: If your list requires confirmation, updates won't sync until subscribers confirm their email
Field mismatches: Make sure the custom properties exist in Klaviyo before syncing
Rate limits: Klaviyo's API throttles requests over 1,000 per minute. If you're syncing large batches, there may be delays
Check the History tab in your RightMessage integration settings for sync logs and error messages.
Visitor identification isn't working
If subscribers aren't being identified when clicking from emails:
Verify the
k_idparameter is in your email links and using Klaviyo's merge tag syntaxEnsure the RightMessage tracking script is installed on the landing pages
Check that the parameter isn't being stripped by redirects or URL shorteners
Once your integration is set up, all syncing happens automatically in real-time. You can focus on building personalized experiences while RightMessage and Klaviyo keep your data in sync.