Skip to content

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.

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.

  1. Open the RevenueHunt app and navigate to any quiz.
  2. Go to Quiz Settings > Integrations tab.
  3. Scroll to the Mailing & CRMs section and find the Klaviyo card.
  4. Click the Connect button.
  5. You will be redirected to Klaviyo's authorization page. Log in to your Klaviyo account if prompted.
  6. Select the Klaviyo account you want to connect and review the permissions requested, then click Allow to authorize the connection.
  7. 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.
  8. Klaviyo is automatically enabled for the quiz you initiated the connection from. You can enable it for other quizzes individually by opening Quiz Settings > Integrations and toggling Send quiz leads to Klaviyo.

  9. Publish the changes with the top Save button.

  10. Take the quiz all the way to the results. Use a sample email that does not already exist in your Klaviyo account.
  11. 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.

how to send leads to klaviyo customer profile

To connect the quiz to Klaviyo you need your Klaviyo Public API Key. The app uses that key to write to your Klaviyo profiles.

  1. To find your Public Key, log in to your Klaviyo account. In account Settings open the API Keys tab and copy the public API Key. You can get your Klaviyo Public API Key from the Klaviyo API Keys tab. how to send leads to klaviyo public api key
  2. Go back to the RevenueHunt app.
  3. In the Quiz > Connect tab, scroll to Klaviyo and edit the connection. Paste your Public API Key and save. how to send leads to klaviyo public api key provided1 how to send leads to klaviyo public api key provided2

  4. Publish the changes with the top-right Publish button.

  5. Take the quiz all the way to the results. Use a sample email that does not already exist in your Klaviyo account.
  6. 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.

how to send leads to klaviyo customer profile

To connect the quiz to Klaviyo you need your Klaviyo Public API Key. The app uses that key to write to your Klaviyo profiles.

  1. To find your Public Key, log in to your Klaviyo account. In account Settings open the API Keys tab and copy the public API Key. You can get your Klaviyo Public API Key from the Klaviyo API Keys tab. how to send leads to klaviyo public api key
  2. Go back to the RevenueHunt app.
  3. In the Quiz > Connect tab, scroll to Klaviyo and edit the connection. Paste your Public API Key and save. how to send leads to klaviyo public api key provided1 how to send leads to klaviyo public api key provided2

  4. Publish the changes with the top-right Publish button.

  5. Take the quiz all the way to the results. Use a sample email that does not already exist in your Klaviyo account.
  6. 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.

how to send leads to klaviyo customer profile

To connect the quiz to Klaviyo you need your Klaviyo Public API Key. The app uses that key to write to your Klaviyo profiles.

  1. To find your Public Key, log in to your Klaviyo account. In account Settings open the API Keys tab and copy the public API Key. You can get your Klaviyo Public API Key from the Klaviyo API Keys tab. how to send leads to klaviyo public api key
  2. Go back to the RevenueHunt app.
  3. In the Quiz > Connect tab, scroll to Klaviyo and edit the connection. Paste your Public API Key and save. how to send leads to klaviyo public api key provided1 how to send leads to klaviyo public api key provided2

  4. Publish the changes with the top-right Publish button.

  5. Take the quiz all the way to the results. Use a sample email that does not already exist in your Klaviyo account.
  6. 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.

how to send leads to klaviyo customer profile

To connect the quiz to Klaviyo you need your Klaviyo Public API Key. The app uses that key to write to your Klaviyo profiles.

  1. To find your Public Key, log in to your Klaviyo account. In account Settings open the API Keys tab and copy the public API Key. You can get your Klaviyo Public API Key from the Klaviyo API Keys tab. how to send leads to klaviyo public api key
  2. Go back to the RevenueHunt app.
  3. In the Quiz > Connect tab, scroll to Klaviyo and edit the connection. Paste your Public API Key and save. how to send leads to klaviyo public api key provided1 how to send leads to klaviyo public api key provided2

  4. Publish the changes with the top-right Publish button.

  5. Take the quiz all the way to the results. Use a sample email that does not already exist in your Klaviyo account.
  6. 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.

how to send leads to klaviyo customer profile

To connect the quiz to Klaviyo you need your Klaviyo Public API Key. The app uses that key to write to your Klaviyo profiles.

  1. To find your Public Key, log in to your Klaviyo account. In account Settings open the API Keys tab and copy the public API Key. You can get your Klaviyo Public API Key from the Klaviyo API Keys tab. how to send leads to klaviyo public api key
  2. Go back to the RevenueHunt app.
  3. In the Quiz > Connect tab, scroll to Klaviyo and edit the connection. Paste your Public API Key and save. how to send leads to klaviyo public api key provided1 how to send leads to klaviyo public api key provided2

  4. Publish the changes with the top-right Publish button.

  5. Take the quiz all the way to the results. Use a sample email that does not already exist in your Klaviyo account.
  6. 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.

how to send leads to klaviyo customer profile

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.

  1. 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 selecting email from the dropdown list.

    Tip

    You can ask for marketing consent directly in the quiz.

  2. Connect Quiz to Klaviyo: Follow the instructions in Link your quiz to Klaviyo to learn how to connect your quiz to Klaviyo correctly.

  3. Create a Segment: All quiz contacts can be grouped into a segment in Klaviyo.

    1. To create a new segment in Klaviyo go to Audience > List & Segments and click Create New > New Segment.
    2. Name the segment and set up the definition.
    3. Segment definition: Select Properties about someone and 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-QuizID property is unique for profiles coming from the quiz.

      • If the ANSWERS_BY_BLOCK-QuizID property is not in the dropdown, take a test quiz and try again.

    4. Segment definition: As segment definition set up a rule that follows this format: Custom property from the Quiz is set Type: text.

      Example

      • ANSWERS_BY_BLOCK-QuizID is set Type: text.
    5. Click Create a segment and wait for Klaviyo to load all the contacts that match the segment definition. This may take a few minutes.

    6. 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.
  4. 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

    1. To build a flow that reaches only customers who finished the quiz, open the Flows tab in Klaviyo.
    2. Click Create flow and then Build from scratch.
    3. Name the flow and click Create flow.
    4. Klaviyo then asks you to set up a flow trigger.
    5. Choose the trigger to be Added to a segment and select the segment created in the previous step. Set the Reentry criteria to Allow reentry, so a customer gets an email every time they finish the quiz. Click Confirm and Confirm 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 list selector 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:

    1. Right below the flow trigger, add a Profile property update action.
    2. Click + Step.
    3. A menu opens where you set up the profile property update.
    4. Select to Update existing property, from the Select property dropdown menu select Accepts marketing and set the value to true.
    5. Turn this action LIVE.
  5. Edit the Email: In the next steps, you should edit the email template.

    Add Email Action

    how to send leads to klaviyo built for shopify revenuehunt app create email flow

    1. Grab the EMAIL action and drop it below the flow trigger.

    Edit the Email template

    1. In Email details section edit the Subject.
    2. Click Select template. Klaviyo opens the Templates section.
    3. Click Create to make a new email template. The Klaviyo email builder opens.
    4. In the Klaviyo email builder, use the ready-made blocks to add images or text to your template.
    5. To add the quiz content and the recommended products, drag an HTML block into the email builder.
    6. The Quiz Settings > Integrations section holds a button to download a Klaviyo Template. Click the Klaviyo Template button and a new window will open. There, click Copy code to copy the existing template.

      Klaviyo Template

      how to send leads to klaviyo email template download1 how to send leads to klaviyo email template download2

      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.
    7. Paste the code in the HTML block in Klaviyo email.

      how to send leads to klaviyo built for shopify revenuehunt app example template in klaviyo

    8. Preview the email as one of your segment subscribers, to check what it shows.

    9. 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 HTML block 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.

    10. When the template is ready, click Exit, then Done, and return to your flow.

    11. 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.

  6. Re-trigger the flow: to send an email on every retake, set the reentry criteria on the flow trigger:

    1. Open the flow trigger (Added to a segment).
    2. Set the Reentry criteria to Allow reentry.
    3. 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 update action 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.

    how to send leads to klaviyo resend email with each quiz retake

  1. 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 selecting email from the dropdown list. You can also ask for marketing consent directly in the quiz.
  2. Connect Quiz to Klaviyo: Follow the instructions in Link Your Quiz to Klaviyo to learn how to connect your quiz to Klaviyo correctly.
  3. Create a Segment: All quiz contacts can be grouped into a segment in Klaviyo.

    1. To create a new segment in Klaviyo go to Audience > List & Segments and click Create New > New Segment.
    2. Name the segment and set up the definition.
    3. The Permalink-QuizID property is unique for profiles coming from the quiz.
    4. If the permalink property is not in the dropdown, take a test quiz and try again.
    5. Click Create a segment.
  4. 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

    1. To build a flow that reaches only customers who finished the quiz, open the Flows tab in Klaviyo.
    2. Click Create flow and then Build from scratch.
    3. Name the flow and click Create flow.
    4. Klaviyo then asks you to set up a flow trigger.
    5. Choose the trigger to be Added to a segment and select the segment created in the Create segment for quiz customers. Click Confirm and Confirm 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:

    1. Right below the flow trigger, add a Profile property update action.
    2. Click + Step.
    3. A menu opens where you set up the profile property update.
    4. Select to Update existing property, from the Select property dropdown menu select Accepts marketing and set the value to true.
    5. Turn this action LIVE.
  5. Edit the Email: In the next steps, you should edit the email template.

    Add Email Action

    1. Click on the three dots and edit the email.
    2. Edit the name/subject/email to your liking and select the HTML email template.
    3. From the Connect > Klaviyo tab you can download a ready-to-use email template.

      how to send leads to klaviyo email template download1 how to send leads to klaviyo email template download2

      Tip

      If you would rather create your own email template, check Use quiz data in Klaviyo email templates for more details.

    4. Copy the code and go back to Klaviyo.

    5. Open the HTML email template and remove the existing code.
    6. Paste the new template code.
    7. You can then preview the email as one of your segment subscribers.
    8. Make sure to Save the changes and click Done.
    9. 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.

  6. Re-trigger the flow: to send an email on every retake, add a Profile property update action at the end of the flow:

    1. Add a Profile property update action at the end of the flow.
    2. Click + Step.
    3. Select Delete existing property.
    4. From the Select property dropdown menu select the property that was used to create a segment in earlier steps.

      Example

      Select Delete existing property > PERMALINK-QuizID.

      how to send leads to klaviyo resend email with each quiz retake

      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 the PERMALINK-{{quiz_id}} property from their profile. Removing it lets them re-enter the segment when they retake the quiz.

      For example:

      how to send leads to klaviyo resend email with each quiz retake

    5. 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.

Deactivate the app emails

Remember to deactivate the email Notifications from the Quiz Builder once the Klaviyo flow is set up.

  1. 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 selecting email from the dropdown list. You can also ask for marketing consent directly in the quiz.
  2. Connect Quiz to Klaviyo: Follow the instructions in Link Your Quiz to Klaviyo to learn how to connect your quiz to Klaviyo correctly.
  3. Create a Segment: All quiz contacts can be grouped into a segment in Klaviyo.

    1. To create a new segment in Klaviyo go to Audience > List & Segments and click Create New > New Segment.
    2. Name the segment and set up the definition.
    3. The Permalink-QuizID property is unique for profiles coming from the quiz.
    4. If the permalink property is not in the dropdown, take a test quiz and try again.
    5. Click Create a segment.
  4. 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

    1. To build a flow that reaches only customers who finished the quiz, open the Flows tab in Klaviyo.
    2. Click Create flow and then Build from scratch.
    3. Name the flow and click Create flow.
    4. Klaviyo then asks you to set up a flow trigger.
    5. Choose the trigger to be Added to a segment and select the segment created in the Create segment for quiz customers. Click Confirm and Confirm 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:

    1. Right below the flow trigger, add a Profile property update action.
    2. Click + Step.
    3. A menu opens where you set up the profile property update.
    4. Select to Update existing property, from the Select property dropdown menu select Accepts marketing and set the value to true.
    5. Turn this action LIVE.
  5. Edit the Email: In the next steps, you should edit the email template.

    Add Email Action

    1. Click on the three dots and edit the email.
    2. Edit the name/subject/email to your liking and select the HTML email template.
    3. From the Connect > Klaviyo tab you can download a ready-to-use email template.

      how to send leads to klaviyo email template download1 how to send leads to klaviyo email template download2

      Tip

      If you would rather create your own email template, check Use quiz data in Klaviyo email templates for more details.

    4. Copy the code and go back to Klaviyo.

    5. Open the HTML email template and remove the existing code.
    6. Paste the new template code.
    7. You can then preview the email as one of your segment subscribers.
    8. Make sure to Save the changes and click Done.
    9. 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.

  6. Re-trigger the flow: to send an email on every retake, add a Profile property update action at the end of the flow:

    1. Add a Profile property update action at the end of the flow.
    2. Click + Step.
    3. Select Delete existing property.
    4. From the Select property dropdown menu select the property that was used to create a segment in earlier steps.

      Example

      Select Delete existing property > PERMALINK-QuizID.

      how to send leads to klaviyo resend email with each quiz retake

      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 the PERMALINK-{{quiz_id}} property from their profile. Removing it lets them re-enter the segment when they retake the quiz.

      For example:

      how to send leads to klaviyo resend email with each quiz retake

    5. 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.

Deactivate the app emails

Remember to deactivate the email Notifications from the Quiz Builder once the Klaviyo flow is set up.

  1. 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 selecting email from the dropdown list. You can also ask for marketing consent directly in the quiz.
  2. Connect Quiz to Klaviyo: Follow the instructions in Link Your Quiz to Klaviyo to learn how to connect your quiz to Klaviyo correctly.
  3. Create a Segment: All quiz contacts can be grouped into a segment in Klaviyo.

    1. To create a new segment in Klaviyo go to Audience > List & Segments and click Create New > New Segment.
    2. Name the segment and set up the definition.
    3. The Permalink-QuizID property is unique for profiles coming from the quiz.
    4. If the permalink property is not in the dropdown, take a test quiz and try again.
    5. Click Create a segment.
  4. 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

    1. To build a flow that reaches only customers who finished the quiz, open the Flows tab in Klaviyo.
    2. Click Create flow and then Build from scratch.
    3. Name the flow and click Create flow.
    4. Klaviyo then asks you to set up a flow trigger.
    5. Choose the trigger to be Added to a segment and select the segment created in the Create segment for quiz customers. Click Confirm and Confirm 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:

    1. Right below the flow trigger, add a Profile property update action.
    2. Click + Step.
    3. A menu opens where you set up the profile property update.
    4. Select to Update existing property, from the Select property dropdown menu select Accepts marketing and set the value to true.
    5. Turn this action LIVE.
  5. Edit the Email: In the next steps, you should edit the email template.

    Add Email Action

    1. Click on the three dots and edit the email.
    2. Edit the name/subject/email to your liking and select the HTML email template.
    3. From the Connect > Klaviyo tab you can download a ready-to-use email template.

      how to send leads to klaviyo email template download1 how to send leads to klaviyo email template download2

      Tip

      If you would rather create your own email template, check Use quiz data in Klaviyo email templates for more details.

    4. Copy the code and go back to Klaviyo.

    5. Open the HTML email template and remove the existing code.
    6. Paste the new template code.
    7. You can then preview the email as one of your segment subscribers.
    8. Make sure to Save the changes and click Done.
    9. 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.

  6. Re-trigger the flow: to send an email on every retake, add a Profile property update action at the end of the flow:

    1. Add a Profile property update action at the end of the flow.
    2. Click + Step.
    3. Select Delete existing property.
    4. From the Select property dropdown menu select the property that was used to create a segment in earlier steps.

      Example

      Select Delete existing property > PERMALINK-QuizID.

      how to send leads to klaviyo resend email with each quiz retake

      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 the PERMALINK-{{quiz_id}} property from their profile. Removing it lets them re-enter the segment when they retake the quiz.

      For example:

      how to send leads to klaviyo resend email with each quiz retake

    5. 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.

Deactivate the app emails

Remember to deactivate the email Notifications from the Quiz Builder once the Klaviyo flow is set up.

  1. 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 selecting email from the dropdown list. You can also ask for marketing consent directly in the quiz.
  2. Connect Quiz to Klaviyo: Follow the instructions in Link Your Quiz to Klaviyo to learn how to connect your quiz to Klaviyo correctly.
  3. Create a Segment: All quiz contacts can be grouped into a segment in Klaviyo.

    1. To create a new segment in Klaviyo go to Audience > List & Segments and click Create New > New Segment.
    2. Name the segment and set up the definition.
    3. The Permalink-QuizID property is unique for profiles coming from the quiz.
    4. If the permalink property is not in the dropdown, take a test quiz and try again.
    5. Click Create a segment.
  4. 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

    1. To build a flow that reaches only customers who finished the quiz, open the Flows tab in Klaviyo.
    2. Click Create flow and then Build from scratch.
    3. Name the flow and click Create flow.
    4. Klaviyo then asks you to set up a flow trigger.
    5. Choose the trigger to be Added to a segment and select the segment created in the Create segment for quiz customers. Click Confirm and Confirm 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:

    1. Right below the flow trigger, add a Profile property update action.
    2. Click + Step.
    3. A menu opens where you set up the profile property update.
    4. Select to Update existing property, from the Select property dropdown menu select Accepts marketing and set the value to true.
    5. Turn this action LIVE.
  5. Edit the Email: In the next steps, you should edit the email template.

    Add Email Action

    1. Click on the three dots and edit the email.
    2. Edit the name/subject/email to your liking and select the HTML email template.
    3. From the Connect > Klaviyo tab you can download a ready-to-use email template.

      how to send leads to klaviyo email template download1 how to send leads to klaviyo email template download2

      Tip

      If you would rather create your own email template, check Use quiz data in Klaviyo email templates for more details.

    4. Copy the code and go back to Klaviyo.

    5. Open the HTML email template and remove the existing code.
    6. Paste the new template code.
    7. You can then preview the email as one of your segment subscribers.
    8. Make sure to Save the changes and click Done.
    9. 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.

  6. Re-trigger the flow: to send an email on every retake, add a Profile property update action at the end of the flow:

    1. Add a Profile property update action at the end of the flow.
    2. Click + Step.
    3. Select Delete existing property.
    4. From the Select property dropdown menu select the property that was used to create a segment in earlier steps.

      Example

      Select Delete existing property > PERMALINK-QuizID.

      how to send leads to klaviyo resend email with each quiz retake

      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 the PERMALINK-{{quiz_id}} property from their profile. Removing it lets them re-enter the segment when they retake the quiz.

      For example:

      how to send leads to klaviyo resend email with each quiz retake

    5. 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.

Deactivate the app emails

Remember to deactivate the email Notifications from the Quiz Builder once the Klaviyo flow is set up.

  1. 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 selecting email from the dropdown list. You can also ask for marketing consent directly in the quiz.
  2. Connect Quiz to Klaviyo: Follow the instructions in Link Your Quiz to Klaviyo to learn how to connect your quiz to Klaviyo correctly.
  3. Create a Segment: All quiz contacts can be grouped into a segment in Klaviyo.

    1. To create a new segment in Klaviyo go to Audience > List & Segments and click Create New > New Segment.
    2. Name the segment and set up the definition.
    3. The Permalink-QuizID property is unique for profiles coming from the quiz.
    4. If the permalink property is not in the dropdown, take a test quiz and try again.
    5. Click Create a segment.
  4. 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

    1. To build a flow that reaches only customers who finished the quiz, open the Flows tab in Klaviyo.
    2. Click Create flow and then Build from scratch.
    3. Name the flow and click Create flow.
    4. Klaviyo then asks you to set up a flow trigger.
    5. Choose the trigger to be Added to a segment and select the segment created in the Create segment for quiz customers. Click Confirm and Confirm 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:

    1. Right below the flow trigger, add a Profile property update action.
    2. Click + Step.
    3. A menu opens where you set up the profile property update.
    4. Select to Update existing property, from the Select property dropdown menu select Accepts marketing and set the value to true.
    5. Turn this action LIVE.
  5. Edit the Email: In the next steps, you should edit the email template.

    Add Email Action

    1. Click on the three dots and edit the email.
    2. Edit the name/subject/email to your liking and select the HTML email template.
    3. From the Connect > Klaviyo tab you can download a ready-to-use email template.

      how to send leads to klaviyo email template download1 how to send leads to klaviyo email template download2

      Tip

      If you would rather create your own email template, check Use quiz data in Klaviyo email templates for more details.

    4. Copy the code and go back to Klaviyo.

    5. Open the HTML email template and remove the existing code.
    6. Paste the new template code.
    7. You can then preview the email as one of your segment subscribers.
    8. Make sure to Save the changes and click Done.
    9. 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.

  6. Re-trigger the flow: to send an email on every retake, add a Profile property update action at the end of the flow:

    1. Add a Profile property update action at the end of the flow.
    2. Click + Step.
    3. Select Delete existing property.
    4. From the Select property dropdown menu select the property that was used to create a segment in earlier steps.

      Example

      Select Delete existing property > PERMALINK-QuizID.

      how to send leads to klaviyo resend email with each quiz retake

      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 the PERMALINK-{{quiz_id}} property from their profile. Removing it lets them re-enter the segment when they retake the quiz.

      For example:

      how to send leads to klaviyo resend email with each quiz retake

    5. 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.

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.

  1. 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 to Single Opt-in.

    Warning

    Quiz contacts can be added only to a Single Opt-in list in Klaviyo.

  2. Make sure your RevenueHunt account is connected to Klaviyo via OAuth and that the Send Quiz Leads to Klaviyo Profiles checkbox is enabled in the quiz's Quiz Settings > Integrations section.

  3. In the RevenueHunt app, open the Quiz builder and click on the email question block to open its settings.
  4. Under the Klaviyo list dropdown, select the list to add each customer to.
  5. Set the subscription status (for example, Subscribed).

    how to klaviyo built for shopify revenuehunt app email question settings

  6. Save your quiz changes with the top-right Save button.

    Per-quiz lists

    To feed a different Klaviyo list from each quiz, set the list on the email question block of each quiz separately.

  7. Preview the quiz and complete it with a sample email to verify the connection.

  8. In Klaviyo, go to Audience > Lists & Segments and open the list to confirm the test contact was added as Subscribed.

The RevenueHunt app can add contacts from the quiz straight to a Klaviyo list.

  1. To do that you need a Private API Key.
  2. To create a new Private Key for the RevenueHunt app login to your Klaviyo account.
  3. In account Settings open the API Keys tab 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. how to send leads to klaviyo private api key

  4. Allow Full access.

  5. Copy the private key.
  6. In the Quiz Connect tab scroll to Klaviyo and edit the connection.
  7. Paste your Private API Key.
  8. Choose to mark all profiles as true and 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.

  9. Save the changes and publish them with the top-right Publish button.

  10. Remember to test the connection with a sample email.

The RevenueHunt app can add contacts from the quiz straight to a Klaviyo list.

  1. To do that you need a Private API Key.
  2. To create a new Private Key for the RevenueHunt app login to your Klaviyo account.
  3. In account Settings open the API Keys tab 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. how to send leads to klaviyo private api key

  4. Allow Full access.

  5. Copy the private key.
  6. In the Quiz Connect tab scroll to Klaviyo and edit the connection.
  7. Paste your Private API Key.
  8. Choose to mark all profiles as true and 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.

  9. Save the changes and publish them with the top-right Publish button.

  10. Remember to test the connection with a sample email.

The RevenueHunt app can add contacts from the quiz straight to a Klaviyo list.

  1. To do that you need a Private API Key.
  2. To create a new Private Key for the RevenueHunt app login to your Klaviyo account.
  3. In account Settings open the API Keys tab 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. how to send leads to klaviyo private api key

  4. Allow Full access.

  5. Copy the private key.
  6. In the Quiz Connect tab scroll to Klaviyo and edit the connection.
  7. Paste your Private API Key.
  8. Choose to mark all profiles as true and 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.

  9. Save the changes and publish them with the top-right Publish button.

  10. Remember to test the connection with a sample email.

The RevenueHunt app can add contacts from the quiz straight to a Klaviyo list.

  1. To do that you need a Private API Key.
  2. To create a new Private Key for the RevenueHunt app login to your Klaviyo account.
  3. In account Settings open the API Keys tab 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. how to send leads to klaviyo private api key

  4. Allow Full access.

  5. Copy the private key.
  6. In the Quiz Connect tab scroll to Klaviyo and edit the connection.
  7. Paste your Private API Key.
  8. Choose to mark all profiles as true and 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.

  9. Save the changes and publish them with the top-right Publish button.

  10. Remember to test the connection with a sample email.

The RevenueHunt app can add contacts from the quiz straight to a Klaviyo list.

  1. To do that you need a Private API Key.
  2. To create a new Private Key for the RevenueHunt app login to your Klaviyo account.
  3. In account Settings open the API Keys tab 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. how to send leads to klaviyo private api key

  4. Allow Full access.

  5. Copy the private key.
  6. In the Quiz Connect tab scroll to Klaviyo and edit the connection.
  7. Paste your Private API Key.
  8. Choose to mark all profiles as true and 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.

  9. Save the changes and publish them with the top-right Publish button.

  10. 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.

how to send leads to klaviyo customer profile

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.

how to send leads to klaviyo customer profile

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.

how to send leads to klaviyo customer profile

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.

how to send leads to klaviyo customer profile

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.

how to send leads to klaviyo customer profile

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.

how to send leads to klaviyo customer profile

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.

  1. Open Quiz Copilot. To start fresh, click New conversation in the top-right corner of the popup. You can also open it from the Quiz Settings > Integrations page: find the Klaviyo integration and click Edit template with AI.
  2. Paste your desired layout message, and Quiz Copilot will generate the template code.

    Quiz Copilot building Klaviyo templates

  3. The generated code for the Klaviyo email template can be copied by clicking the Copy icon.

  4. Paste the generated code directly into an HTML block in your Klaviyo email template.

In this example, a quiz with ID YN5L9G recommends a simple list of products.

Example: List of Recommended Products in Klaviyo Template

how_to_shipifyv2_klaviyo_template_productlist1

  1. To show the recommended products, use this code from the Klaviyo template in the Integrations tab:

    how_to_shopifyv2_klaviyo_shopify_v2_get_template

    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>
    
  2. Paste this code into an HTML block in a Klaviyo template. Previewed as one of the quiz subscribers, it shows the recommended products.

    how_to_shipifyv2_klaviyo_template_productlist2

  3. 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:

    how_to_shipifyv2_klaviyo_template_productlist3

    <!-- 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.

  4. 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.

    how_to_shipifyv2_klaviyo_template_productlist4

    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' }}

Example 2 - display quiz answers

A Skincare Quiz with ID YN5L9G wants to display all customer answers in the email.

  1. To do this, you can use the following code copied from the Klaviyo template in the Integrations tab:

    how_to_shopifyv2_klaviyo_shopify_v2_get_template

    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>
    
  2. 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.

    how_to_shipifyv2_klaviyo_template_answerslist1

  3. 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 is qbc-dd744cf3.

    To use it in a Klaviyo template text block:

    how_to_shipifyv2_klaviyo_template_answerslist2

    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' }}

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 &amp;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:

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:

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:

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:

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:

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):

  1. Open the Quiz settings of the quiz you want to disconnect.
  2. Go to the Integrations tab, find the Klaviyo section, and uncheck the Send Quiz Leads to Klaviyo Profiles checkbox.
  3. 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:

  1. Open Quiz settings and go to the Integrations tab.
  2. Scroll to Klaviyo and click Disconnect.
  3. 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.