How to Send Quiz Leads to Klaviyo¶
Connect your quiz to Klaviyo and every contact from the quiz is added to your Klaviyo account. You can then build email campaigns around what each customer answered.
This article explains how to connect your quiz to Klaviyo and set up a follow-up email flow. For a worked example, follow the tutorial Sending Follow-up Emails with Klaviyo.
Tutorial
For a worked example, follow the tutorial Sending Follow-up Emails with Klaviyo.
Tutorial
For a worked example, follow the tutorial Sending Follow-up Emails with Klaviyo.
Tutorial
For a worked example, follow the tutorial Sending Follow-up Emails with Klaviyo.
Tutorial
For a worked example, follow the tutorial Sending Follow-up Emails with Klaviyo.
Tutorial
For a worked example, follow the tutorial Sending Follow-up Emails with Klaviyo.
Tutorial
For a worked example, follow the tutorial Sending Follow-up Emails with Klaviyo.
Link your quiz to Klaviyo¶
The Klaviyo integration uses OAuth to securely connect your store to Klaviyo. This connection is made at the store level, meaning once connected, you can enable Klaviyo for any of your quizzes.
- Open the RevenueHunt app and navigate to any quiz.
- Go to
Quiz Settings > Integrationstab. - Scroll to the
Mailing & CRMssection and find the Klaviyo card. - Click the
Connectbutton. - You will be redirected to Klaviyo's authorization page. Log in to your Klaviyo account if prompted.
- Select the Klaviyo account you want to connect and review the permissions requested, then click
Allowto authorize the connection. - You will be redirected back to the RevenueHunt app. The Klaviyo card will now show as
Connected, with your account name and Site ID displayed. -
Klaviyo is automatically enabled for the quiz you initiated the connection from. You can enable it for other quizzes individually by opening
Quiz Settings > Integrationsand togglingSend quiz leads to Klaviyo. -
Publish the changes with the top
Savebutton. - Take the quiz all the way to the results. Use a sample email that does not already exist in your Klaviyo account.
- Open
Klaviyo > Audience > Profiles. If a new profile appeared, the integration works.
From now on all the contacts coming from the quiz will be added to your Klaviyo account.
Reconnecting
If you previously connected Klaviyo and need to refresh permissions or switch accounts, click Reconnect on the Klaviyo card. Use Disconnect to revoke the connection entirely.
Legacy API key setup
A store that set Klaviyo up before the OAuth integration still works on its saved Public and Private API keys. Reconnect through OAuth anyway: the setup is simpler, and the app then manages the tokens for you.
Custom Properties
From now on, each customer's contact details, answers and product recommendations are sent to your Klaviyo account. They arrive as custom properties on the Klaviyo profile, and you use those properties to personalize an email template.

To connect the quiz to Klaviyo you need your Klaviyo Public API Key. The app uses that key to write to your Klaviyo profiles.
- To find your Public Key, log in to your Klaviyo account. In account
Settingsopen theAPI Keystab and copy the public API Key. You can get your Klaviyo Public API Key from the Klaviyo API Keys tab.
- Go back to the RevenueHunt app.
-
In the
Quiz > Connecttab, scroll to Klaviyo and edit the connection. Paste your Public API Key and save.

-
Publish the changes with the top-right
Publishbutton. - Take the quiz all the way to the results. Use a sample email that does not already exist in your Klaviyo account.
- Open
Klaviyo > Audience > Profiles. If a new profile appeared, the integration works.
From now on all the contacts coming from the quiz will be added to your Klaviyo account.
Custom Properties
From now on, each customer's contact details, answers and product recommendations are sent to your Klaviyo account. They arrive as custom properties on the Klaviyo profile, and you use those properties to personalize an email template.

To connect the quiz to Klaviyo you need your Klaviyo Public API Key. The app uses that key to write to your Klaviyo profiles.
- To find your Public Key, log in to your Klaviyo account. In account
Settingsopen theAPI Keystab and copy the public API Key. You can get your Klaviyo Public API Key from the Klaviyo API Keys tab.
- Go back to the RevenueHunt app.
-
In the
Quiz > Connecttab, scroll to Klaviyo and edit the connection. Paste your Public API Key and save.

-
Publish the changes with the top-right
Publishbutton. - Take the quiz all the way to the results. Use a sample email that does not already exist in your Klaviyo account.
- Open
Klaviyo > Audience > Profiles. If a new profile appeared, the integration works.
From now on all the contacts coming from the quiz will be added to your Klaviyo account.
From now on, each customer's contact details, answers and product recommendations are sent to your Klaviyo account. They arrive as custom properties on the Klaviyo profile, and you use those properties to personalize an email template.

To connect the quiz to Klaviyo you need your Klaviyo Public API Key. The app uses that key to write to your Klaviyo profiles.
- To find your Public Key, log in to your Klaviyo account. In account
Settingsopen theAPI Keystab and copy the public API Key. You can get your Klaviyo Public API Key from the Klaviyo API Keys tab.
- Go back to the RevenueHunt app.
-
In the
Quiz > Connecttab, scroll to Klaviyo and edit the connection. Paste your Public API Key and save.

-
Publish the changes with the top-right
Publishbutton. - Take the quiz all the way to the results. Use a sample email that does not already exist in your Klaviyo account.
- Open
Klaviyo > Audience > Profiles. If a new profile appeared, the integration works.
From now on all the contacts coming from the quiz will be added to your Klaviyo account.
Custom Properties
From now on, each customer's contact details, answers and product recommendations are sent to your Klaviyo account. They arrive as custom properties on the Klaviyo profile, and you use those properties to personalize an email template.

To connect the quiz to Klaviyo you need your Klaviyo Public API Key. The app uses that key to write to your Klaviyo profiles.
- To find your Public Key, log in to your Klaviyo account. In account
Settingsopen theAPI Keystab and copy the public API Key. You can get your Klaviyo Public API Key from the Klaviyo API Keys tab.
- Go back to the RevenueHunt app.
-
In the
Quiz > Connecttab, scroll to Klaviyo and edit the connection. Paste your Public API Key and save.

-
Publish the changes with the top-right
Publishbutton. - Take the quiz all the way to the results. Use a sample email that does not already exist in your Klaviyo account.
- Open
Klaviyo > Audience > Profiles. If a new profile appeared, the integration works.
From now on all the contacts coming from the quiz will be added to your Klaviyo account.
Custom Properties
From now on, each customer's contact details, answers and product recommendations are sent to your Klaviyo account. They arrive as custom properties on the Klaviyo profile, and you use those properties to personalize an email template.

To connect the quiz to Klaviyo you need your Klaviyo Public API Key. The app uses that key to write to your Klaviyo profiles.
- To find your Public Key, log in to your Klaviyo account. In account
Settingsopen theAPI Keystab and copy the public API Key. You can get your Klaviyo Public API Key from the Klaviyo API Keys tab.
- Go back to the RevenueHunt app.
-
In the
Quiz > Connecttab, scroll to Klaviyo and edit the connection. Paste your Public API Key and save.

-
Publish the changes with the top-right
Publishbutton. - Take the quiz all the way to the results. Use a sample email that does not already exist in your Klaviyo account.
- Open
Klaviyo > Audience > Profiles. If a new profile appeared, the integration works.
From now on all the contacts coming from the quiz will be added to your Klaviyo account.
Custom Properties
From now on, each customer's contact details, answers and product recommendations are sent to your Klaviyo account. They arrive as custom properties on the Klaviyo profile, and you use those properties to personalize an email template.

Klaviyo Limitations
Processing Time: Klaviyo may have some delay in displaying new leads.
Character Limitations: Special characters (e.g., è, é, ê) may impede data transmission.
Missing or incomplete data?: open the Response Analysis tool for any lead that does not arrive in Klaviyo, or any profile missing quiz data. It reports when optional data was dropped to fit the size limit, and when a response was too large to send. Your dashboard alerts report the same. These messages appear in your app's language.
Custom properties sent to Klaviyo¶
Every completed response is sent to Klaviyo as custom properties on the customer's profile, and as event properties on the quiz completion event. Property names include your quiz ID, so two quizzes never overwrite each other's data on the same profile.
Property names use the quiz Short ID ([SQID]) and internal references ([REF]) of your questions, choices and tags.
| Property | Value |
|---|---|
$email |
The customer's email address. |
$first_name |
First name, from a Contact Info block. |
$last_name |
Last name, from a Contact Info block. |
$phone_number |
Phone number, from a Contact Info block. |
QUIZ_NAME-[SQID] |
The name of the quiz. |
RESPONSE_ID-[SQID] |
Unique ID of that quiz session. |
MARKET_ID-[SQID] |
The market or locale, if you use multiple markets. |
ANSWER_BY_BLOCK-[BLOCK_REF]-[SQID] |
The text of the answer given to that question. |
CHOICE-[CHOICE_REF]-[SQID] |
true for every choice selected. Best option for segmenting. |
TAG-[TAG_NAME]-[SQID] |
true for every tag assigned. |
VARIABLE_SCORES-[SQID] |
JSON with all variable scores. |
HIGHEST_VARIABLE_REF-[SQID] |
Reference of the top-scoring variable. |
RESULT_REF-[SQID] |
Reference or URL of the results page shown. |
RESULT_SECTIONS-[SQID] |
JSON with the result sections shown. |
RESULT_CONTENT_BY_BLOCK-[SQID] |
JSON with the content shown in each result block. |
RECOMMENDATIONS_BY_SLOT-[SQID] |
JSON with the recommended products per slot. |
Inside RECOMMENDATIONS_BY_SLOT
Each recommended item carries: id, handle, title, description, price, image, onlineStoreUrl and vendor.
Property names use the quiz Hash ID ([ID]) and slide IDs.
| Property | Value |
|---|---|
$email |
The customer's email address. |
$first_name |
First name, from a Contact Info slide. |
$last_name |
Last name, from a Contact Info slide. |
$phone_number |
Phone number, from a Contact Info slide. |
$consent |
Array like ["web", "email"], if Klaviyo consent is enabled. |
PERMALINK-[ID] |
Direct link to the customer's results page. |
PERMALINK-HASH-[ID] |
Unique hash of those results. |
RESULT-PAGE-NAME-[ID] |
Name of the results page, for quizzes with multiple results. |
Q-[ID] [SLIDE_ID]: [SLIDE_TITLE] |
The text of the selected answer. |
TAGS-[ID] |
Comma-separated list of all tags assigned. |
T-[ID]: [TAG_NAME] |
true for every individual tag assigned. |
PRODUCTS-[ID]: product_[INDEX]_[FIELD] |
The recommended products, one property per field. |
SLOT-[ID]: [SLOT_TITLE] - product_[INDEX]_[FIELD] |
The same product fields, grouped by slot. |
Product [FIELD] values
name, url, image_url, price, sku, id and variant_id. [INDEX] starts at 0.
Property names use the quiz Hash ID ([ID]) and slide IDs.
| Property | Value |
|---|---|
$email |
The customer's email address. |
$first_name |
First name, from a Contact Info slide. |
$last_name |
Last name, from a Contact Info slide. |
$phone_number |
Phone number, from a Contact Info slide. |
$consent |
Array like ["web", "email"], if Klaviyo consent is enabled. |
PERMALINK-[ID] |
Direct link to the customer's results page. |
PERMALINK-HASH-[ID] |
Unique hash of those results. |
RESULT-PAGE-NAME-[ID] |
Name of the results page, for quizzes with multiple results. |
Q-[ID] [SLIDE_ID]: [SLIDE_TITLE] |
The text of the selected answer. |
TAGS-[ID] |
Comma-separated list of all tags assigned. |
T-[ID]: [TAG_NAME] |
true for every individual tag assigned. |
PRODUCTS-[ID]: product_[INDEX]_[FIELD] |
The recommended products, one property per field. |
SLOT-[ID]: [SLOT_TITLE] - product_[INDEX]_[FIELD] |
The same product fields, grouped by slot. |
Product [FIELD] values
name, url, image_url, price, sku, id and variant_id. [INDEX] starts at 0.
Property names use the quiz Hash ID ([ID]) and slide IDs.
| Property | Value |
|---|---|
$email |
The customer's email address. |
$first_name |
First name, from a Contact Info slide. |
$last_name |
Last name, from a Contact Info slide. |
$phone_number |
Phone number, from a Contact Info slide. |
$consent |
Array like ["web", "email"], if Klaviyo consent is enabled. |
PERMALINK-[ID] |
Direct link to the customer's results page. |
PERMALINK-HASH-[ID] |
Unique hash of those results. |
RESULT-PAGE-NAME-[ID] |
Name of the results page, for quizzes with multiple results. |
Q-[ID] [SLIDE_ID]: [SLIDE_TITLE] |
The text of the selected answer. |
TAGS-[ID] |
Comma-separated list of all tags assigned. |
T-[ID]: [TAG_NAME] |
true for every individual tag assigned. |
PRODUCTS-[ID]: product_[INDEX]_[FIELD] |
The recommended products, one property per field. |
SLOT-[ID]: [SLOT_TITLE] - product_[INDEX]_[FIELD] |
The same product fields, grouped by slot. |
Product [FIELD] values
name, url, image_url, price, sku, id and variant_id. [INDEX] starts at 0.
Property names use the quiz Hash ID ([ID]) and slide IDs.
| Property | Value |
|---|---|
$email |
The customer's email address. |
$first_name |
First name, from a Contact Info slide. |
$last_name |
Last name, from a Contact Info slide. |
$phone_number |
Phone number, from a Contact Info slide. |
$consent |
Array like ["web", "email"], if Klaviyo consent is enabled. |
PERMALINK-[ID] |
Direct link to the customer's results page. |
PERMALINK-HASH-[ID] |
Unique hash of those results. |
RESULT-PAGE-NAME-[ID] |
Name of the results page, for quizzes with multiple results. |
Q-[ID] [SLIDE_ID]: [SLIDE_TITLE] |
The text of the selected answer. |
TAGS-[ID] |
Comma-separated list of all tags assigned. |
T-[ID]: [TAG_NAME] |
true for every individual tag assigned. |
PRODUCTS-[ID]: product_[INDEX]_[FIELD] |
The recommended products, one property per field. |
SLOT-[ID]: [SLOT_TITLE] - product_[INDEX]_[FIELD] |
The same product fields, grouped by slot. |
Product [FIELD] values
name, url, image_url, price, sku, id and variant_id. [INDEX] starts at 0.
Property names use the quiz Hash ID ([ID]) and slide IDs.
| Property | Value |
|---|---|
$email |
The customer's email address. |
$first_name |
First name, from a Contact Info slide. |
$last_name |
Last name, from a Contact Info slide. |
$phone_number |
Phone number, from a Contact Info slide. |
$consent |
Array like ["web", "email"], if Klaviyo consent is enabled. |
PERMALINK-[ID] |
Direct link to the customer's results page. |
PERMALINK-HASH-[ID] |
Unique hash of those results. |
RESULT-PAGE-NAME-[ID] |
Name of the results page, for quizzes with multiple results. |
Q-[ID] [SLIDE_ID]: [SLIDE_TITLE] |
The text of the selected answer. |
TAGS-[ID] |
Comma-separated list of all tags assigned. |
T-[ID]: [TAG_NAME] |
true for every individual tag assigned. |
PRODUCTS-[ID]: product_[INDEX]_[FIELD] |
The recommended products, one property per field. |
SLOT-[ID]: [SLOT_TITLE] - product_[INDEX]_[FIELD] |
The same product fields, grouped by slot. |
Product [FIELD] values
name, url, image_url, price, sku, id and variant_id. [INDEX] starts at 0.
Cannot find a property in Klaviyo?
Klaviyo only lists properties it has already received, so take a test quiz first and try again.
In the Built for Shopify version, a property name holds the reference of the block, choice or tag, not its title. Find that reference in the Quiz Builder, under the Advanced tab of the block or choice. Renaming a question therefore does not break your Klaviyo segments.
Legacy vs Built for Shopify: property naming
If you migrated from the legacy app, your Klaviyo segments and email templates need updating because the property names changed.
| Data | Legacy | Built for Shopify |
|---|---|---|
| Quiz ID | Hash ID, for example LVPS1n |
Short ID, for example YN5L9G |
| Answers | Q-[ID] [SLIDE_ID]: [SLIDE_TITLE] |
ANSWER_BY_BLOCK-[BLOCK_REF]-[SQID] |
| Tags | TAGS-[ID] (comma-separated) |
TAG-[TAG_NAME]-[SQID] (boolean) |
| Results page | PERMALINK-[ID] |
RESULT_REF-[SQID] and RESPONSE_ID-[SQID] |
| Products | PRODUCTS-[ID]: product_0_name |
RECOMMENDATIONS_BY_SLOT-[SQID] |
Sending follow-up emails via Klaviyo¶
You can send the product recommendation follow-up emails through Klaviyo, but this is not a one-click setup. Someone who knows Klaviyo has to build it.
The instructions here are written to be passed to a developer.
Go beyond the results email
This section covers the one email that delivers the results. How to Build Post-Quiz Email Flows in Klaviyo covers five more: abandoned cart, browse, reorder, cross-sell and win-back, each segmented on the quiz answers and tags.
RevenueHunt Support Scope
The app sends the quiz data to Klaviyo. You build the flows and the email templates in Klaviyo, so ask Klaviyo support about that part of the setup.
-
Add Email question: To send contacts to Klaviyo your quiz needs to have an email question. You can add it to the quiz from the Quiz builder tab by clicking
+and selectingemailfrom the dropdown list.Tip
You can ask for marketing consent directly in the quiz.
-
Connect Quiz to Klaviyo: Follow the instructions in Link your quiz to Klaviyo to learn how to connect your quiz to Klaviyo correctly.
-
Create a Segment: All quiz contacts can be grouped into a segment in Klaviyo.
- To create a new segment in Klaviyo go to
Audience > List & Segmentsand clickCreate New > New Segment. - Name the segment and set up the definition.
-
Segment definition: Select
Properties about someoneand add a property that will be unique for profiles coming from the quiz. This can be any of the custom properties that RevenueHunt sends to Klaviyo Profiles.Example
-
ANSWERS_BY_BLOCK-QuizIDproperty is unique for profiles coming from the quiz. -
If the
ANSWERS_BY_BLOCK-QuizIDproperty is not in the dropdown, take a test quiz and try again.
-
-
Segment definition: As segment definition set up a rule that follows this format:
Custom property from the Quizis setType:text.Example
ANSWERS_BY_BLOCK-QuizIDis setType:text.
-
Click
Create a segmentand wait for Klaviyo to load all the contacts that match the segment definition. This may take a few minutes. - Once the agent finishes loading, all the profiles that already match the segment definition will be added to the segment. New contacts coming from the quiz will be added to the segment automatically.
- To create a new segment in Klaviyo go to
-
Create an Email Flow: create a flow that starts when someone is added to the segment from the previous step. This is the hardest part, because the emails have to be built by hand in Klaviyo.
Trigger the Flow
- To build a flow that reaches only customers who finished the quiz, open the
Flowstab in Klaviyo. - Click
Create flowand thenBuild from scratch. - Name the flow and click
Create flow. - Klaviyo then asks you to set up a flow trigger.
-
Choose the trigger to be
Added to a segmentand select the segment created in the previous step. Set theReentry criteriatoAllow reentry, so a customer gets an email every time they finish the quiz. ClickConfirmandConfirm and save.Alternative: trigger from a Klaviyo list
You can start the flow when a contact is added to a Klaviyo list, rather than to a segment. Use this if the
Klaviyo listselector in your email question block already sends contacts to a list. See Adding quiz contacts to Klaviyo list.
Optional: Update Marketing Consent
If you asked for marketing consent in the quiz, update it in the Klaviyo email flow:
- Right below the flow trigger, add a
Profile property updateaction. - Click
+ Step. - A menu opens where you set up the profile property update.
- Select to
Update existing property, from the Select property dropdown menu selectAccepts marketingand set the value totrue. - Turn this action
LIVE.
- To build a flow that reaches only customers who finished the quiz, open the
-
Edit the Email: In the next steps, you should edit the email template.
Add Email Action
- Grab the
EMAILaction and drop it below the flow trigger.
Edit the Email template
- In
Email detailssection edit the Subject. - Click
Select template. Klaviyo opens the Templates section. - Click
Createto make a new email template. The Klaviyo email builder opens. - In the Klaviyo email builder, use the ready-made blocks to add images or text to your template.
- To add the quiz content and the recommended products, drag an
HTMLblock into the email builder. -
The
Quiz Settings > Integrationssection holds a button to download aKlaviyo Template. Click theKlaviyo Templatebutton and a new window will open. There, clickCopy codeto copy the existing template.Klaviyo Template

The code holds several ready-made snippets. They display:
- Dynamic Results page: Display dynamic results page content that loops through sections and blocks. A Dynamic Results page content that contains all the elements of your results page and replaces content upon each quiz retake. This is the recommended approach for production templates as it adapts to quiz structure changes.
- Static Results page: Display the complete results page content using static lookups. Static Results page content that contains all the elements of your results page and adds content upon each quiz retake. Use this approach for understanding the data structure and for simple implementations.
- Individual recommendations: Display individual product recommendations by slot. Use this to show specific recommended items with their details like title, description, price, and images.
- Question answers: Display quiz information and individual question answers. Use this to show personal data and specific responses from quiz questions.
-
Paste the code in the
HTMLblock in Klaviyo email. -
Previewthe email as one of your segment subscribers, to check what it shows. -
Edit the template as you like. You can delete the sections of code you do not need, and restyle the rest to match your branding.
Let Quiz Copilot edit and style your Klaviyo template
You do not need a developer to customize the Klaviyo HTML template. Paste the template code into Quiz Copilot and ask it to:
- remove sections you do not need, for example to keep only the recommended products or only the question answers,
- restyle the template to match your brand colors, fonts, and spacing,
- rearrange blocks or change the layout,
- explain what each part of the template does.
Once Quiz Copilot returns the updated code, paste it back into the
HTMLblock in your Klaviyo template.Create your own email template
Check the Use quiz data in Klaviyo email templates article to learn how to customize your Klaviyo email template with quiz properties.
-
When the template is ready, click
Exit, thenDone, and return to your flow. - Turn your email
LIVE.
From then on, every customer who leaves an email is added to your Klaviyo segment and sent the follow-up email.
- Grab the
-
Re-trigger the flow: to send an email on every retake, set the reentry criteria on the flow trigger:
- Open the flow trigger (
Added to a segment). - Set the
Reentry criteriatoAllow reentry. - Save the trigger.
A customer then gets an email every time they finish the quiz.
Alternative method
You can also achieve this by adding a
Profile property updateaction at the end of the flow that deletes the segment property (for example,ANSWERS_BY_BLOCK-QuizID). Each time the customer finishes the quiz, the property is added again, they re-enter the segment, and the flow runs.
- Open the flow trigger (
- Add Email Question: To send contacts to Klaviyo your quiz needs to have an email question. You can add it to the quiz from the Quiz Builder tab by clicking
+and selectingemailfrom the dropdown list. You can also ask for marketing consent directly in the quiz. - Connect Quiz to Klaviyo: Follow the instructions in Link Your Quiz to Klaviyo to learn how to connect your quiz to Klaviyo correctly.
-
Create a Segment: All quiz contacts can be grouped into a segment in Klaviyo.
- To create a new segment in Klaviyo go to
Audience > List & Segmentsand clickCreate New > New Segment. - Name the segment and set up the definition.
- The
Permalink-QuizIDproperty is unique for profiles coming from the quiz. - If the permalink property is not in the dropdown, take a test quiz and try again.
- Click
Create a segment.
- To create a new segment in Klaviyo go to
-
Create an Email Flow: create a flow that starts when someone is added to the segment from the previous step. This is the hardest part, because the emails have to be built by hand in Klaviyo.
Trigger Flow
- To build a flow that reaches only customers who finished the quiz, open the
Flowstab in Klaviyo. - Click
Create flowand thenBuild from scratch. - Name the flow and click
Create flow. - Klaviyo then asks you to set up a flow trigger.
- Choose the trigger to be
Added to a segmentand select the segment created in the Create segment for quiz customers. ClickConfirmandConfirm and save. This way whenever someone enters the segment they will trigger the email flow.
Optional: Update Marketing Consent
If you asked for marketing consent in the quiz, update it in the Klaviyo email flow:
- Right below the flow trigger, add a
Profile property updateaction. - Click
+ Step. - A menu opens where you set up the profile property update.
- Select to
Update existing property, from the Select property dropdown menu selectAccepts marketingand set the value totrue. - Turn this action
LIVE.
- To build a flow that reaches only customers who finished the quiz, open the
-
Edit the Email: In the next steps, you should edit the email template.
Add Email Action
- Click on the
three dotsand edit the email. - Edit the name/subject/email to your liking and select the
HTML email template. -
From the
Connect > Klaviyotab you can download a ready-to-use email template.

Tip
If you would rather create your own email template, check Use quiz data in Klaviyo email templates for more details.
-
Copy the code and go back to Klaviyo.
- Open the
HTML email templateand remove the existing code. - Paste the new template code.
- You can then
previewthe email as one of your segment subscribers. - Make sure to
Savethe changes and clickDone. - Return to your flow and turn your email
LIVE.
From then on, every customer who leaves an email is added to your Klaviyo segment and sent the follow-up email.
- Click on the
-
Re-trigger the flow: to send an email on every retake, add a
Profile property updateaction at the end of the flow:- Add a
Profile property updateaction at the end of the flow. - Click
+ Step. - Select
Delete existing property. -
From the
Select propertydropdown menu select the property that was used to create a segment in earlier steps.Example
Select
Delete existing property>PERMALINK-QuizID.
How to send an email every time someone completes the quiz?
First, build a segment on the
PERMALINK-{{quiz_id}}property, so it holds only customers who finished the quiz. Then build a flow that starts when someone is added to that segment, emails them their results, and then removes thePERMALINK-{{quiz_id}}property from their profile. Removing it lets them re-enter the segment when they retake the quiz.For example:

-
Save the changes and turn the action
LIVE.
Each time the customer takes the quiz again, they are added back to the segment, and the flow runs again.
- Add a
Deactivate the app emails
Remember to deactivate the email Notifications from the Quiz Builder once the Klaviyo flow is set up.
- Add Email Question: To send contacts to Klaviyo your quiz needs to have an email question. You can add it to the quiz from the Quiz Builder tab by clicking
+and selectingemailfrom the dropdown list. You can also ask for marketing consent directly in the quiz. - Connect Quiz to Klaviyo: Follow the instructions in Link Your Quiz to Klaviyo to learn how to connect your quiz to Klaviyo correctly.
-
Create a Segment: All quiz contacts can be grouped into a segment in Klaviyo.
- To create a new segment in Klaviyo go to
Audience > List & Segmentsand clickCreate New > New Segment. - Name the segment and set up the definition.
- The
Permalink-QuizIDproperty is unique for profiles coming from the quiz. - If the permalink property is not in the dropdown, take a test quiz and try again.
- Click
Create a segment.
- To create a new segment in Klaviyo go to
-
Create an Email Flow: create a flow that starts when someone is added to the segment from the previous step. This is the hardest part, because the emails have to be built by hand in Klaviyo.
Trigger Flow
- To build a flow that reaches only customers who finished the quiz, open the
Flowstab in Klaviyo. - Click
Create flowand thenBuild from scratch. - Name the flow and click
Create flow. - Klaviyo then asks you to set up a flow trigger.
- Choose the trigger to be
Added to a segmentand select the segment created in the Create segment for quiz customers. ClickConfirmandConfirm and save. This way whenever someone enters the segment they will trigger the email flow.
Optional: Update Marketing Consent
If you asked for marketing consent in the quiz, update it in the Klaviyo email flow:
- Right below the flow trigger, add a
Profile property updateaction. - Click
+ Step. - A menu opens where you set up the profile property update.
- Select to
Update existing property, from the Select property dropdown menu selectAccepts marketingand set the value totrue. - Turn this action
LIVE.
- To build a flow that reaches only customers who finished the quiz, open the
-
Edit the Email: In the next steps, you should edit the email template.
Add Email Action
- Click on the
three dotsand edit the email. - Edit the name/subject/email to your liking and select the
HTML email template. -
From the
Connect > Klaviyotab you can download a ready-to-use email template.

Tip
If you would rather create your own email template, check Use quiz data in Klaviyo email templates for more details.
-
Copy the code and go back to Klaviyo.
- Open the
HTML email templateand remove the existing code. - Paste the new template code.
- You can then
previewthe email as one of your segment subscribers. - Make sure to
Savethe changes and clickDone. - Return to your flow and turn your email
LIVE.
From then on, every customer who leaves an email is added to your Klaviyo segment and sent the follow-up email.
- Click on the
-
Re-trigger the flow: to send an email on every retake, add a
Profile property updateaction at the end of the flow:- Add a
Profile property updateaction at the end of the flow. - Click
+ Step. - Select
Delete existing property. -
From the
Select propertydropdown menu select the property that was used to create a segment in earlier steps.Example
Select
Delete existing property>PERMALINK-QuizID.
How to send an email every time someone completes the quiz?
First, build a segment on the
PERMALINK-{{quiz_id}}property, so it holds only customers who finished the quiz. Then build a flow that starts when someone is added to that segment, emails them their results, and then removes thePERMALINK-{{quiz_id}}property from their profile. Removing it lets them re-enter the segment when they retake the quiz.For example:

-
Save the changes and turn the action
LIVE.
Each time the customer takes the quiz again, they are added back to the segment, and the flow runs again.
- Add a
Deactivate the app emails
Remember to deactivate the email Notifications from the Quiz Builder once the Klaviyo flow is set up.
- Add Email Question: To send contacts to Klaviyo your quiz needs to have an email question. You can add it to the quiz from the Quiz Builder tab by clicking
+and selectingemailfrom the dropdown list. You can also ask for marketing consent directly in the quiz. - Connect Quiz to Klaviyo: Follow the instructions in Link Your Quiz to Klaviyo to learn how to connect your quiz to Klaviyo correctly.
-
Create a Segment: All quiz contacts can be grouped into a segment in Klaviyo.
- To create a new segment in Klaviyo go to
Audience > List & Segmentsand clickCreate New > New Segment. - Name the segment and set up the definition.
- The
Permalink-QuizIDproperty is unique for profiles coming from the quiz. - If the permalink property is not in the dropdown, take a test quiz and try again.
- Click
Create a segment.
- To create a new segment in Klaviyo go to
-
Create an Email Flow: create a flow that starts when someone is added to the segment from the previous step. This is the hardest part, because the emails have to be built by hand in Klaviyo.
Trigger Flow
- To build a flow that reaches only customers who finished the quiz, open the
Flowstab in Klaviyo. - Click
Create flowand thenBuild from scratch. - Name the flow and click
Create flow. - Klaviyo then asks you to set up a flow trigger.
- Choose the trigger to be
Added to a segmentand select the segment created in the Create segment for quiz customers. ClickConfirmandConfirm and save. This way whenever someone enters the segment they will trigger the email flow.
Optional: Update Marketing Consent
If you asked for marketing consent in the quiz, update it in the Klaviyo email flow:
- Right below the flow trigger, add a
Profile property updateaction. - Click
+ Step. - A menu opens where you set up the profile property update.
- Select to
Update existing property, from the Select property dropdown menu selectAccepts marketingand set the value totrue. - Turn this action
LIVE.
- To build a flow that reaches only customers who finished the quiz, open the
-
Edit the Email: In the next steps, you should edit the email template.
Add Email Action
- Click on the
three dotsand edit the email. - Edit the name/subject/email to your liking and select the
HTML email template. -
From the
Connect > Klaviyotab you can download a ready-to-use email template.

Tip
If you would rather create your own email template, check Use quiz data in Klaviyo email templates for more details.
-
Copy the code and go back to Klaviyo.
- Open the
HTML email templateand remove the existing code. - Paste the new template code.
- You can then
previewthe email as one of your segment subscribers. - Make sure to
Savethe changes and clickDone. - Return to your flow and turn your email
LIVE.
From then on, every customer who leaves an email is added to your Klaviyo segment and sent the follow-up email.
- Click on the
-
Re-trigger the flow: to send an email on every retake, add a
Profile property updateaction at the end of the flow:- Add a
Profile property updateaction at the end of the flow. - Click
+ Step. - Select
Delete existing property. -
From the
Select propertydropdown menu select the property that was used to create a segment in earlier steps.Example
Select
Delete existing property>PERMALINK-QuizID.
How to send an email every time someone completes the quiz?
First, build a segment on the
PERMALINK-{{quiz_id}}property, so it holds only customers who finished the quiz. Then build a flow that starts when someone is added to that segment, emails them their results, and then removes thePERMALINK-{{quiz_id}}property from their profile. Removing it lets them re-enter the segment when they retake the quiz.For example:

-
Save the changes and turn the action
LIVE.
Each time the customer takes the quiz again, they are added back to the segment, and the flow runs again.
- Add a
Deactivate the app emails
Remember to deactivate the email Notifications from the Quiz Builder once the Klaviyo flow is set up.
- Add Email Question: To send contacts to Klaviyo your quiz needs to have an email question. You can add it to the quiz from the Quiz Builder tab by clicking
+and selectingemailfrom the dropdown list. You can also ask for marketing consent directly in the quiz. - Connect Quiz to Klaviyo: Follow the instructions in Link Your Quiz to Klaviyo to learn how to connect your quiz to Klaviyo correctly.
-
Create a Segment: All quiz contacts can be grouped into a segment in Klaviyo.
- To create a new segment in Klaviyo go to
Audience > List & Segmentsand clickCreate New > New Segment. - Name the segment and set up the definition.
- The
Permalink-QuizIDproperty is unique for profiles coming from the quiz. - If the permalink property is not in the dropdown, take a test quiz and try again.
- Click
Create a segment.
- To create a new segment in Klaviyo go to
-
Create an Email Flow: create a flow that starts when someone is added to the segment from the previous step. This is the hardest part, because the emails have to be built by hand in Klaviyo.
Trigger Flow
- To build a flow that reaches only customers who finished the quiz, open the
Flowstab in Klaviyo. - Click
Create flowand thenBuild from scratch. - Name the flow and click
Create flow. - Klaviyo then asks you to set up a flow trigger.
- Choose the trigger to be
Added to a segmentand select the segment created in the Create segment for quiz customers. ClickConfirmandConfirm and save. This way whenever someone enters the segment they will trigger the email flow.
Optional: Update Marketing Consent
If you asked for marketing consent in the quiz, update it in the Klaviyo email flow:
- Right below the flow trigger, add a
Profile property updateaction. - Click
+ Step. - A menu opens where you set up the profile property update.
- Select to
Update existing property, from the Select property dropdown menu selectAccepts marketingand set the value totrue. - Turn this action
LIVE.
- To build a flow that reaches only customers who finished the quiz, open the
-
Edit the Email: In the next steps, you should edit the email template.
Add Email Action
- Click on the
three dotsand edit the email. - Edit the name/subject/email to your liking and select the
HTML email template. -
From the
Connect > Klaviyotab you can download a ready-to-use email template.

Tip
If you would rather create your own email template, check Use quiz data in Klaviyo email templates for more details.
-
Copy the code and go back to Klaviyo.
- Open the
HTML email templateand remove the existing code. - Paste the new template code.
- You can then
previewthe email as one of your segment subscribers. - Make sure to
Savethe changes and clickDone. - Return to your flow and turn your email
LIVE.
From then on, every customer who leaves an email is added to your Klaviyo segment and sent the follow-up email.
- Click on the
-
Re-trigger the flow: to send an email on every retake, add a
Profile property updateaction at the end of the flow:- Add a
Profile property updateaction at the end of the flow. - Click
+ Step. - Select
Delete existing property. -
From the
Select propertydropdown menu select the property that was used to create a segment in earlier steps.Example
Select
Delete existing property>PERMALINK-QuizID.
How to send an email every time someone completes the quiz?
First, build a segment on the
PERMALINK-{{quiz_id}}property, so it holds only customers who finished the quiz. Then build a flow that starts when someone is added to that segment, emails them their results, and then removes thePERMALINK-{{quiz_id}}property from their profile. Removing it lets them re-enter the segment when they retake the quiz.For example:

-
Save the changes and turn the action
LIVE.
Each time the customer takes the quiz again, they are added back to the segment, and the flow runs again.
- Add a
Deactivate the app emails
Remember to deactivate the email Notifications from the Quiz Builder once the Klaviyo flow is set up.
- Add Email Question: To send contacts to Klaviyo your quiz needs to have an email question. You can add it to the quiz from the Quiz Builder tab by clicking
+and selectingemailfrom the dropdown list. You can also ask for marketing consent directly in the quiz. - Connect Quiz to Klaviyo: Follow the instructions in Link Your Quiz to Klaviyo to learn how to connect your quiz to Klaviyo correctly.
-
Create a Segment: All quiz contacts can be grouped into a segment in Klaviyo.
- To create a new segment in Klaviyo go to
Audience > List & Segmentsand clickCreate New > New Segment. - Name the segment and set up the definition.
- The
Permalink-QuizIDproperty is unique for profiles coming from the quiz. - If the permalink property is not in the dropdown, take a test quiz and try again.
- Click
Create a segment.
- To create a new segment in Klaviyo go to
-
Create an Email Flow: create a flow that starts when someone is added to the segment from the previous step. This is the hardest part, because the emails have to be built by hand in Klaviyo.
Trigger Flow
- To build a flow that reaches only customers who finished the quiz, open the
Flowstab in Klaviyo. - Click
Create flowand thenBuild from scratch. - Name the flow and click
Create flow. - Klaviyo then asks you to set up a flow trigger.
- Choose the trigger to be
Added to a segmentand select the segment created in the Create segment for quiz customers. ClickConfirmandConfirm and save. This way whenever someone enters the segment they will trigger the email flow.
Optional: Update Marketing Consent
If you asked for marketing consent in the quiz, update it in the Klaviyo email flow:
- Right below the flow trigger, add a
Profile property updateaction. - Click
+ Step. - A menu opens where you set up the profile property update.
- Select to
Update existing property, from the Select property dropdown menu selectAccepts marketingand set the value totrue. - Turn this action
LIVE.
- To build a flow that reaches only customers who finished the quiz, open the
-
Edit the Email: In the next steps, you should edit the email template.
Add Email Action
- Click on the
three dotsand edit the email. - Edit the name/subject/email to your liking and select the
HTML email template. -
From the
Connect > Klaviyotab you can download a ready-to-use email template.

Tip
If you would rather create your own email template, check Use quiz data in Klaviyo email templates for more details.
-
Copy the code and go back to Klaviyo.
- Open the
HTML email templateand remove the existing code. - Paste the new template code.
- You can then
previewthe email as one of your segment subscribers. - Make sure to
Savethe changes and clickDone. - Return to your flow and turn your email
LIVE.
From then on, every customer who leaves an email is added to your Klaviyo segment and sent the follow-up email.
- Click on the
-
Re-trigger the flow: to send an email on every retake, add a
Profile property updateaction at the end of the flow:- Add a
Profile property updateaction at the end of the flow. - Click
+ Step. - Select
Delete existing property. -
From the
Select propertydropdown menu select the property that was used to create a segment in earlier steps.Example
Select
Delete existing property>PERMALINK-QuizID.
How to send an email every time someone completes the quiz?
First, build a segment on the
PERMALINK-{{quiz_id}}property, so it holds only customers who finished the quiz. Then build a flow that starts when someone is added to that segment, emails them their results, and then removes thePERMALINK-{{quiz_id}}property from their profile. Removing it lets them re-enter the segment when they retake the quiz.For example:

-
Save the changes and turn the action
LIVE.
Each time the customer takes the quiz again, they are added back to the segment, and the flow runs again.
- Add a
Deactivate the app emails
Remember to deactivate the email Notifications from the Quiz Builder once the Klaviyo flow is set up.
Adding quiz contacts to Klaviyo list¶
With the OAuth connection in place, you can add contacts from the quiz straight to a Klaviyo list. You need no extra API keys, because the list selector sits inside the email question block.
-
Make sure you have a Klaviyo list ready. To create one, go to
Klaviyo > Audience > Lists & Segments. In the list settings, make sure to set it toSingle Opt-in.Warning
Quiz contacts can be added only to a Single Opt-in list in Klaviyo.
-
Make sure your RevenueHunt account is connected to Klaviyo via OAuth and that the
Send Quiz Leads to Klaviyo Profilescheckbox is enabled in the quiz'sQuiz Settings > Integrationssection. - In the RevenueHunt app, open the Quiz builder and click on the email question block to open its settings.
- Under the
Klaviyo listdropdown, select the list to add each customer to. -
Set the
subscription status(for example,Subscribed).
-
Save your quiz changes with the top-right
Savebutton.Per-quiz lists
To feed a different Klaviyo list from each quiz, set the list on the email question block of each quiz separately.
-
Previewthe quiz and complete it with a sample email to verify the connection. - In Klaviyo, go to
Audience > Lists & Segmentsand open the list to confirm the test contact was added asSubscribed.
The RevenueHunt app can add contacts from the quiz straight to a Klaviyo list.
- To do that you need a Private API Key.
- To create a new Private Key for the RevenueHunt app login to your Klaviyo account.
-
In account
Settingsopen theAPI Keystab and create a new Private API Key. For list-specific contact additions, you can get your Klaviyo Private API Key from the Klaviyo API Keys tab.
-
Allow
Full access. - Copy the private key.
- In the Quiz Connect tab scroll to Klaviyo and edit the connection.
- Paste your Private API Key.
-
Choose to
mark all profiles as trueand select a list that contacts should be added to.Warning
Keep in mind that contacts from the quiz can be added only to a Single Opt-in List in Klaviyo.
-
Save the changes and publish them with the top-right
Publishbutton. - Remember to test the connection with a sample email.
The RevenueHunt app can add contacts from the quiz straight to a Klaviyo list.
- To do that you need a Private API Key.
- To create a new Private Key for the RevenueHunt app login to your Klaviyo account.
-
In account
Settingsopen theAPI Keystab and create a new Private API Key. For list-specific contact additions, you can get your Klaviyo Private API Key from the Klaviyo API Keys tab.
-
Allow
Full access. - Copy the private key.
- In the Quiz Connect tab scroll to Klaviyo and edit the connection.
- Paste your Private API Key.
-
Choose to
mark all profiles as trueand select a list that contacts should be added to.Warning
Keep in mind that contacts from the quiz can be added only to a Single Opt-in List in Klaviyo.
-
Save the changes and publish them with the top-right
Publishbutton. - Remember to test the connection with a sample email.
The RevenueHunt app can add contacts from the quiz straight to a Klaviyo list.
- To do that you need a Private API Key.
- To create a new Private Key for the RevenueHunt app login to your Klaviyo account.
-
In account
Settingsopen theAPI Keystab and create a new Private API Key. For list-specific contact additions, you can get your Klaviyo Private API Key from the Klaviyo API Keys tab.
-
Allow
Full access. - Copy the private key.
- In the Quiz Connect tab scroll to Klaviyo and edit the connection.
- Paste your Private API Key.
-
Choose to
mark all profiles as trueand select a list that contacts should be added to.Warning
Keep in mind that contacts from the quiz can be added only to a Single Opt-in List in Klaviyo.
-
Save the changes and publish them with the top-right
Publishbutton. - Remember to test the connection with a sample email.
The RevenueHunt app can add contacts from the quiz straight to a Klaviyo list.
- To do that you need a Private API Key.
- To create a new Private Key for the RevenueHunt app login to your Klaviyo account.
-
In account
Settingsopen theAPI Keystab and create a new Private API Key. For list-specific contact additions, you can get your Klaviyo Private API Key from the Klaviyo API Keys tab.
-
Allow
Full access. - Copy the private key.
- In the Quiz Connect tab scroll to Klaviyo and edit the connection.
- Paste your Private API Key.
-
Choose to
mark all profiles as trueand select a list that contacts should be added to.Warning
Keep in mind that contacts from the quiz can be added only to a Single Opt-in List in Klaviyo.
-
Save the changes and publish them with the top-right
Publishbutton. - Remember to test the connection with a sample email.
The RevenueHunt app can add contacts from the quiz straight to a Klaviyo list.
- To do that you need a Private API Key.
- To create a new Private Key for the RevenueHunt app login to your Klaviyo account.
-
In account
Settingsopen theAPI Keystab and create a new Private API Key. For list-specific contact additions, you can get your Klaviyo Private API Key from the Klaviyo API Keys tab.
-
Allow
Full access. - Copy the private key.
- In the Quiz Connect tab scroll to Klaviyo and edit the connection.
- Paste your Private API Key.
-
Choose to
mark all profiles as trueand select a list that contacts should be added to.Warning
Keep in mind that contacts from the quiz can be added only to a Single Opt-in List in Klaviyo.
-
Save the changes and publish them with the top-right
Publishbutton. - Remember to test the connection with a sample email.
Tip: Segmented Campaigns Work Better
Adding contacts to a Klaviyo list is not the only option. You can build dynamic segments from your customers’ answers instead, and send each segment its own email. A segmented campaign earns more than 3X the revenue per recipient of an unsegmented one.
With Klaviyo you can create segments to filter your leads and assign email flows to each segment. Read more about sending follow-up emails via Klaviyo, including how to create and use segments on Klaviyo.
Use quiz data in Klaviyo email templates¶
A Klaviyo email template is built from HTML, CSS and the Django templating system, so you need a developer to restyle the supplied template to your brand.
Custom Properties in Klaviyo
The app sends every answer, every recommended product and the contact details to the customer’s Klaviyo profile, where they appear as custom properties.

To add anything else to the email template, your developer pulls the matching custom properties off the profile.
Learn the person|lookup function
To build your own email template from these custom properties, read Klaviyo's message personalization reference, which covers the {{ person|lookup:"..." }} function.
Overwriting or Appending Custom Properties
Some properties arrive as an array: ANSWER_BY_BLOCK, CHOICE, RESPONSE_ID, RESULT_REF, RESULT_SECTIONS and TAGS. Each quiz completion overwrites the previous values.
However, properties such as RECOMMENDATIONS_BY_SLOT or RESULT_CONTENT_BY_BLOCK are sent as a JSON object, meaning that their values get appended to the existing data upon each quiz completion.
The supplied Klaviyo email template, which you download from the Integrations tab, contains more than one snippet. To have the values overwritten on each quiz completion, use only the snippet that starts with this comment:
{# ================================================================= #}
{# DYNAMIC RESULT PAGE CONTENT (LOOPS THROUGH RESULT_SECTIONS-lBJ9bk) #}
{# This template loops through the result sections and blocks #}
{# It will adapt if you change the results page structure in the quiz editor #}
{# ================================================================= #}
A Klaviyo email template is built from HTML, CSS and the Django templating system, so you need a developer to restyle the supplied template to your brand.
The app sends every answer, every recommended product and the contact details to the customer’s Klaviyo profile, where they appear as custom properties.

To add anything else to the email template, your developer pulls the matching custom properties off the profile.
A Klaviyo email template is built from HTML, CSS and the Django templating system, so you need a developer to restyle the supplied template to your brand.
The app sends every answer, every recommended product and the contact details to the customer’s Klaviyo profile, where they appear as custom properties.

To add anything else to the email template, your developer pulls the matching custom properties off the profile.
A Klaviyo email template is built from HTML, CSS and the Django templating system, so you need a developer to restyle the supplied template to your brand.
The app sends every answer, every recommended product and the contact details to the customer’s Klaviyo profile, where they appear as custom properties.

To add anything else to the email template, your developer pulls the matching custom properties off the profile.
A Klaviyo email template is built from HTML, CSS and the Django templating system, so you need a developer to restyle the supplied template to your brand.
The app sends every answer, every recommended product and the contact details to the customer’s Klaviyo profile, where they appear as custom properties.

To add anything else to the email template, your developer pulls the matching custom properties off the profile.
A Klaviyo email template is built from HTML, CSS and the Django templating system, so you need a developer to restyle the supplied template to your brand.
The app sends every answer, every recommended product and the contact details to the customer’s Klaviyo profile, where they appear as custom properties.

To add anything else to the email template, your developer pulls the matching custom properties off the profile.
Example email templates¶
Use Copilot to generate Klaviyo email template¶
Quiz Copilot can build the Klaviyo email template for your quiz email flow.
- Open Quiz Copilot. To start fresh, click
New conversationin the top-right corner of the popup. You can also open it from the Quiz Settings > Integrations page: find theKlaviyointegration and clickEdit template with AI. -
Paste your desired layout message, and Quiz Copilot will generate the template code.
-
The generated code for the Klaviyo email template can be copied by clicking the
Copyicon. - Paste the generated code directly into an HTML block in your Klaviyo email template.
Example 1 - display recommended products¶
In this example, a quiz with ID YN5L9G recommends a simple list of products.
Example: List of Recommended Products in Klaviyo Template

-
To show the recommended products, use this code from the Klaviyo template in the
Integrationstab:
Example: code from the Integrations tab
{# ======================================== #} {# INDIVIDUAL ITEM RECOMMENDATIONS BY SLOT #} {# ======================================== #} <p> <b>Display recommendation of item 0 for slot rsbss-ca4fba94 </b> <br> Title: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'title' }} <br> Description: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'description' }} <br> Price: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'price'|lookup:'amount' }} {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'price'|lookup:'currencyCode' }} <br> Online URL: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'onlineUrl' }} <br> Image URL: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'image'|lookup:'url' }} </p> <p> <b>Display recommendation of item 1 for slot rsbss-ca4fba94 </b> <br> Title: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'1'|lookup:'title' }} <br> Description: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'1'|lookup:'description' }} <br> Price: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'1'|lookup:'price'|lookup:'amount' }} {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'1'|lookup:'price'|lookup:'currencyCode' }} <br> Online URL: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'1'|lookup:'onlineUrl' }} <br> Image URL: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'1'|lookup:'image'|lookup:'url' }} </p> <p> <b>Display recommendation of item 2 for slot rsbss-ca4fba94 </b> <br> Title: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'2'|lookup:'title' }} <br> Description: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'2'|lookup:'description' }} <br> Price: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'2'|lookup:'price'|lookup:'amount' }} {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'2'|lookup:'price'|lookup:'currencyCode' }} <br> Online URL: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'2'|lookup:'onlineUrl' }} <br> Image URL: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'2'|lookup:'image'|lookup:'url' }} </p> <p> <b>Display recommendation of item 3 for slot rsbss-ca4fba94 </b> <br> Title: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'3'|lookup:'title' }} <br> Description: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'3'|lookup:'description' }} <br> Price: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'3'|lookup:'price'|lookup:'amount' }} {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'3'|lookup:'price'|lookup:'currencyCode' }} <br> Online URL: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'3'|lookup:'onlineUrl' }} <br> Image URL: {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'3'|lookup:'image'|lookup:'url' }} </p>h3> -
Paste this code into an HTML block in a Klaviyo template. Previewed as one of the quiz subscribers, it shows the recommended products.

-
To style the recommended products, your developer adds CSS classes to the HTML.
For example, this is a styled version of the code above:
Example: Styled version of the code above
In Klaviyo, it will look like this:

<!-- Two-Column Product Grid for Klaviyo Email --> <table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" align="center" style="font-family: sans-serif;"> <tr> <!-- Product 0 --> <td style="width: 50%; padding: 10px; vertical-align: top;"> <table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="border: 1px solid #ddd; border-radius: 8px; padding: 16px;"> <tr> <td style="text-align: center;"> <img src="{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'image'|lookup:'url' }}" alt="Product 0" style="width: 100%; max-width: 250px; border-radius: 6px; margin-bottom: 12px;"> <h3 style="font-size: 18px; color: #333; margin: 10px 0;"> {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'title' }} </h3> <p style="font-size: 14px; color: #555; margin-bottom: 10px;"> {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'description' }} </p> <p style="font-size: 16px; color: #111; font-weight: bold; margin-bottom: 12px;"> {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'price'|lookup:'amount' }} {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'price'|lookup:'currencyCode' }} </p> <a href="{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'onlineUrl' }}" style="background-color: #1a73e8; color: #fff; padding: 10px 16px; text-decoration: none; border-radius: 4px; display: inline-block;"> View Product </a> </td> </tr> </table> </td> <!-- Product 1 --> <td style="width: 50%; padding: 10px; vertical-align: top;"> <table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="border: 1px solid #ddd; border-radius: 8px; padding: 16px;"> <tr> <td style="text-align: center;"> <img src="{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'1'|lookup:'image'|lookup:'url' }}" alt="Product 1" style="width: 100%; max-width: 250px; border-radius: 6px; margin-bottom: 12px;"> <h3 style="font-size: 18px; color: #333; margin: 10px 0;"> {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'1'|lookup:'title' }} </h3> <p style="font-size: 14px; color: #555; margin-bottom: 10px;"> {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'1'|lookup:'description' }} </p> <p style="font-size: 16px; color: #111; font-weight: bold; margin-bottom: 12px;"> {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'1'|lookup:'price'|lookup:'amount' }} {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'1'|lookup:'price'|lookup:'currencyCode' }} </p> <a href="{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'1'|lookup:'onlineUrl' }}" style="background-color: #1a73e8; color: #fff; padding: 10px 16px; text-decoration: none; border-radius: 4px; display: inline-block;"> View Product </a> </td> </tr> </table> </td> </tr> <tr> <!-- Product 2 --> <td style="width: 50%; padding: 10px; vertical-align: top;"> <table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="border: 1px solid #ddd; border-radius: 8px; padding: 16px;"> <tr> <td style="text-align: center;"> <img src="{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'2'|lookup:'image'|lookup:'url' }}" alt="Product 2" style="width: 100%; max-width: 250px; border-radius: 6px; margin-bottom: 12px;"> <h3 style="font-size: 18px; color: #333; margin: 10px 0;"> {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'2'|lookup:'title' }} </h3> <p style="font-size: 14px; color: #555; margin-bottom: 10px;"> {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'2'|lookup:'description' }} </p> <p style="font-size: 16px; color: #111; font-weight: bold; margin-bottom: 12px;"> {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'2'|lookup:'price'|lookup:'amount' }} {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'2'|lookup:'price'|lookup:'currencyCode' }} </p> <a href="{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'2'|lookup:'onlineUrl' }}" style="background-color: #1a73e8; color: #fff; padding: 10px 16px; text-decoration: none; border-radius: 4px; display: inline-block;"> View Product </a> </td> </tr> </table> </td> <!-- Product 3 --> <td style="width: 50%; padding: 10px; vertical-align: top;"> <table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="border: 1px solid #ddd; border-radius: 8px; padding: 16px;"> <tr> <td style="text-align: center;"> <img src="{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'3'|lookup:'image'|lookup:'url' }}" alt="Product 3" style="width: 100%; max-width: 250px; border-radius: 6px; margin-bottom: 12px;"> <h3 style="font-size: 18px; color: #333; margin: 10px 0;"> {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'3'|lookup:'title' }} </h3> <p style="font-size: 14px; color: #555; margin-bottom: 10px;"> {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'3'|lookup:'description' }} </p> <p style="font-size: 16px; color: #111; font-weight: bold; margin-bottom: 12px;"> {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'3'|lookup:'price'|lookup:'amount' }} {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'3'|lookup:'price'|lookup:'currencyCode' }} </p> <a href="{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'3'|lookup:'onlineUrl' }}" style="background-color: #1a73e8; color: #fff; padding: 10px 16px; text-decoration: none; border-radius: 4px; display: inline-block;"> View Product </a> </td> </tr> </table> </td> </tr> </table>Tip: Use Copilot or AI to style the code
You can use Quiz Copilot or another AI agent like ChatGPT or Gemini to generate a styled version of the code.
-
You can use elements of the code in your Klaviyo template elements.
Example: Display Product Title in Text Block
For example, you can use the
{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'title' }}to display the title of the first product in a text block.
Sample Product Object Structure
This is the product object the quiz sent to Klaviyo:
- Display recommendation of item 0 for slot
rsbss-ca4fba94 - Title:
{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'title' }} - Description:
{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'description' }} - Price:
{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'price'|lookup:'amount' }} {{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'price'|lookup:'currencyCode' }} - Online URL:
{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'onlineUrl' }} - Image URL:
{{ person|lookup:'RECOMMENDATIONS_BY_SLOT-YN5L9G'|lookup:'rsbss-ca4fba94'|lookup:'0'|lookup:'image'|lookup:'url' }}
- Display recommendation of item 0 for slot
Example 2 - display quiz answers¶
A Skincare Quiz with ID YN5L9G wants to display all customer answers in the email.
-
To do this, you can use the following code copied from the Klaviyo template in the
Integrationstab:
Example: Code from Quiz Integrations tab
{# ======================================= #} {# INFORMATION GATHERED FROM THE QUESTIONS #} {# ======================================= #} <p> <p> <b>Display quiz name</b> <br> Quiz name: {{ person|lookup:'QUIZ_NAME-YN5L9G' }} </p> <p> <b>Display personal information</b> <br> First name: {{ person.first_name }} <br> Last name: {{ person.last_name }} </p> </p><p><b>Display all answers for a specific block</b> <br> {# Display answer for a block of type input and ref qbi-6c4248f5 #} Q2: BEFORE WE BEGIN <br> {{ person|lookup:'ANSWER_BY_BLOCK-qbi-6c4248f5-YN5L9G' }} <br> {# Display answer for a block of type choice and ref qbc-dd744cf3 #} Q3: AGE GROUP <br> {{ person|lookup:'ANSWER_BY_BLOCK-qbc-dd744cf3-YN5L9G' }} <br> {# Display answer for a block of type choice and ref qbc-485600ce #} Q4: SKIN TYPE <br> {{ person|lookup:'ANSWER_BY_BLOCK-qbc-485600ce-YN5L9G' }} <br> {# Display answer for a block of type choice and ref qbc-e8cf3180 #} Q9: SKIN CONCERNS <br> {{ person|lookup:'ANSWER_BY_BLOCK-qbc-e8cf3180-YN5L9G' }} <br> {# Display answer for a block of type choice and ref qbc-329aaeff #} Q10: ALERGIES <br> {{ person|lookup:'ANSWER_BY_BLOCK-qbc-329aaeff-YN5L9G' }} <br> {# Display answer for a block of type input and ref qbi-29f016cf #} Q11: WE'VE GOT YOUR RESULTS - #1 [email] <br> {{ person|lookup:'ANSWER_BY_BLOCK-qbi-29f016cf-YN5L9G' }} <br> {# Display answer for a block of type choice and ref qbc-cb601cf6 #} Q11: WE'VE GOT YOUR RESULTS - #2 [multiple_choice] <br> {{ person|lookup:'ANSWER_BY_BLOCK-qbc-cb601cf6-YN5L9G' }} <br> </p> -
Paste this code into an HTML block in a Klaviyo template. Previewed as one of the quiz subscribers, it shows the full list of answers.

-
If you want to show specific answers in your email template, you can copy parts of the code.
Example: Display Answer for Q3: AGE GROUP
For example, you can use
{{ person|lookup:'ANSWER_BY_BLOCK-qbc-dd744cf3-YN5L9G' }}to display the answer to Q3: AGE GROUP, whose reference isqbc-dd744cf3.To use it in a Klaviyo template text block:

Sample Answer Object Structure
To get the answer to one question:
Quiz name:
{{ person|lookup:'QUIZ_NAME-YN5L9G' }}First name:
{{ person.first_name }}Last name:
{{ person.last_name }}Q2: BEFORE WE BEGIN:{{ person|lookup:'ANSWER_BY_BLOCK-qbi-6c4248f5-YN5L9G' }}Q3: AGE GROUP:{{ person|lookup:'ANSWER_BY_BLOCK-qbc-dd744cf3-YN5L9G' }}Q4: SKIN TYPE:{{ person|lookup:'ANSWER_BY_BLOCK-qbc-485600ce-YN5L9G' }}Q9: SKIN CONCERNS:{{ person|lookup:'ANSWER_BY_BLOCK-qbc-e8cf3180-YN5L9G' }}Q10: ALERGIES:{{ person|lookup:'ANSWER_BY_BLOCK-qbc-329aaeff-YN5L9G' }}Q11: WE'VE GOT YOUR RESULTS - #1 [email]:{{ person|lookup:'ANSWER_BY_BLOCK-qbi-29f016cf-YN5L9G' }}Q11: WE'VE GOT YOUR RESULTS - #2 [multiple_choice]:{{ person|lookup:'ANSWER_BY_BLOCK-qbc-cb601cf6-YN5L9G' }}
Example 3 - display link to quiz results¶
Use the RESPONSE_ID-QuizID property to create a link to the quiz results page.
The default link format adds #response-{{ person|lookup:'RESPONSE_ID-QuizID' }} to the end of the URL:
Example: Link to Quiz results
<a href="https://yourwebsite.com/#response-{{ person|lookup:'RESPONSE_ID-Gli0KD' }}">View your quiz results</a>
Here, Gli0KD is the quiz ID and {{ person|lookup:'RESPONSE_ID-Gli0KD' }} fetches the dynamic response ID (for example, eVgV0Y).
If Klaviyo tracking rewrites or loses the #response-ID fragment, the Built for Shopify version of the RevenueHunt quiz app also supports response_id as an alternative query parameter:
Alternative: Tracked Link Using response_id
<a href="https://yourwebsite.com/pages/quiz?response_id={{ person|lookup:'RESPONSE_ID-Gli0KD' }}">View your quiz results</a>
Replace the example URL with a storefront page where the Link Popup Quiz app embed is enabled. Normal Klaviyo click tracking can remain enabled for the query-parameter link. If the base URL already contains query parameters, append &response_id=... instead of adding another ?.
For #response-ID links, adding clicktracking="off" to the <a> element can prevent Klaviyo from rewriting the link, but Klaviyo will not record click analytics for that link.
This example uses the quiz ID dbqHqN. Replace it with your own. Here is the code:
Example: Basic Slots Template
<h3>Hello {{ person|lookup:'Q-dbqHqN ZMiXjj: .Before we get started... what\'s your name?'|default:'' }}!</h3>
<p>Here we are making sure the product exists:</p>
{% if person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_image_url' %}
<p>Cleanser</p>
<p><img alt="This is the cleanser image" src="{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_image_url'|default:'' }}" /></p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_price'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_sku'|default:'' }}</p>
<p><a href="{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_url'|default:'' }}">Buy now</a></p>
{% endif %}
{% if person|lookup:'T-dbqHqN: 40s' %}
<p>You are in your forties</p>
{% endif %}
This example shows two things. You can print the custom properties the quiz sends to Klaviyo, and you can use IF-ELSE statements to show or hide content based on the answers.
Note: Counting Products
When looping through the products, the count starts at 0 (zero). To display the names of 3 products in a slot, write it like this:
```html
<p>{{ person|lookup:'SLOT-dbqHqN - product_0_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN - product_1_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN - product_2_name'|default:'' }}</p>
```
Here are some other email templates that you can use as a reference:
- Basic Slots Template (4-Step Skincare Routine) – take this quiz & enter your email to see a demo.
- Advanced Slots Template (Morning & Night Routine) – take this quiz & enter your email to see a demo.
- Products List Template (Coffee Recommendations) – take this quiz & enter your email to see a demo.
These templates will not work as they are
Unlike the template generated from the Connect > Klaviyo tab, these were written for a sample quiz, so they will not work as they are. Your developer will have to modify the custom properties to match the ones that are passed from the quiz to your Klaviyo account. The quiz ID is different, so are other property names.
This example uses the quiz ID dbqHqN. Replace it with your own. Here is the code:
Example: Basic Slots Template
<h3>Hello {{ person|lookup:'Q-dbqHqN ZMiXjj: .Before we get started... what\'s your name?'|default:'' }}!</h3>
<p>Here we are making sure the product exists:</p>
{% if person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_image_url' %}
<p>Cleanser</p>
<p><img alt="This is the cleanser image" src="{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_image_url'|default:'' }}" /></p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_price'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_sku'|default:'' }}</p>
<p><a href="{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_url'|default:'' }}">Buy now</a></p>
{% endif %}
{% if person|lookup:'T-dbqHqN: 40s' %}
<p>You are in your forties</p>
{% endif %}
This example shows two things. You can print the custom properties the quiz sends to Klaviyo, and you can use IF-ELSE statements to show or hide content based on the answers.
Note: Counting Products
When looping through the products, the count starts at 0 (zero). To display the names of 3 products in a slot, write it like this:
```html
<p>{{ person|lookup:'SLOT-dbqHqN - product_0_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN - product_1_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN - product_2_name'|default:'' }}</p>
```
Here are some other email templates that you can use as a reference:
- Basic Slots Template (4-Step Skincare Routine) – take this quiz & enter your email to see a demo.
- Advanced Slots Template (Morning & Night Routine) – take this quiz & enter your email to see a demo.
- Products List Template (Coffee Recommendations) – take this quiz & enter your email to see a demo.
These templates will not work as they are
Unlike the template generated from the Connect > Klaviyo tab, these were written for a sample quiz, so they will not work as they are. Your developer will have to modify the custom properties to match the ones that are passed from the quiz to your Klaviyo account. The quiz ID is different, so are other property names.
This example uses the quiz ID dbqHqN. Replace it with your own. Here is the code:
Example: Basic Slots Template
<h3>Hello {{ person|lookup:'Q-dbqHqN ZMiXjj: .Before we get started... what\'s your name?'|default:'' }}!</h3>
<p>Here we are making sure the product exists:</p>
{% if person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_image_url' %}
<p>Cleanser</p>
<p><img alt="This is the cleanser image" src="{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_image_url'|default:'' }}" /></p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_price'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_sku'|default:'' }}</p>
<p><a href="{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_url'|default:'' }}">Buy now</a></p>
{% endif %}
{% if person|lookup:'T-dbqHqN: 40s' %}
<p>You are in your forties</p>
{% endif %}
This example shows two things. You can print the custom properties the quiz sends to Klaviyo, and you can use IF-ELSE statements to show or hide content based on the answers.
Note: Counting Products
When looping through the products, the count starts at 0 (zero). To display the names of 3 products in a slot, write it like this:
```html
<p>{{ person|lookup:'SLOT-dbqHqN - product_0_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN - product_1_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN - product_2_name'|default:'' }}</p>
```
Here are some other email templates that you can use as a reference:
- Basic Slots Template (4-Step Skincare Routine) – take this quiz & enter your email to see a demo.
- Advanced Slots Template (Morning & Night Routine) – take this quiz & enter your email to see a demo.
- Products List Template (Coffee Recommendations) – take this quiz & enter your email to see a demo.
These templates will not work as they are
Unlike the template generated from the Connect > Klaviyo tab, these were written for a sample quiz, so they will not work as they are. Your developer will have to modify the custom properties to match the ones that are passed from the quiz to your Klaviyo account. The quiz ID is different, so are other property names.
This example uses the quiz ID dbqHqN. Replace it with your own. Here is the code:
Example: Basic Slots Template
<h3>Hello {{ person|lookup:'Q-dbqHqN ZMiXjj: .Before we get started... what\'s your name?'|default:'' }}!</h3>
<p>Here we are making sure the product exists:</p>
{% if person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_image_url' %}
<p>Cleanser</p>
<p><img alt="This is the cleanser image" src="{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_image_url'|default:'' }}" /></p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_price'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_sku'|default:'' }}</p>
<p><a href="{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_url'|default:'' }}">Buy now</a></p>
{% endif %}
{% if person|lookup:'T-dbqHqN: 40s' %}
<p>You are in your forties</p>
{% endif %}
This example shows two things. You can print the custom properties the quiz sends to Klaviyo, and you can use IF-ELSE statements to show or hide content based on the answers.
Note: Counting Products
When looping through the products, the count starts at 0 (zero). To display the names of 3 products in a slot, write it like this:
```html
<p>{{ person|lookup:'SLOT-dbqHqN - product_0_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN - product_1_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN - product_2_name'|default:'' }}</p>
```
Here are some other email templates that you can use as a reference:
- Basic Slots Template (4-Step Skincare Routine) – take this quiz & enter your email to see a demo.
- Advanced Slots Template (Morning & Night Routine) – take this quiz & enter your email to see a demo.
- Products List Template (Coffee Recommendations) – take this quiz & enter your email to see a demo.
These templates will not work as they are
Unlike the template generated from the Connect > Klaviyo tab, these were written for a sample quiz, so they will not work as they are. Your developer will have to modify the custom properties to match the ones that are passed from the quiz to your Klaviyo account. The quiz ID is different, so are other property names.
This example uses the quiz ID dbqHqN. Replace it with your own. Here is the code:
Example: Basic Slots Template
<h3>Hello {{ person|lookup:'Q-dbqHqN ZMiXjj: .Before we get started... what\'s your name?'|default:'' }}!</h3>
<p>Here we are making sure the product exists:</p>
{% if person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_image_url' %}
<p>Cleanser</p>
<p><img alt="This is the cleanser image" src="{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_image_url'|default:'' }}" /></p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_price'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_sku'|default:'' }}</p>
<p><a href="{{ person|lookup:'SLOT-dbqHqN: Step 1: Cleanser - product_0_url'|default:'' }}">Buy now</a></p>
{% endif %}
{% if person|lookup:'T-dbqHqN: 40s' %}
<p>You are in your forties</p>
{% endif %}
This example shows two things. You can print the custom properties the quiz sends to Klaviyo, and you can use IF-ELSE statements to show or hide content based on the answers.
Note: Counting Products
When looping through the products, the count starts at 0 (zero). To display the names of 3 products in a slot, write it like this:
```html
<p>{{ person|lookup:'SLOT-dbqHqN - product_0_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN - product_1_name'|default:'' }}</p>
<p>{{ person|lookup:'SLOT-dbqHqN - product_2_name'|default:'' }}</p>
```
Here are some other email templates that you can use as a reference:
- Basic Slots Template (4-Step Skincare Routine) – take this quiz & enter your email to see a demo.
- Advanced Slots Template (Morning & Night Routine) – take this quiz & enter your email to see a demo.
- Products List Template (Coffee Recommendations) – take this quiz & enter your email to see a demo.
These templates will not work as they are
Unlike the template generated from the Connect > Klaviyo tab, these were written for a sample quiz, so they will not work as they are. Your developer will have to modify the custom properties to match the ones that are passed from the quiz to your Klaviyo account. The quiz ID is different, so are other property names.
Pull product information directly from Shopify¶
Klaviyo can pull the product information straight from Shopify, given the product id. Rather than the description or image_url the quiz sends, pass the product's origin_id and let Klaviyo read the rest from Shopify. See the Klaviyo Overview of the Catalog Lookup Tag.
Disconnect Klaviyo¶
There are two ways to stop sending quiz data to Klaviyo: stop one quiz, or disconnect Klaviyo from your whole RevenueHunt account.
Option 1: Disconnect a single quiz
If you only want one specific quiz to stop sending data to Klaviyo (while other quizzes in your account keep working):
- Open the Quiz settings of the quiz you want to disconnect.
- Go to the
Integrationstab, find the Klaviyo section, and uncheck theSend Quiz Leads to Klaviyo Profilescheckbox. - Save your changes.
No more quiz data will flow from that specific quiz to Klaviyo. Other quizzes in your account will continue to send data normally.
Option 2: Disconnect Klaviyo from your entire RevenueHunt account
If you want to completely revoke the Klaviyo connection across your whole RevenueHunt account:
- Open Quiz settings and go to the
Integrationstab. - Scroll to Klaviyo and click
Disconnect. - Confirm the action.
The change saves automatically, and no quiz in your account sends data to Klaviyo any more. To reconnect later, click Connect again and complete the OAuth flow.
By following this article, you can set up your post-quiz email flow with Klaviyo.