Zapier
Connect ShopperQuiz to more than 8,000 apps (Google Sheets, HubSpot, Slack, Gmail, Airtable, Salesforce, Notion and more) without writing code. Every quiz event reaches Zapier within seconds (instant triggers), and every quiz answer arrives as its own field you can map.
Available on: Starter plan and above · Platforms: Shopify and WooCommerce (identical) · Related: Webhooks · ShopperQuiz API · Troubleshooting
What you can automate
| Trigger | Fires when | Fires how often |
|---|---|---|
| New Lead | A shopper enters their email on a quiz | Once per quiz attempt |
| New Quiz Completion | A shopper reaches the results page | Once per quiz attempt |
| New Add to Cart From Quiz | A shopper adds recommended products to their cart from the results | Once per quiz attempt (the first time) |
| New Checkout From Quiz | A shopper starts checkout from the results | Once per quiz attempt (the first time) |
| New Quiz-Attributed Order | A shopper who took the quiz pays for an order linked to the quiz | Once per quiz attempt (the first paid order) |
| Search | What it does |
|---|---|
| Find Response | Finds a shopper's most recent quiz response by email or response ID, with all answers and recommendations |
| Find Quiz | Finds a quiz by name |
Every trigger has an optional Quiz filter: leave it empty for all quizzes, or pick one.
- New Lead only fires if the quiz asks for an email on the welcome screen.
- Add to Cart and Checkout fire from the quiz's own buttons on the results page.
- Order needs the order to be linked to the quiz. On Shopify, the order contains a product added with the quiz's Add to cart button. On WooCommerce, the order is placed within an hour of going to the cart or checkout from the quiz. See Shopify · WooCommerce.
- Order fires on paid orders only: Shopify orders when they are paid, WooCommerce orders in Processing, Completed or On hold.
Connect ShopperQuiz to Zapier
- In ShopperQuiz, go to Integrations → Zapier → Set up Zapier and click Open ShopperQuiz on Zapier. Accept the invite if Zapier asks.
- In Zapier, click Create → Zaps. For the trigger, search for ShopperQuiz and pick an event, for example New Quiz Completion.
- Under Account, click Sign in. A window opens on ShopperQuiz. Sign in if asked, check that the store name is right, and click Allow access. The connection is labelled with your store name.
- Click Continue. Optionally pick a Quiz. Picking one also gives each answer a friendly label such as Answer: What's your hair type?.
- Click Test trigger. Zapier shows your most recent real data, or realistic sample data if your store has none yet.
- Add an action, map the fields, click Test step, and then Publish.
A Zap only receives quiz events after it is published. Edits you make later are saved as a draft and only take effect when you publish again. Zapier always runs the published version.
The Zap then appears in ShopperQuiz under Integrations → Zapier → Manage → Zaps.
Example Zaps
| Goal | Trigger | Action | Notes |
|---|---|---|---|
| Log every quiz in a spreadsheet | New Quiz Completion | Google Sheets → Create Spreadsheet Row | Map Shopper Email, Quiz Name, each Answer: … field and Recommended Product Names to columns |
| Add leads to your CRM | New Lead | HubSpot → Create or Update Contact | Use Shopper Email, Shopper First Name, Shopper Last Name. Add the quiz name as a property |
| Email shoppers their results | New Quiz Completion | Gmail → Send Email | To = Shopper Email. Put Recommended Product Names and Top Recommended Product URL in the body |
| Celebrate quiz sales in Slack | New Quiz-Attributed Order | Slack → Send Channel Message | "Quiz sale Order Number: Order Total Currency from Quiz Name" |
| Follow up on abandoned carts | New Add to Cart From Quiz | Delay by Zapier (24 hours) → Find Response → Filter → Email | Use Find Response and a filter to skip shoppers who already ordered |
ShopperQuiz only sends data. You decide who receives it. For alerts to yourself or your team, type your own address in the action's To field. To email the shopper, map Shopper Email into To.
Fields you can map
All dates are ISO 8601 in UTC (for example 2026-10-06T09:44:02.000Z). Booleans are true or false.
On every trigger
| Field | Example | Notes |
|---|---|---|
| Event ID | 0f8c2d6e-3b1a-… | Unique per event. Identical on retries |
| Event Type | quiz.completed | lead.created, quiz.completed, cart.added, checkout.started or order.created |
| Event Name | Quiz Completed | Readable version of the event type |
| Occurred At | 2026-10-06T09:44:02.000Z | When the event happened |
| Is Test Event | false | true for test events sent from the dashboard |
| Response ID | 7d1e4f2a-… | The shopper's quiz attempt |
| Quiz ID, Quiz Name | Hair Discovery Quiz | |
| Store Name, Store URL, Platform | shopify | Platform is shopify or woocommerce |
| Currency | AUD | Store currency. On orders, the order's currency |
| Shopper Email | [email protected] | Empty if the quiz didn't ask for it |
| Shopper First Name, Last Name, Full Name | Jane, Cooper | Split from the name the shopper entered |
| Newsletter Opt-in | true | The shopper ticked the newsletter box on the welcome screen |
| Quiz Started At | 2026-10-06T09:41:12.000Z |
On completion, cart, checkout and order
| Field | Notes |
|---|---|
| Answer: your question | One field per question. Multiple answers are comma-separated. Empty if the question was skipped |
| All Answers (Text) | Every question and answer, one per line, ready to paste into an email or note |
| Answers (line items) | Question ID, Question, Answer for each answered question |
| Answered Question Count | |
| Recommended Products (line items) | Product ID (your store's ID), Name, Price, Image URL, Product URL |
| Recommended Product Names | Comma-separated |
| Recommended Product Count | |
| Top Recommended Product Name / URL | The first recommendation |
| Filters Matched / Filters Total | How many filter questions the shopper's results satisfied |
Answer fields are keyed by question ID, not position. Reordering questions never breaks a Zap. A new question appears as a new field you can map.
Cart and checkout also include
Cart Items (line items: Product ID, Name, Price, Quantity, Image URL, URL), Cart Value, Cart Item Count, Cart Product Names.
Orders also include
Order ID, Order Number (for example #1042), Order Total, Order Items (line items: Product ID, Name, Price, Quantity), Order Item Count, Order Product Names, and Includes a Recommended Product. That last field is true when the shopper bought something the quiz recommended.
Using the searches
Find Response looks up quiz data for a shopper in the middle of a Zap, for example when a new customer appears in your CRM.
- Fill in either Shopper Email or Response, not both. If you fill in both, a response must match both. If you picked a fixed response from the dropdown, nothing else will ever match.
- With an email, it returns that shopper's most recent response. Add Quiz to limit the search to one quiz.
- Successful if no search results are found? By default, Zapier stops the Zap ("Safely halted") when nothing is found, and later steps are skipped. Set it to True to continue anyway.
Find Quiz finds a quiz by full or partial name and returns its ID, name, status and creation date.
Manage your Zaps in ShopperQuiz
Open Integrations → Zapier → Manage:
- Status: when the last event was delivered, or the latest error.
- Connection: each Zapier account connected to your store, with when it was last used. Revoke disconnects it immediately.
- Zaps: every Zap using a ShopperQuiz trigger, with its event, quiz filter and last delivery. Stop sending stops events to that Zap; also turn it off in Zapier. Open Zap history takes you to Zapier's run log.
- Send a test event: sends realistic sample data to every active Zap using that event (see below).
- Recent deliveries: every event sent to Zapier with its status. Click a row for details or Retry now.
- API keys: keys for Make, n8n or your own code. See ShopperQuiz API.
- Sync per quiz: turn Zapier off for individual quizzes, such as test quizzes. All quizzes are on by default.
- Disconnect Zapier: revokes every connection and API key at once.
Test events
Send test builds a realistic event from your store: your quiz's real questions (each with its first answer), real products from your catalog, and a sample shopper, Jane Cooper. It is marked Is Test Event = true. To make a Zap ignore test events, add a Filter by Zapier step: Is Test Event (Boolean) is false.
Delivery statuses
| Status | Meaning |
|---|---|
| Delivered | Zapier accepted the event |
| Queued / Sending | Waiting for the next send cycle (a few seconds) |
| Retrying | Zapier didn't accept it. ShopperQuiz retries after 1 minute, 5 minutes, 30 minutes, 2 hours, 6 hours and 12 hours |
| Failed | Every retry failed. Use Retry now after fixing the cause |
| Stopped | The Zap was turned off or removed, or your plan no longer includes Zapier |
"Delivered" means Zapier received the event. What the Zap does next (and whether a step halts) is shown in Zap history in Zapier.
Timing
Events reach Zapier about 15 to 30 seconds after they happen. ShopperQuiz waits briefly so the data (such as cart items) is complete before sending.
Plans and limits
- Starter plan or above. During a free trial everything works. If a subscription lapses, events stop until you upgrade; nothing is sent in the meantime.
- Up to 200 active Zaps per store.
- Delivery history is kept for 30 days.
- Zapier's own plan limits (tasks per month, Zap steps) apply in your Zapier account.
Privacy
Zapier receives the shopper data your quiz collects (name, email, answers, recommendations, cart and order details) for the events you choose. ShopperQuiz never shares your Shopify or WooCommerce credentials. Use Sync per quiz to keep any quiz out of Zapier, and Revoke to cut off access instantly.
Under the hood (for developers)
The Zapier integration uses OAuth 2.0 (authorization code grant) and REST hooks:
- Authorize:
https://app.shopper-quiz.com/oauth/authorize - Token:
POST https://api.shopper-quiz.com/zapier/oauth/tokenwithgrant_typeset toauthorization_codeorrefresh_token. Access tokens last 7 days and refresh automatically. - Subscribe and unsubscribe:
POST /zapier/hooksandDELETE /zapier/hooks/{id}. If a target responds with410 Gone, the subscription is removed.
The full API is documented in ShopperQuiz API.
Was this page helpful?