Octane AI lets you turn customers' quiz sessions into actionable data in Klaviyo, enabling brands to implement powerful, personalized email marketing.
Taking full advantage of Octane AI's Klaviyo integration requires using Klaviyo's system of template tags & variable syntax.
π‘ What you'll learn
What are dynamic variables? (jump to section)
How Octane AI sends data (jump to section)
Creating dynamic content in Klaviyo (jump to section)
Previewing dynamic emails (jump to section)
β
What are dynamic variables?
Variables are bits of code you can insert into email templates that will turn into customer data when an email is sent.
In Klaviyo, variables are typed out inside of curly braces {{ }}
which tells Klaviyo that any text inside will be variable code.
Hi {{ first_name }},
Thanks for subscribing!
In this example, {{ first_name }}
is a variable that will turn into the first name listed in the subscriber profile that receives the email. If Klaviyo doesn't find a first name, the variable will turn into a blank space.
Hi {{ first_name|default:'there' }},
Thanks for subscribing!
We can make an edit to the variable inside of the {{ }}
. By inserting |default:'there'
, the variable will now know to insert "there" if no first name is found in the receiving profile.
This powerful system can be used with the quiz data Octane AI sends over to replace portions of an email template with product information, quiz answers & more.
If {{ first_name|default:'there' }}
is entered into an email, Klaviyo will replace the text {{ first_name|default:'there' }}
with the profile's first name.
first_name
turns into their first name, while default:'there'
lets the email know to insert "there" if no first name data is found.
Leveraging this system of variables unlocks personalization of Klaviyo flows & more.
π‘ How does this relate to Octane AI?
When your Octane AI account is connected to Klaviyo, everyone who takes a quiz & submits an opt-in will have their quiz data sent to Klaviyo in real time.
Using variables allows you to turn quiz answers, results & products into personalized email content.
You can also use variables to customize:
Flow logic & filters
Show/hide content blocks
Segments
Using email variables is key to maximizing the impact of quizzes on your Klaviyo campaigns.
How Octane AI sends data
Octane AI data is sent to Klaviyo in two forms:
Custom properties: these are non-standard profile properties, such as quiz answers.
Quiz completed event: this is a timeline event that appears in someone's profile when Klaviyo detects that they took a quiz.
Custom properties are quiz answers & results that can be used to trigger list flows and inside of filters.
The quiz completed event can specifically be used with a metric flow and allows you to trigger an email flow every time someone finishes a quiz.
Custom properties vs. quiz completed event
If Octane AI sends data in multiple formats, how do you know which one is the right one to use?
The quiz completed event (used to trigger metric flows) is best for post-quiz flows, while custom properties are best for Octane base plan users & welcome flows.
Metric flows can be triggered every time a quiz is completed, but list based flows can only be entered once. On the other hand, custom properties can be used to personalize emails anywhere in Klaviyo, so there's an advantage to using both data types.
π PROS and CONS: Custom properties
Strengths
Can insert or filter data in any email template.
Can be used to segment.
Limitations
Must use segments to trigger list flows.
List flows can only be entered once.
Can't access product data.
Because Klaviyo only allows profiles to enter list flows once, this means custom properties are a great tool for welcome flows and long term campaigns.
Below is an example of a filter that targets anyone with a quiz result custom property, which means they've made it to the end of the quiz at least once.
π PROS and CONS: Quiz completed event
Strengths
Trigger flows every time on quiz completion.
Contains complete quiz data (products, quiz answers & results).
Limitations
Can only be used in metric flows.
Profiles can enter metric flows every time the targeted event is triggered. In this case, this means every time the "quiz completed" event appears on someone's profile timeline in Klaviyo.
This makes them ideal for post-quiz flows such as ones that send discount codes & results through email.
π¬ VIDEO: Using Quiz Data with Integrations
Learn how quiz data is sent to integrations and how you can control this.
π‘ Why is this important?
While custom property personalization can be used in any flow, data from the quiz completed event can only be used in a certain type of flow (Metric).
The quiz completed event is required to use product recommendations from quizzes in Klaviyo, so knowing what Octane AI data looks like in Klaviyo will make flow-building a smooth process.
The quiz completed event is available on Octane Plus.
Creating dynamic content in Klaviyo
A dynamic table is a table block that is set to Dynamic in the table settings.
Creating a dynamic table lets you set up a single table block that will automatically pull in data from the quiz completed event and fill out to match the number of products that were recommended.
π Setting up a dynamic table:
π¬ VIDEO: Creating Dynamic Email Content with Quiz Data
Use this video to learn how to set up a metric flow triggered by quiz completions.
Step 1: Setting up dynamic table settings
Dynamic tables have two important fields you need to fill:
Row collection: this is where we tell the table what the collection of data we want to reference is called.
In this case, the products from the quiz is the data group we're targeting.
Row alias: this is a nickname we give the row collection. This will be used when adding variables in place of typing out the row collection.
Step 2: Trying out variables in a dynamic table
Once you set up your row collection & alias, you can use the following variables to insert quiz data into a dynamic table.
This is done by following this format:
{{ row alias.variable }}
For example, if I enter quiz for my row alias and want to insert a product page link for each product recommended in a quiz, I would add the variable below to a dynamic table:
{{ quiz.link }}
ποΈ Field | βοΈ What to enter |
Row collection |
The variable
Adding this code into the row collection field will tie the dynamic table to quiz product recommendations.
|
Row alias | A nickname of your choice, such as
The row alias is a nickname for the row collection.
As an example, to insert a product image you would only have to type in
|
Dynamic variable reference
ποΈ What does it turn into? | βοΈ Specific variable |
Name |
|
ID |
|
Product page URL |
|
Image |
|
Price (formatted in default currency) |
|
Description |
|
Tags |
|
Type |
|
To use this table, add the variable listed here after the row alias or row collection.
For example, {{ quiz.price_formatted }}
would be used in the block you want to dynamically insert product prices into.
Outside of a dynamic table, {{ event.products_all.0.price_formatted }}
is what the variable would look like for the price of the 1st recommended product.
Limiting dynamic table expansion
Dynamic tables will automatically match however many products a customer saw at the end of a quiz.
To limit the table to 3 products, add |slice:'<insert number here>'
such as in this example:
event.products_all|slice:'3'
Adding |slice:'2' into the row collection field now limits the dynamic table to 2 total tables overall.
To change this, edit the number. event.products_all|slice:'4'
would limit the table to 4 products while event.products_all|slice:'2'
would limit the table to 2, and so on.
Here's a glossary on all of the variable filters you can use to power up your flows.
Previewing dynamic emails
Previewing dynamic emails must be done inside of the metric flow created for that email.
If you preview a dynamic email template from the templates page or in another flow, the variables won't recognize the data and will either show up as normal text or turn into blank spaces.
π How to preview with dynamic variables:
Step 1: Create a metric triggered flow using a quiz completed event.
Use this video to learn how to set one up.
Step 2: Add an email into the flow.
If you worked on your dynamic template outside of this flow, make sure to bring it into the flow by adding a new email to preview with.
Otherwise, skip this step if your flow already has an email to preview with.
Step 3: Open the email in the template editor and press "Preview and test".
In the classic editor, the preview button is on the left.
Step 4: While previewing, click on any piece of data to copy its exact variable code.
Previewing emails is especially useful since you can copy the variable text for any data shown in the events you're testing with.
Use the arrow icons near the "Previewing with recent event" header to test the email with different quiz completions.