> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upstackdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quiz Events

> Track quiz funnels and product recommendation flows with quiz_completed and quiz_question_answered events.

Quiz events help you track product recommendation quizzes, style finders, assessments, and other interactive quiz experiences. Use these events to understand quiz completion rates, segment customers by quiz results, and trigger personalized follow-up flows.

<Note>
  **Custom Events** — Quiz events are not automatically tracked. Fire them manually using the JavaScript SDK at the appropriate points in your quiz flow.
</Note>

## Available Events

<CardGroup cols={2}>
  <Card title="quiz_completed" icon="flag-checkered" href="/pixel/events/quiz-completed">
    Fires when a visitor completes a quiz. Captures the result, recommended products, and completion time.
  </Card>

  <Card title="quiz_question_answered" icon="circle-question" href="/pixel/events/quiz-question-answered">
    Fires when a visitor answers an individual question. Use for funnel analysis and drop-off tracking.
  </Card>
</CardGroup>

## Use Cases

### Product Recommendation Quizzes

Track quizzes that help customers find the right product:

```javascript theme={null}
// Track each question for funnel analysis
window._upstack('track', 'quiz_question_answered', {
  quiz_id: 'skin-type-finder',
  question_id: 'q1',
  question_text: 'What is your skin type?',
  answer_id: 'oily',
  answer_text: 'Oily',
  question_number: 1,
  total_questions: 5
});

// Track quiz completion with results
window._upstack('track', 'quiz_completed', {
  quiz_id: 'skin-type-finder',
  quiz_name: 'Find Your Perfect Skincare Routine',
  result_id: 'oily-acne-prone',
  result_name: 'Oily & Acne-Prone Skin',
  recommended_products: ['SKU-1234', 'SKU-5678'],
  questions_answered: 5,
  time_to_complete: 120
});
```

### Funnel Analysis

Track `quiz_question_answered` for each question to identify where users drop off:

| Question      | Started | Completed | Drop-off  |
| ------------- | ------- | --------- | --------- |
| Q1: Skin Type | 1,000   | 920       | 8%        |
| Q2: Concerns  | 920     | 850       | 7.6%      |
| Q3: Budget    | 850     | 780       | 8.2%      |
| Q4: Routine   | 780     | 750       | 3.8%      |
| Q5: Products  | 750     | 720       | 4%        |
| **Completed** | —       | 720       | 28% total |

### Klaviyo Personalization

Use quiz results to trigger personalized email flows:

1. Fire `quiz_completed` with `result_id` and `result_name`
2. In Klaviyo, create a flow triggered by the `quiz_completed` event
3. Use the `result_id` property to branch into different email sequences
4. Include `recommended_products` in product recommendation blocks

## Destination Support

| Destination           | quiz\_completed                | quiz\_question\_answered |
| --------------------- | ------------------------------ | ------------------------ |
| **Meta CAPI**         | ✅ Custom event                 | ✅ Custom event           |
| **TikTok Events API** | ✅ Supported                    | ✅ Supported              |
| **Klaviyo**           | ✅ Full support with properties | ✅ Full support           |
| **GA4**               | ✅ Custom event                 | ✅ Custom event           |
| **Webhook**           | ✅ Raw payload                  | ✅ Raw payload            |

<Tip>
  **Best practice:** Always include `quiz_id` on both events so you can correlate question-level data with completion data in your analytics.
</Tip>

## Related

* [Custom Events](/pixel/events/custom-events) — General guide for firing custom events
* [lead](/pixel/events/lead) — Capture contact info during or after quiz
* [view\_content](/pixel/events/view-content) — Track when quiz results show product recommendations
