All Collections
Klaviyo: How to Use
Creating Dynamic Email Content in Klaviyo
Creating Dynamic Email Content in Klaviyo
How to make a dynamic block that targets Octane AI quiz data.
Mark Baek avatar
Written by Mark Baek
Updated this week


Once you've set up the correct type of flow in Klaviyo, any emails you add inside of this flow can display quiz data dynamically.

There are many ways to do this, but the one this guide will highlight is using a dynamic block to display products.

What you'll learn

How to set up a dynamic table that automatically flexes to pull in and match the products recommended in a quiz.


The steps in this article requires a custom event only created in Octane Plus quizzes.

Check out the previous article in order to set your account up for dynamic quiz emails.

How does it work?

Normally, each product entry would have to be created with dynamic variables.

With a dynamic table, you only have to create one version which will then flex with the amount of products you have in your store.

This guide will show you how to set up the basic structure for a dynamic table. Further styling and customization is explained in Klaviyo's help documentation.

Step 1: Create the dynamic table

1. Inside of the flow created in the previous article, create or open an email block.

2. Open the email block in Klaviyo's editor.

3. Add a Table block into your email template.

4. With the table block selected, go to the Table Settings tab.

5. Change the TABLE DATA from Static to Dynamic.

6. In the "Row collection" field, type in event.products_all.

7. In the "Row alias" field, type in a nickname you'll use to shorten this code. For this example, we'll enter octane.

Now, instead of having to use a variable like {{ event.products_all.0.title }} for each product name, you only have to use one variable {{ octane.title }} to represent all of the product names shown in a quiz.

If you entered something else for the row alias, you would use that instead of "octane".

Step 2: Add dynamic content into the table

1. With the dynamic table selected, go to the Content tab.

2. Under DYNAMIC ROWS, make sure the text column is selected.

3. In the text box, type in {{ octane.title }}.

4. Under DYNAMIC ROWS, select the image column.

5. Click Add Dynamic Image / Browse Image.

6. Type in octane.image into the text field under Dynamic variable or dynamic URL.

7. Click Save.

If you preview the dynamic table you just created, the table will repeat for each product name and image in the quiz result you're previewing with.

Try using the variables below to add other bits of product data into the email (like {{ octane.price_formatted }} for the price of the product).


Dynamic variable

Product name




Product page URL












Did this answer your question?