Skip to content

How to Track Quiz Performance with Google Analytics

Google Analytics offers a powerful way to gain insights into user engagement with your quizzes. Linking your quiz with Google Analytics can provide valuable data on user interaction, pinpoint engagement issues, and help minimize abandonment rates.

The 💎 Built for Shopify version of RevenueHunt app includes native GA4 integration for comprehensive event tracking.

This article will guide you through the process of connecting your quiz to Google Analytics and tracking quiz events.

GA4 Event Tracking Reliability

Since Google transitioned from Universal Analytics to GA4, event tracking reliability has significantly decreased.
The implementation code may be correct and events may fire as expected, but GA4 can still fail to read, process, or report them accurately.

If this occurs, we recommend contacting Google Support, as the issue is likely on their end.

To track quiz performance with Google Analytics in Shopify (legacy), you'll need to implement custom JavaScript tracking. This allows you to monitor specific quiz events and user interactions.

This article explains how to track quiz events and performance in Google Analytics.

GA4 Event Tracking Reliability

Since Google transitioned from Universal Analytics to GA4, event tracking reliability has significantly decreased.
The implementation code may be correct and events may fire as expected, but GA4 can still fail to read, process, or report them accurately.

If this occurs, we recommend contacting Google Support, as the issue is likely on their end.

To track quiz performance with Google Analytics in WooCommerce, you'll need to implement custom JavaScript tracking. This allows you to monitor specific quiz events and user interactions.

This article explains how to track quiz events and performance in Google Analytics.

GA4 Event Tracking Reliability

Since Google transitioned from Universal Analytics to GA4, event tracking reliability has significantly decreased.
The implementation code may be correct and events may fire as expected, but GA4 can still fail to read, process, or report them accurately.

If this occurs, we recommend contacting Google Support, as the issue is likely on their end.

To track quiz performance with Google Analytics in Magento, you'll need to implement custom JavaScript tracking. This allows you to monitor specific quiz events and user interactions.

This article explains how to track quiz events and performance in Google Analytics.

GA4 Event Tracking Reliability

Since Google transitioned from Universal Analytics to GA4, event tracking reliability has significantly decreased.
The implementation code may be correct and events may fire as expected, but GA4 can still fail to read, process, or report them accurately.

If this occurs, we recommend contacting Google Support, as the issue is likely on their end.

To track quiz performance with Google Analytics in BigCommerce, you'll need to implement custom JavaScript tracking. This allows you to monitor specific quiz events and user interactions.

This article explains how to track quiz events and performance in Google Analytics.

GA4 Event Tracking Reliability

Since Google transitioned from Universal Analytics to GA4, event tracking reliability has significantly decreased.
The implementation code may be correct and events may fire as expected, but GA4 can still fail to read, process, or report them accurately.

If this occurs, we recommend contacting Google Support, as the issue is likely on their end.

To track quiz performance with Google Analytics in a Standalone version of RevenueHunt app, you'll need to implement custom JavaScript tracking. This allows you to monitor specific quiz events and user interactions.

This article explains how to track quiz events and performance in Google Analytics.

GA4 Event Tracking Reliability

Since Google transitioned from Universal Analytics to GA4, event tracking reliability has significantly decreased.
The implementation code may be correct and events may fire as expected, but GA4 can still fail to read, process, or report them accurately.

If this occurs, we recommend contacting Google Support, as the issue is likely on their end.

Connect Quiz to Google Analytics

Note

Google Analytics GA4 tracking works best if you embed your quiz on a new page in your online store. Follow the instuctions in this article to set this up.

  1. Make sure you have set up the GA4 tracking on your website.

    Tip

    Don't know how to connect your website to Google Analytics or find your GA tracking code? Check this link.

  2. Head to your quiz and click on the Integrations tab.

  3. Click on the Activate button in the Google Analytics section. how to integrate ga4 built for shopify revenuehunt app
  4. Click Save to confirm the changes.
  5. Once activated the quiz will connect to the GA4 tracking code already present on your website. It can take up to 72 hours for the data to start appearing in your Meta portal.
Optional: Add Custom Trackers

The native integration above already sends the standard events (quiz started, question viewed, choice answered, results viewed, product clicked, add to cart, and so on). To track custom events on top of those, use the quiz's built-in Custom JS section. It runs plain JavaScript (no <script> tags) and gives you a global window.quiz object.

Warning

The legacy prqQuizCallback / prqSlideCallback callbacks do not exist in the 💎 Built for Shopify version. Use window.quiz instead, as shown below. Custom JS only runs in the preview or live quiz, not inside the builder.

Prerequisite: GA4 (gtag.js) must already be installed on your store, the same requirement as the native integration above.

Track every answer. Open the first question in the quiz builder, expand its Custom JS section, and assign a handler to window.quiz.onChange. It fires after every answer and stays registered for the rest of the quiz:

// Fires after every answer the customer gives
window.quiz.onChange = function (event) {
  gtag('event', 'quiz_question_answered', {
    event_category: 'quiz',
    question_ref: event.questionRef,
    // selectedLabel is the readable choice text - no choice-ID mapping needed
    answer: event.selectedLabel || event.value
  });
};

The event object contains: questionRef, blockRef, type, choicesRefs, value, isValid, selectedIndex and selectedLabel.

Track quiz completion. Open the results page Custom JS section and call gtag() directly. It runs when the results page renders:

gtag('event', 'quiz_completed', { event_category: 'quiz' });

Monitor and adjust. Check Reports → Engagement → Events (or Realtime) in GA4 to confirm your custom events are coming through.

Note

Google Analytics GA4 tracking works best if you embed your quiz on a new page in your online store. Follow the instuctions in this article to set this up.

To track quiz events and performance in Google Analytics, you'll need to implement custom JavaScript tracking to your website, preferably the page where the quiz is embeded.

To implement custom event tracking for your quiz, follow these steps:

  1. Understand the Callback Function: Visit the FAQ page to learn how our callback function works and how it can be used for tracking custom events.

  2. Embed the Custom Script: Add the following script to the page where the quiz is embedded (or sitewide in your theme's main template file). Make sure your GA4 gtag.js snippet loads before RevenueHunt's embed.js:

    <script>
    // Fires once, when the customer reaches the results page
    function prqQuizCallback(quizResponse){
        gtag('event', 'quiz_completed', {
            event_category: 'quiz',
            quiz_name: quizResponse.quiz.attributes.name,
            quiz_id: quizResponse.quizid
        });
    }
    </script>
    

  3. Customize Event Tracking: The example above fires once on completion. To track each answer as the customer makes it, add prqSlideCallback, which fires every time a question is answered. The snippet below also maps the selected choice IDs to their human-readable labels (both the choices and the selected values live in the slide object):

    <script>
    // Fires each time a customer answers a question
    function prqSlideCallback(event) {
        var slide = event && event.slide;
        if (!slide || !slide.attributes) return;
    
        var choices  = (slide.attributes.choices && slide.attributes.choices.data) || [];
        var selected = slide.attributes.values || [];
    
        // Turn selected choice IDs into readable labels
        // (text/number questions have no choices, so the raw value passes through)
        var labels = selected.map(function (val) {
            var match = choices.filter(function (c) { return c.id === val; })[0];
            return match ? match.attributes.label : val;
        });
    
        gtag('event', 'quiz_question_answered', {
            event_category: 'quiz',
            quiz_name: event.quiz.attributes.name,
            question_title: slide.attributes.title,
            answer: labels.join(', ')
        });
    }
    </script>
    

  4. Monitor and Adjust: Once implemented, regularly check your Google Analytics dashboard to ensure events are being tracked correctly. Adjust the tracking code as needed based on your specific requirements.

Note

Google Analytics GA4 tracking works best if you embed your quiz on a new page in your online store. Follow the instuctions in this article to set this up.

To track quiz events and performance in Google Analytics, you'll need to implement custom JavaScript tracking to your website, preferably the page where the quiz is embeded.

To implement custom event tracking for your quiz, follow these steps:

  1. Understand the Callback Function: Visit the FAQ page to learn how our callback function works and how it can be used for tracking custom events.

  2. Embed the Custom Script: Add the following script to the page where the quiz is embedded (or sitewide in your theme's main template file). Make sure your GA4 gtag.js snippet loads before RevenueHunt's embed.js:

    <script>
    // Fires once, when the customer reaches the results page
    function prqQuizCallback(quizResponse){
        gtag('event', 'quiz_completed', {
            event_category: 'quiz',
            quiz_name: quizResponse.quiz.attributes.name,
            quiz_id: quizResponse.quizid
        });
    }
    </script>
    

  3. Customize Event Tracking: The example above fires once on completion. To track each answer as the customer makes it, add prqSlideCallback, which fires every time a question is answered. The snippet below also maps the selected choice IDs to their human-readable labels (both the choices and the selected values live in the slide object):

    <script>
    // Fires each time a customer answers a question
    function prqSlideCallback(event) {
        var slide = event && event.slide;
        if (!slide || !slide.attributes) return;
    
        var choices  = (slide.attributes.choices && slide.attributes.choices.data) || [];
        var selected = slide.attributes.values || [];
    
        // Turn selected choice IDs into readable labels
        // (text/number questions have no choices, so the raw value passes through)
        var labels = selected.map(function (val) {
            var match = choices.filter(function (c) { return c.id === val; })[0];
            return match ? match.attributes.label : val;
        });
    
        gtag('event', 'quiz_question_answered', {
            event_category: 'quiz',
            quiz_name: event.quiz.attributes.name,
            question_title: slide.attributes.title,
            answer: labels.join(', ')
        });
    }
    </script>
    

  4. Monitor and Adjust: Once implemented, regularly check your Google Analytics dashboard to ensure events are being tracked correctly. Adjust the tracking code as needed based on your specific requirements.

Note

Google Analytics GA4 tracking works best if you embed your quiz on a new page in your online store. Follow the instuctions in this article to set this up.

To track quiz events and performance in Google Analytics, you'll need to implement custom JavaScript tracking to your website, preferably the page where the quiz is embeded.

To implement custom event tracking for your quiz, follow these steps:

  1. Understand the Callback Function: Visit the FAQ page to learn how our callback function works and how it can be used for tracking custom events.

  2. Embed the Custom Script: Add the following script to the page where the quiz is embedded (or sitewide in your theme's main template file). Make sure your GA4 gtag.js snippet loads before RevenueHunt's embed.js:

    <script>
    // Fires once, when the customer reaches the results page
    function prqQuizCallback(quizResponse){
        gtag('event', 'quiz_completed', {
            event_category: 'quiz',
            quiz_name: quizResponse.quiz.attributes.name,
            quiz_id: quizResponse.quizid
        });
    }
    </script>
    

  3. Customize Event Tracking: The example above fires once on completion. To track each answer as the customer makes it, add prqSlideCallback, which fires every time a question is answered. The snippet below also maps the selected choice IDs to their human-readable labels (both the choices and the selected values live in the slide object):

    <script>
    // Fires each time a customer answers a question
    function prqSlideCallback(event) {
        var slide = event && event.slide;
        if (!slide || !slide.attributes) return;
    
        var choices  = (slide.attributes.choices && slide.attributes.choices.data) || [];
        var selected = slide.attributes.values || [];
    
        // Turn selected choice IDs into readable labels
        // (text/number questions have no choices, so the raw value passes through)
        var labels = selected.map(function (val) {
            var match = choices.filter(function (c) { return c.id === val; })[0];
            return match ? match.attributes.label : val;
        });
    
        gtag('event', 'quiz_question_answered', {
            event_category: 'quiz',
            quiz_name: event.quiz.attributes.name,
            question_title: slide.attributes.title,
            answer: labels.join(', ')
        });
    }
    </script>
    

  4. Monitor and Adjust: Once implemented, regularly check your Google Analytics dashboard to ensure events are being tracked correctly. Adjust the tracking code as needed based on your specific requirements.

Note

Google Analytics GA4 tracking works best if you embed your quiz on a new page in your online store. Follow the instuctions in this article to set this up.

To track quiz events and performance in Google Analytics, you'll need to implement custom JavaScript tracking to your website, preferably the page where the quiz is embeded.

To implement custom event tracking for your quiz, follow these steps:

  1. Understand the Callback Function: Visit the FAQ page to learn how our callback function works and how it can be used for tracking custom events.

  2. Embed the Custom Script: Add the following script to the page where the quiz is embedded (or sitewide in your theme's main template file). Make sure your GA4 gtag.js snippet loads before RevenueHunt's embed.js:

    <script>
    // Fires once, when the customer reaches the results page
    function prqQuizCallback(quizResponse){
        gtag('event', 'quiz_completed', {
            event_category: 'quiz',
            quiz_name: quizResponse.quiz.attributes.name,
            quiz_id: quizResponse.quizid
        });
    }
    </script>
    

  3. Customize Event Tracking: The example above fires once on completion. To track each answer as the customer makes it, add prqSlideCallback, which fires every time a question is answered. The snippet below also maps the selected choice IDs to their human-readable labels (both the choices and the selected values live in the slide object):

    <script>
    // Fires each time a customer answers a question
    function prqSlideCallback(event) {
        var slide = event && event.slide;
        if (!slide || !slide.attributes) return;
    
        var choices  = (slide.attributes.choices && slide.attributes.choices.data) || [];
        var selected = slide.attributes.values || [];
    
        // Turn selected choice IDs into readable labels
        // (text/number questions have no choices, so the raw value passes through)
        var labels = selected.map(function (val) {
            var match = choices.filter(function (c) { return c.id === val; })[0];
            return match ? match.attributes.label : val;
        });
    
        gtag('event', 'quiz_question_answered', {
            event_category: 'quiz',
            quiz_name: event.quiz.attributes.name,
            question_title: slide.attributes.title,
            answer: labels.join(', ')
        });
    }
    </script>
    

  4. Monitor and Adjust: Once implemented, regularly check your Google Analytics dashboard to ensure events are being tracked correctly. Adjust the tracking code as needed based on your specific requirements.

Note

Google Analytics GA4 tracking works best if you embed your quiz on a new page in your online store. Follow the instuctions in this article to set this up.

To track quiz events and performance in Google Analytics, you'll need to implement custom JavaScript tracking to your website, preferably the page where the quiz is embeded.

To implement custom event tracking for your quiz, follow these steps:

  1. Understand the Callback Function: Visit the FAQ page to learn how our callback function works and how it can be used for tracking custom events.

  2. Embed the Custom Script: Add the following script to the page where the quiz is embedded (or sitewide in your theme's main template file). Make sure your GA4 gtag.js snippet loads before RevenueHunt's embed.js:

    <script>
    // Fires once, when the customer reaches the results page
    function prqQuizCallback(quizResponse){
        gtag('event', 'quiz_completed', {
            event_category: 'quiz',
            quiz_name: quizResponse.quiz.attributes.name,
            quiz_id: quizResponse.quizid
        });
    }
    </script>
    

  3. Customize Event Tracking: The example above fires once on completion. To track each answer as the customer makes it, add prqSlideCallback, which fires every time a question is answered. The snippet below also maps the selected choice IDs to their human-readable labels (both the choices and the selected values live in the slide object):

    <script>
    // Fires each time a customer answers a question
    function prqSlideCallback(event) {
        var slide = event && event.slide;
        if (!slide || !slide.attributes) return;
    
        var choices  = (slide.attributes.choices && slide.attributes.choices.data) || [];
        var selected = slide.attributes.values || [];
    
        // Turn selected choice IDs into readable labels
        // (text/number questions have no choices, so the raw value passes through)
        var labels = selected.map(function (val) {
            var match = choices.filter(function (c) { return c.id === val; })[0];
            return match ? match.attributes.label : val;
        });
    
        gtag('event', 'quiz_question_answered', {
            event_category: 'quiz',
            quiz_name: event.quiz.attributes.name,
            question_title: slide.attributes.title,
            answer: labels.join(', ')
        });
    }
    </script>
    

  4. Monitor and Adjust: Once implemented, regularly check your Google Analytics dashboard to ensure events are being tracked correctly. Adjust the tracking code as needed based on your specific requirements.

Complete Custom Tracking Script (GA4)

For the Shopify (Legacy), WooCommerce, Magento, BigCommerce and Standalone versions

This script uses the callback functions. The 💎 Built for Shopify quiz doesn't use callbacks; use its results page Custom JS / window.quiz object instead.

If you'd rather send your own cleanly-named GA4 events than rely on the built-in view / click events, the script below is a complete, working reference. It tracks quiz start, every answer (question + chosen labels), the results page, each recommended product, and add to cart, each as its own GA4 event with descriptive parameters.

Before you start:

  • Your GA4 gtag.js snippet must load before RevenueHunt's embed.js.
  • Place the script on the page where the quiz is embedded (or sitewide in your theme).
  • The built-in tracking and this script both fire if your GA Measurement ID is saved in the quiz backend. To avoid double-counting, either leave the Measurement ID out of the quiz backend and rely solely on this script, or remove the events you don't want below.
<script>
(function () {
  var quizStarted   = false;
  var productsBySku = {}; // captured on the results page, used to enrich add-to-cart

  // Fires every time a customer answers a question.
  // The first time it runs, it doubles as the "quiz started" signal.
  window.prqSlideCallback = function (event) {
    var slide = event && event.slide;
    if (!slide || !slide.attributes) return;

    if (!quizStarted) {
      quizStarted = true;
      gtag('event', 'quiz_start', { quiz_name: event.quiz.attributes.name });
    }

    var choices  = (slide.attributes.choices && slide.attributes.choices.data) || [];
    var selected = slide.attributes.values || [];

    // Map selected choice IDs to readable labels (raw value passes through for text/number questions)
    var labels = selected.map(function (val) {
      var match = choices.filter(function (c) { return c.id === val; })[0];
      return match ? match.attributes.label : val;
    });

    gtag('event', 'quiz_question_answered', {
      quiz_name:      event.quiz.attributes.name,
      // strip any unresolved recall token like {{slide:x1i0d83}} from the title
      question_title: (slide.attributes.title || '').replace(/\{\{slide:\w+\}\}/g, '').trim(),
      answer:         labels.join(', ')
    });
  };

  // Fires once, when the customer reaches the results page.
  window.prqQuizCallback = function (response) {
    var quizName   = response.quiz.attributes.name;
    var result     = response.response.attributes.selected_result;
    var resultName = (result && result.data) ? result.data.attributes.name : '';
    var products   = response.response.attributes.recommended_products || [];

    // One event for reaching the results page
    gtag('event', 'quiz_results', {
      quiz_name:     quizName,
      result_name:   resultName,
      product_count: products.length
    });

    // One event per recommended product (see the note below on why these are separate)
    products.forEach(function (p) {
      productsBySku[p.sku] = p; // stash for add-to-cart enrichment
      gtag('event', 'quiz_product_recommended', {
        quiz_name:     quizName,
        result_name:   resultName,
        product_name:  p.name,
        product_sku:   p.sku,
        product_price: p.price,
        product_id:    p.origin_id,
        variant_id:    p.variant_id
      });
    });
  };

  // Fires when a customer adds a recommended product to the cart from the results page.
  // The add-to-cart event carries sku / origin_id / variant_id; name & price are
  // enriched from the products captured above.
  window.prqAddOneToCartCallback = function (event) {
    var p = productsBySku[event.sku] || {};
    gtag('event', 'quiz_add_to_cart', {
      product_name:  p.name  || '',
      product_sku:   event.sku,
      product_price: p.price || '',
      product_id:    event.originId,
      variant_id:    event.variantId
    });
  };
})();
</script>

Why quiz_results and quiz_product_recommended are separate

A results page can recommend more than one product. Firing the results event once (with result_name) and a separate per-product event keeps your "reached results" count accurate. If you instead fire a single combined event per product, your results count multiplies by the number of products shown.

The parameters above (quiz_name, question_title, answer, product_name, and so on) are standard GA4 event parameters. To use them in GA4 reports and Explorations, register the ones you need as custom dimensions under Admin → Custom definitions.

Track Customer Behavior (Events)

You'll be able to see quiz usage and customer behavior in your Google Analytics dashboard, under Reports > View user engagement and retention > Events.

how to ga events

Data may take up to 72 hours to appear

If you don't see the events, check the View realtime tab in GA4 or wait a day or two for the data to appear. Google Analytics can take up to 72 hours to process the data.

Events are triggered every time a customer starts a quiz, views a question, picks a choice, gets to the results page, adds a product to the cart, and proceeds to the cart/checkout. You can check more data about unique events by clicking on the specific Event name.

Trigger Event Name Event Parameters
User starts a quiz (clicks on the button of the first question or the welcome question) quiz_started_{quiz_name} quiz_name
User views a question question_viewed_{question_title} question_title
User clicks on a choice or selects an option from a dropdown block_answered_{choice_text} choice_text, question_title, question_ref
User responds to the email question email_lead_{quiz_name} quiz_name
User responds to the phone question phone_lead_{quiz_name} quiz_name
User gets to results page results_page_viewed_{results_page_title} results_page_title
User completes the quiz (conversion event) generate_lead quiz_name
Customer clicks on product (view product button or image) product_clicked_{product_name} product_name
Customer adds a product to cart (via "add to cart" or "add all to cart" buttons) product_added_to_cart_{product_name} product_name
Customer proceeds to cart/checkout proceed_to_checkout_{quiz_name} quiz_name
Customer retakes quiz quiz_retake_quiz_{quiz_name} quiz_name

Once set up, you'll be able to see customer events in your Google Analytics dashboard, under Reports > View user engagement and retention > Events.

how to ga events

Built-in events (no script required). Click Activate in your quiz's Connect → Google Analytics section, and the quiz automatically sends GA4-native events to whichever GA4 property your store's gtag.js is configured with. (No Measurement ID needed — just make sure your gtag.js snippet loads before RevenueHunt's embed.js.) Each event name is built from its main parameter, so the value shows up directly in GA4's Event name report. To use the other parameters (like question_title or question_ref) as report columns, register them as custom dimensions under Admin → Custom definitions:

Trigger Event Name Event Parameters
User starts a quiz (clicks the button on the first / welcome question) quiz_started_{quiz_name} quiz_name
User views a question question_viewed_{question_title} question_title
User clicks a choice or selects a dropdown option block_answered_{choice_text} choice_text, question_title, question_ref
User answers the email question email_lead_{quiz_name} quiz_name
User answers the phone question phone_lead_{quiz_name} quiz_name
User reaches the results page results_page_viewed_{results_page_title} results_page_title
User completes the quiz (conversion event) generate_lead quiz_name
Customer clicks a product (view-product button or image) product_clicked_{product_name} product_name
Customer adds a product to cart ("add to cart" / "add all to cart") product_added_to_cart_{product_name} product_name
Customer proceeds to cart / checkout proceed_to_checkout_{quiz_name} quiz_name
Customer retakes the quiz quiz_retake_quiz_{quiz_name} quiz_name

Same events as the Built for Shopify version

This is the exact GA4 event catalog the 💎 Built for Shopify quiz sends (see the Shopify tab above). The older view / click / submit / recommendation events (with event_category / event_label) are no longer sent.

generate_lead is a standard GA4 conversion event

Unlike the others, generate_lead keeps its plain name (no _{…} suffix) so GA4 can treat it as a conversion. Mark it as a key event under Admin → Events if you want it counted as a conversion.

Question titles may contain a recall token

The question_title parameter (and the question_viewed_{question_title} event name) use the raw question title. If a question pipes in a previous answer, the title holds an unresolved recall token like {{slide:x1i0d83}}, and the token (not the answer) is what reaches GA4. The token is stable, it never changes per visitor or when you edit the quiz, so it's safe as a grouping key, but it isn't human-readable. The same applies if you read slide.attributes.title in a custom callback; strip it with slide.attributes.title.replace(/\{\{slide:\w+\}\}/g, '').trim().

If you're not seeing the events, make sure your GA4 gtag.js snippet loads before RevenueHunt's embed.js.

Once set up, you'll be able to see customer events in your Google Analytics dashboard, under Reports > View user engagement and retention > Events.

how to ga events

Built-in events (no script required). Click Activate in your quiz's Connect → Google Analytics section, and the quiz automatically sends GA4-native events to whichever GA4 property your store's gtag.js is configured with. (No Measurement ID needed — just make sure your gtag.js snippet loads before RevenueHunt's embed.js.) Each event name is built from its main parameter, so the value shows up directly in GA4's Event name report. To use the other parameters (like question_title or question_ref) as report columns, register them as custom dimensions under Admin → Custom definitions:

Trigger Event Name Event Parameters
User starts a quiz (clicks the button on the first / welcome question) quiz_started_{quiz_name} quiz_name
User views a question question_viewed_{question_title} question_title
User clicks a choice or selects a dropdown option block_answered_{choice_text} choice_text, question_title, question_ref
User answers the email question email_lead_{quiz_name} quiz_name
User answers the phone question phone_lead_{quiz_name} quiz_name
User reaches the results page results_page_viewed_{results_page_title} results_page_title
User completes the quiz (conversion event) generate_lead quiz_name
Customer clicks a product (view-product button or image) product_clicked_{product_name} product_name
Customer adds a product to cart ("add to cart" / "add all to cart") product_added_to_cart_{product_name} product_name
Customer proceeds to cart / checkout proceed_to_checkout_{quiz_name} quiz_name
Customer retakes the quiz quiz_retake_quiz_{quiz_name} quiz_name

Same events as the Built for Shopify version

This is the exact GA4 event catalog the 💎 Built for Shopify quiz sends (see the Shopify tab above). The older view / click / submit / recommendation events (with event_category / event_label) are no longer sent.

generate_lead is a standard GA4 conversion event

Unlike the others, generate_lead keeps its plain name (no _{…} suffix) so GA4 can treat it as a conversion. Mark it as a key event under Admin → Events if you want it counted as a conversion.

Question titles may contain a recall token

The question_title parameter (and the question_viewed_{question_title} event name) use the raw question title. If a question pipes in a previous answer, the title holds an unresolved recall token like {{slide:x1i0d83}}, and the token (not the answer) is what reaches GA4. The token is stable, it never changes per visitor or when you edit the quiz, so it's safe as a grouping key, but it isn't human-readable. The same applies if you read slide.attributes.title in a custom callback; strip it with slide.attributes.title.replace(/\{\{slide:\w+\}\}/g, '').trim().

If you're not seeing the events, make sure your GA4 gtag.js snippet loads before RevenueHunt's embed.js.

Once set up, you'll be able to see customer events in your Google Analytics dashboard, under Reports > View user engagement and retention > Events.

how to ga events

Built-in events (no script required). Click Activate in your quiz's Connect → Google Analytics section, and the quiz automatically sends GA4-native events to whichever GA4 property your store's gtag.js is configured with. (No Measurement ID needed — just make sure your gtag.js snippet loads before RevenueHunt's embed.js.) Each event name is built from its main parameter, so the value shows up directly in GA4's Event name report. To use the other parameters (like question_title or question_ref) as report columns, register them as custom dimensions under Admin → Custom definitions:

Trigger Event Name Event Parameters
User starts a quiz (clicks the button on the first / welcome question) quiz_started_{quiz_name} quiz_name
User views a question question_viewed_{question_title} question_title
User clicks a choice or selects a dropdown option block_answered_{choice_text} choice_text, question_title, question_ref
User answers the email question email_lead_{quiz_name} quiz_name
User answers the phone question phone_lead_{quiz_name} quiz_name
User reaches the results page results_page_viewed_{results_page_title} results_page_title
User completes the quiz (conversion event) generate_lead quiz_name
Customer clicks a product (view-product button or image) product_clicked_{product_name} product_name
Customer adds a product to cart ("add to cart" / "add all to cart") product_added_to_cart_{product_name} product_name
Customer proceeds to cart / checkout proceed_to_checkout_{quiz_name} quiz_name
Customer retakes the quiz quiz_retake_quiz_{quiz_name} quiz_name

Same events as the Built for Shopify version

This is the exact GA4 event catalog the 💎 Built for Shopify quiz sends (see the Shopify tab above). The older view / click / submit / recommendation events (with event_category / event_label) are no longer sent.

generate_lead is a standard GA4 conversion event

Unlike the others, generate_lead keeps its plain name (no _{…} suffix) so GA4 can treat it as a conversion. Mark it as a key event under Admin → Events if you want it counted as a conversion.

Question titles may contain a recall token

The question_title parameter (and the question_viewed_{question_title} event name) use the raw question title. If a question pipes in a previous answer, the title holds an unresolved recall token like {{slide:x1i0d83}}, and the token (not the answer) is what reaches GA4. The token is stable, it never changes per visitor or when you edit the quiz, so it's safe as a grouping key, but it isn't human-readable. The same applies if you read slide.attributes.title in a custom callback; strip it with slide.attributes.title.replace(/\{\{slide:\w+\}\}/g, '').trim().

If you're not seeing the events, make sure your GA4 gtag.js snippet loads before RevenueHunt's embed.js.

Once set up, you'll be able to see customer events in your Google Analytics dashboard, under Reports > View user engagement and retention > Events.

how to ga events

Built-in events (no script required). Click Activate in your quiz's Connect → Google Analytics section, and the quiz automatically sends GA4-native events to whichever GA4 property your store's gtag.js is configured with. (No Measurement ID needed — just make sure your gtag.js snippet loads before RevenueHunt's embed.js.) Each event name is built from its main parameter, so the value shows up directly in GA4's Event name report. To use the other parameters (like question_title or question_ref) as report columns, register them as custom dimensions under Admin → Custom definitions:

Trigger Event Name Event Parameters
User starts a quiz (clicks the button on the first / welcome question) quiz_started_{quiz_name} quiz_name
User views a question question_viewed_{question_title} question_title
User clicks a choice or selects a dropdown option block_answered_{choice_text} choice_text, question_title, question_ref
User answers the email question email_lead_{quiz_name} quiz_name
User answers the phone question phone_lead_{quiz_name} quiz_name
User reaches the results page results_page_viewed_{results_page_title} results_page_title
User completes the quiz (conversion event) generate_lead quiz_name
Customer clicks a product (view-product button or image) product_clicked_{product_name} product_name
Customer adds a product to cart ("add to cart" / "add all to cart") product_added_to_cart_{product_name} product_name
Customer proceeds to cart / checkout proceed_to_checkout_{quiz_name} quiz_name
Customer retakes the quiz quiz_retake_quiz_{quiz_name} quiz_name

Same events as the Built for Shopify version

This is the exact GA4 event catalog the 💎 Built for Shopify quiz sends (see the Shopify tab above). The older view / click / submit / recommendation events (with event_category / event_label) are no longer sent.

generate_lead is a standard GA4 conversion event

Unlike the others, generate_lead keeps its plain name (no _{…} suffix) so GA4 can treat it as a conversion. Mark it as a key event under Admin → Events if you want it counted as a conversion.

Question titles may contain a recall token

The question_title parameter (and the question_viewed_{question_title} event name) use the raw question title. If a question pipes in a previous answer, the title holds an unresolved recall token like {{slide:x1i0d83}}, and the token (not the answer) is what reaches GA4. The token is stable, it never changes per visitor or when you edit the quiz, so it's safe as a grouping key, but it isn't human-readable. The same applies if you read slide.attributes.title in a custom callback; strip it with slide.attributes.title.replace(/\{\{slide:\w+\}\}/g, '').trim().

If you're not seeing the events, make sure your GA4 gtag.js snippet loads before RevenueHunt's embed.js.

Once set up, you'll be able to see customer events in your Google Analytics dashboard, under Reports > View user engagement and retention > Events.

how to ga events

Built-in events (no script required). Click Activate in your quiz's Connect → Google Analytics section, and the quiz automatically sends GA4-native events to whichever GA4 property your store's gtag.js is configured with. (No Measurement ID needed — just make sure your gtag.js snippet loads before RevenueHunt's embed.js.) Each event name is built from its main parameter, so the value shows up directly in GA4's Event name report. To use the other parameters (like question_title or question_ref) as report columns, register them as custom dimensions under Admin → Custom definitions:

Trigger Event Name Event Parameters
User starts a quiz (clicks the button on the first / welcome question) quiz_started_{quiz_name} quiz_name
User views a question question_viewed_{question_title} question_title
User clicks a choice or selects a dropdown option block_answered_{choice_text} choice_text, question_title, question_ref
User answers the email question email_lead_{quiz_name} quiz_name
User answers the phone question phone_lead_{quiz_name} quiz_name
User reaches the results page results_page_viewed_{results_page_title} results_page_title
User completes the quiz (conversion event) generate_lead quiz_name
Customer clicks a product (view-product button or image) product_clicked_{product_name} product_name
Customer adds a product to cart ("add to cart" / "add all to cart") product_added_to_cart_{product_name} product_name
Customer proceeds to cart / checkout proceed_to_checkout_{quiz_name} quiz_name
Customer retakes the quiz quiz_retake_quiz_{quiz_name} quiz_name

Same events as the Built for Shopify version

This is the exact GA4 event catalog the 💎 Built for Shopify quiz sends (see the Shopify tab above). The older view / click / submit / recommendation events (with event_category / event_label) are no longer sent.

generate_lead is a standard GA4 conversion event

Unlike the others, generate_lead keeps its plain name (no _{…} suffix) so GA4 can treat it as a conversion. Mark it as a key event under Admin → Events if you want it counted as a conversion.

Question titles may contain a recall token

The question_title parameter (and the question_viewed_{question_title} event name) use the raw question title. If a question pipes in a previous answer, the title holds an unresolved recall token like {{slide:x1i0d83}}, and the token (not the answer) is what reaches GA4. The token is stable, it never changes per visitor or when you edit the quiz, so it's safe as a grouping key, but it isn't human-readable. The same applies if you read slide.attributes.title in a custom callback; strip it with slide.attributes.title.replace(/\{\{slide:\w+\}\}/g, '').trim().

If you're not seeing the events, make sure your GA4 gtag.js snippet loads before RevenueHunt's embed.js.

Track Quiz Revenue

GA4 doesn’t “automatically” tie custom events to purchases. But you can segment/filter by those events and then look at purchase revenue.

Here are some options:

Option 1 - Create Free Form Exploration

You can measure how much revenue your quiz generates directly in GA4 using an Exploration. This walkthrough shows how to build a Free form table comparing quiz users with all users.

how to ga revenue how to ga revenue

  1. Go to Explore → + → Free form.
  2. Create the “Quiz Users” segment. In the Variables panel, under Segments, click +. Choose User segment. Set the condition: Include users where Event namecontainsquiz_started (or use matches regex^quiz_started_.*$). Name it Quiz UsersSave and apply. Also add the default All Users segment for comparison.

  3. Add Dimensions and Metrics. In the Variables panel:

    • Dimensions+ → add: Event name
    • Metrics+ → add: Event count, Purchases, Total revenue
  4. Configure the Tab Settings. In the Tab Settings panel:

    • Segments: select All Users and Quiz Users

    • Rows: Event name

    • Columns: leave empty, or set to Segment for side-by-side comparison

    • Values: Event count, Purchases, Total revenue

    • Filters: Event name contains quiz_started

    • Visualization: Table (or Bar chart)

    • Date range: e.g. Last 28 days

    You’ll now see a table showing revenue and purchases from quiz users (people who triggered a quiz_started event) compared to all users.

  5. Save and Reuse. Rename your exploration (e.g. Quiz Revenue). Use the star or share option so teammates can find it easily.

    Optional Variations

    • Compare specific quizzes: Use FiltersEvent name contains your quiz ID/text
      (e.g., quiz_started_skincare_quiz_usa).

    • If your quiz is on a dedicated page: Create a Session/User segment: include users where Page location contains /pages/skin-quiz. This shows revenue for anyone visiting that quiz page.

Option 2 – Attribution via Source/Medium

If you’re tagging quiz entry points with UTM parameters (like utm_source=quiz or utm_campaign=quiz_name), GA4’s Advertising → Attribution → Model comparison will show revenue attributed to those.

You'll see revenue attributed to the quiz in Engagement > Conversions > Event name > purchase. Click on the purchase event.

how to ga revenue2

Add a Source column next to the default channel grouping and look for the rows which include the revenuehunt source.

how to ga events

Depending on the custom events that you've programed in the first step, you may be able to see quiz revenue in your Google Analytics.

Refer to the Google Analytics documentation for more information on how to track revenue from custom events or expolre the GA4 Explorations.

Depending on the custom events that you've programed in the first step, you may be able to see quiz revenue in your Google Analytics.

Refer to the Google Analytics documentation for more information on how to track revenue from custom events or expolre the GA4 Explorations.

Depending on the custom events that you've programed in the first step, you may be able to see quiz revenue in your Google Analytics.

Refer to the Google Analytics documentation for more information on how to track revenue from custom events or expolre the GA4 Explorations.

Depending on the custom events that you've programed in the first step, you may be able to see quiz revenue in your Google Analytics.

Refer to the Google Analytics documentation for more information on how to track revenue from custom events or expolre the GA4 Explorations.

Depending on the custom events that you've programed in the first step, you may be able to see quiz revenue in your Google Analytics.

Refer to the Google Analytics documentation for more information on how to track revenue from custom events or expolre the GA4 Explorations.

Use GA4 Explorations

Google Analytics 4 (GA4) offers Explorations, a powerful tool for digging deeper into your quiz data. Standard reports show you high-level trends, but Explorations let you ask more specific questions about how customers interact with your quiz and how it impacts revenue.

With Explorations, you can:

  • Compare quiz users vs. all users. See how much revenue is generated by customers who start a quiz compared to those who don’t.

  • Break down results by quiz. If you run multiple quizzes, use Explorations to see which quiz names bring in the most purchases and revenue.

  • Build funnels. Visualize the full journey from quiz_startedresults_page_viewedproduct_added_to_cartpurchase, and spot where users drop off.

  • Analyze user paths. Discover what customers do after completing your quiz—do they view recommended products, add to cart, or head straight to checkout?

  • Create segments and audiences. Build an audience of “Quiz Users” for ongoing analysis or remarketing in Google Ads.

Refer to the Google Analytics documentation for more information on how to use GA4 Explorations.

Example 1: Most Clicked Choices

You can build an exploration to see which choices are most popular.

how to ga exploration

  1. Go to Explore → + → Free form.
  2. Add Dimensions and Metrics. In the Variables panel:

    • Dimensions+ → add: Event name
    • Metrics+ → add: Event count
  3. Configure the Tab Settings. In the Tab Settings panel:

    • Segments: select All Users (or add Quiz Users if you want to limit results to quiz participants)
    • Rows: Event name
    • Columns: leave empty
    • Values: Event count
    • Filters: Event name contains block_answered
    • Visualization: Table (or Bar chart)
    • Date range: e.g. Last 28 days

    You’ll now see a table showing which quiz answers (block_answered events) were clicked most often, giving you a clear view of the most popular choices.

  4. Save and Reuse. Rename your exploration (e.g. Most Clicked Choices). Use the star or share option so teammates can find it easily.

Example 2: Track Revenue from Quizzes

You can measure how much revenue your quiz generates directly in GA4 using an Exploration. This walkthrough shows how to build a Free form table comparing quiz users with all users.

how to ga revenue how to ga revenue

  1. Go to Explore → + → Free form.
  2. Create the “Quiz Users” segment. In the Variables panel, under Segments, click +. Choose User segment. Set the condition: Include users where Event namecontainsquiz_started (or use matches regex^quiz_started_.*$). Name it Quiz UsersSave and apply. Also add the default All Users segment for comparison.

  3. Add Dimensions and Metrics. In the Variables panel:

    • Dimensions+ → add: Event name
    • Metrics+ → add: Event count, Purchases, Total revenue
  4. Configure the Tab Settings. In the Tab Settings panel:

    • Segments: select All Users and Quiz Users

    • Rows: Event name

    • Columns: leave empty, or set to Segment for side-by-side comparison

    • Values: Event count, Purchases, Total revenue

    • Filters: Event name contains quiz_started

    • Visualization: Table (or Bar chart)

    • Date range: e.g. Last 28 days

    You’ll now see a table showing revenue and purchases from quiz users (people who triggered a quiz_started event) compared to all users.

  5. Save and Reuse. Rename your exploration (e.g. Quiz Revenue). Use the star or share option so teammates can find it easily.

    Optional Variations

    • Compare specific quizzes: Use FiltersEvent name contains your quiz ID/text
      (e.g., quiz_started_skincare_quiz_usa).

    • If your quiz is on a dedicated page: Create a Session/User segment: include users where Page location contains /pages/skin-quiz. This shows revenue for anyone visiting that quiz page.

Google Analytics 4 (GA4) offers Explorations, a powerful tool for digging deeper into your quiz data. Standard reports show you high-level trends, but Explorations let you ask more specific questions about how customers interact with your quiz and how it impacts revenue.

With Explorations, you can:

  • Compare quiz users vs. all users. See how much revenue is generated by customers who start a quiz compared to those who don’t.

  • Break down results by quiz. If you run multiple quizzes, use Explorations to see which quiz names bring in the most purchases and revenue.

  • Build funnels. Visualize the full journey from quiz_startedresults_page_viewedproduct_added_to_cartpurchase, and spot where users drop off.

  • Analyze user paths. Discover what customers do after completing your quiz—do they view recommended products, add to cart, or head straight to checkout?

  • Create segments and audiences. Build an audience of “Quiz Users” for ongoing analysis or remarketing in Google Ads.

Refer to the Google Analytics documentation for more information on how to use GA4 Explorations.

Google Analytics 4 (GA4) offers Explorations, a powerful tool for digging deeper into your quiz data. Standard reports show you high-level trends, but Explorations let you ask more specific questions about how customers interact with your quiz and how it impacts revenue.

With Explorations, you can:

  • Compare quiz users vs. all users. See how much revenue is generated by customers who start a quiz compared to those who don’t.

  • Break down results by quiz. If you run multiple quizzes, use Explorations to see which quiz names bring in the most purchases and revenue.

  • Build funnels. Visualize the full journey from quiz_startedresults_page_viewedproduct_added_to_cartpurchase, and spot where users drop off.

  • Analyze user paths. Discover what customers do after completing your quiz—do they view recommended products, add to cart, or head straight to checkout?

  • Create segments and audiences. Build an audience of “Quiz Users” for ongoing analysis or remarketing in Google Ads.

Refer to the Google Analytics documentation for more information on how to use GA4 Explorations.

Google Analytics 4 (GA4) offers Explorations, a powerful tool for digging deeper into your quiz data. Standard reports show you high-level trends, but Explorations let you ask more specific questions about how customers interact with your quiz and how it impacts revenue.

With Explorations, you can:

  • Compare quiz users vs. all users. See how much revenue is generated by customers who start a quiz compared to those who don’t.

  • Break down results by quiz. If you run multiple quizzes, use Explorations to see which quiz names bring in the most purchases and revenue.

  • Build funnels. Visualize the full journey from quiz_startedresults_page_viewedproduct_added_to_cartpurchase, and spot where users drop off.

  • Analyze user paths. Discover what customers do after completing your quiz—do they view recommended products, add to cart, or head straight to checkout?

  • Create segments and audiences. Build an audience of “Quiz Users” for ongoing analysis or remarketing in Google Ads.

Refer to the Google Analytics documentation for more information on how to use GA4 Explorations.

Google Analytics 4 (GA4) offers Explorations, a powerful tool for digging deeper into your quiz data. Standard reports show you high-level trends, but Explorations let you ask more specific questions about how customers interact with your quiz and how it impacts revenue.

With Explorations, you can:

  • Compare quiz users vs. all users. See how much revenue is generated by customers who start a quiz compared to those who don’t.

  • Break down results by quiz. If you run multiple quizzes, use Explorations to see which quiz names bring in the most purchases and revenue.

  • Build funnels. Visualize the full journey from quiz_startedresults_page_viewedproduct_added_to_cartpurchase, and spot where users drop off.

  • Analyze user paths. Discover what customers do after completing your quiz—do they view recommended products, add to cart, or head straight to checkout?

  • Create segments and audiences. Build an audience of “Quiz Users” for ongoing analysis or remarketing in Google Ads.

Refer to the Google Analytics documentation for more information on how to use GA4 Explorations.

Google Analytics 4 (GA4) offers Explorations, a powerful tool for digging deeper into your quiz data. Standard reports show you high-level trends, but Explorations let you ask more specific questions about how customers interact with your quiz and how it impacts revenue.

With Explorations, you can:

  • Compare quiz users vs. all users. See how much revenue is generated by customers who start a quiz compared to those who don’t.

  • Break down results by quiz. If you run multiple quizzes, use Explorations to see which quiz names bring in the most purchases and revenue.

  • Build funnels. Visualize the full journey from quiz_startedresults_page_viewedproduct_added_to_cartpurchase, and spot where users drop off.

  • Analyze user paths. Discover what customers do after completing your quiz—do they view recommended products, add to cart, or head straight to checkout?

  • Create segments and audiences. Build an audience of “Quiz Users” for ongoing analysis or remarketing in Google Ads.

Refer to the Google Analytics documentation for more information on how to use GA4 Explorations.


This article explains how to connect the quiz to Google Analytics and track quiz performance in GA4.