How to send quiz leads to Google Sheets with Make
Send quiz leads to Google Sheets with Make: design the columns, handle the breakdown field, dedupe emails, add a results tab and keep personal data safe.
By Bhumi Avaiya. 8 min read. .
To send quiz leads to Google Sheets, point Quizably’s webhook at a Make scenario and have the scenario add one row per completed submission. The plumbing is short. What decides whether the sheet is useful a month later is how you design it: which columns, what to do with repeat takers, and who can see it.
Quizably has no built-in Sheets connection, so this goes through the webhook. A quiz with a lead form sends two messages per visitor, one with event set to lead_captured and one set to submission_completed. The completed one carries both the lead and the result, so this guide adds a row only for that one. Make’s screens change over time, so I describe steps by what they do. Follow Make’s current documentation for the exact menus.
Design the sheet before you connect anything
Open a blank spreadsheet and name the first tab “Leads”. Put these headers in row 1:
| Column | Filled from | Why you want it |
|---|---|---|
| Received at | timestamp | Sort by date, spot gaps |
| Name | lead name | Personal follow-up |
| lead email | The thing you came for | |
| Phone | lead phone | Only if you ask for it |
| Quiz | quiz_title | Needed once you have more than one quiz |
| Type | quiz_type | Filter trivia from personality |
| Result | result title | Your main segment |
| Score | score | Trivia and score-based quizzes |
| Breakdown | breakdown | See below |
| Confirmed | lead double_optin_verified | true, false or empty (empty means the quiz does not use double opt-in) |
| Submission ID | submission_uuid | A unique key for each row |
| Status | (you fill it) | “New”, “Contacted”, “Skip” |
The last column is not automatic. A Status column you type into turns a log into a small working tool, and it is the one most people wish they had added.
Hypothetical example: Corner Plant Co. runs a quiz, “Which houseplant suits your light?”, on its blog. Two people check the sheet each week and want to know who has been contacted. Without a Status column they would step on each other’s toes.
The breakdown field needs a decision
Quizably’s payload includes a breakdown field alongside the result and score. It holds the detail behind how the result or score came about. Its exact shape depends on the quiz type, and I have not confirmed it for each type, so submit a test and look at what arrives before you map it.
Two practical options:
- Store it as one text cell. Simple, readable enough, and you lose nothing. Good for most people.
- Skip it. If you only need who, what result and when, leave the column out. You can add it later for new rows.
Do not try to split it into many columns on day one. If the structure changes, your columns break, and a sheet full of shifted data is worse than a sheet with one messy text cell.
Build the Make scenario
1. Add a webhook trigger
Create a new scenario and add a module that receives a custom webhook. Make generates an address for you. Copy it. Keep it private, since anyone holding it can post rows into your sheet.
2. Paste it into Quizably
In the quiz builder, find the webhook field and paste the address. I think it lives under the Integrations tab, but confirm in your own builder. Save the quiz. If you run several quizzes into the same sheet, you can set the address once as the default webhook URL on the Integrations screen instead. Any quiz without its own URL uses it.
3. Teach Make what the data looks like
Take your own quiz with a fake name and an address you control. Make will usually ask for a sample submission to learn the structure, and once it has one, it lists the fields it can use in the next step. You should see event, lead (with email, name, phone and double_optin_verified), result (with title), score, breakdown and timestamp. Make may show two bundles for one test, because the form submit and the finished quiz each send a message.
4. Keep only the completed message
Add a filter between the webhook and the next module that lets a bundle through only when event equals submission_completed. That gives you one row per visitor, with the result and lead in the same row. If the quiz uses double opt-in, the row shows the lead as pending (false) because the completed message is sent before they click the link, so the Confirmed column is a snapshot, not a live status.
5. Add a spreadsheet module
Add a module that adds a row to a Google Sheets spreadsheet. You will need to connect your Google account inside Make, choose the file and the Leads tab, and then assign each column to a field from the sample. Use the table above as your map.
6. Switch the scenario on
Turn scheduling or listening on as Make describes, and run the quiz again. A new row should appear, usually within seconds. Quizably delivers webhooks in the background through WP-Cron and retries failures up to three times, after about 1, 2 and 4 minutes, so a brief Make outage usually sorts itself out. If you would like the background on how these messages work, what a webhook is has the basics.
Deal with duplicate emails
People retake quizzes. Sometimes the first result was not what they wanted, and sometimes they share a link with a friend who uses the same email. You choose one of two approaches.
Keep every submission and flag repeats
Leave the scenario as it is, and add a helper column that counts how many times each email appears, using a count formula that your spreadsheet supports. Sort or filter on it. This keeps a full history, including the change of result from one attempt to the next, which can be interesting.
Look up before you add
Insert a search step before the add-row step. If the email already exists, update that row. Otherwise add a new one. The sheet stays clean, but you lose the earlier result unless you store it elsewhere. Pick this if the sheet feeds a person who will email the leads and does not want to see the same name twice.
A third choice is to do nothing in the scenario and de-duplicate by hand with your spreadsheet’s built-in clean-up tools once a month. For a small quiz that is perfectly reasonable.
Build a simple results view in the same file
A second tab turns the lead log into a small dashboard. You do not need charts on day one.
- Create a tab called “Summary”.
- In one column, list your result titles exactly as they appear in the quiz.
- Next to each title, add a formula that counts the rows in Leads with that result.
- Add a second count that only includes rows with the Status “Contacted”, so you see the share you have followed up.
- Add a chart from those two columns if you like.
Quizably already gives you result distribution, completion rate and per-question drop-off in its own analytics, so do not rebuild those here. The sheet earns its place where it mixes in your own information, such as who was contacted and who bought. For the ones Quizably does give you, quiz metrics to track explains how to read them.
Keep the personal data safe
You are copying names and email addresses into a document, so treat it as a list of personal data.
- Keep the file private. Share it with named people, not with “anyone with the link”.
- Share the minimum. A teammate who only needs aggregates can see the Summary tab on a copy without emails.
- Review access every few months, and when a freelancer or a colleague leaves.
- Do not paste the sheet into chat tools or email it around. Link to it instead, so access stays controlled.
- Delete what you no longer need. If you told people you would keep their details for a stated purpose, honor it.
- Tell visitors what you do. A short privacy note near the form is good practice. I cannot give legal advice, so check the rules where you operate.
The Leads dashboard in WordPress, where only administrators can see leads, remains your primary copy. Think of the sheet as a convenient, more widely exposed duplicate, and limit who sees it accordingly.
When things go wrong
- No row appears. Check that the scenario is switched on, then open Make’s run history to see whether the webhook arrived. Quizably has no delivery log of its own. If your site sets
DISABLE_WP_CRON, it needs a real cron job hitting wp-cron.php, or webhooks are never sent. - Columns are shifted. One field in the map points at the wrong item. Compare a failing run with the table above.
- Empty score cells. Normal for personality quizzes. Leave them blank.
- A row with no email. The lead form may be skippable, so the completed message can arrive with
leadset to null. Filter these out or mark them in Status. - Two rows per visitor. The filter on
eventis missing, so both messages are being added.
As a fallback, the Leads dashboard can export CSV, which includes the result, score, double opt-in status and one column per question, so you can paste it straight into the sheet. If you are still deciding which plugin to send leads from, how to choose a WordPress quiz plugin explains why a webhook matters and what else to check.
Finish by adding one row by hand at the bottom of the Leads tab, labeled “TEST, delete me”, and using it to check your Summary formulas. Then delete it.
Frequently asked questions
Can Quizably send leads straight to Google Sheets?
Not directly. Quizably posts each submission to a webhook address, and an automation tool such as Make receives it and adds a row to your spreadsheet.
What columns should my quiz lead sheet have?
At least timestamp, name, email, quiz title, result title and submission ID. Add score and a short breakdown column if you run a trivia quiz or want to see how answers added up.
How do I stop duplicate emails in the sheet?
Either have your scenario look up the email before adding a row and update the existing one, or keep every submission and flag duplicates with a formula later. The first is tidier, the second keeps a full history.
Is a shared spreadsheet safe for lead data?
It is only as safe as its sharing settings. Keep the sheet private, share it with named people only, and remove access when someone leaves the project.
Do I still need the Leads dashboard?
Yes, keep it. The dashboard is your source of record on your own site, and a sheet is a working copy you can filter and chart.