Skip to main content

HubSpot

Turn every quiz taker into a HubSpot contact with their answers, recommended products, cart and quiz-attributed revenue. Each answer is a dropdown or checkbox property with your real answer options, so you can build segments, workflows and reports on what shoppers told you, without typing values by hand.

Available on: Starter plan and above · HubSpot plans: all, including free · Platforms: Shopify and WooCommerce (identical) · Related: Zapier · Webhooks

What syncs​

WhatWhenWhere it appears in HubSpot
Contact (email, first and last name)A shopper enters their email in a quizCreated, or updated if the email already exists
Quiz answersThe shopper reaches the results pageOne property per question, in a group named after the quiz
Recommended productsThe shopper reaches the results pageLatest recommendations, top product and its link
Cart and checkoutThe shopper adds recommendations to the cart, or starts checkout, from the resultsSQ Last quiz cart products / value, SQ Last checkout started
Quiz-attributed orders and revenueA linked order is paidSQ Quiz-attributed orders, SQ Quiz-attributed revenue, last order details
Activity notesQuiz completed, and quiz-attributed orderA note on the contact's timeline with the answers, recommendations or order
Newsletter consent (optional)The shopper ticked the newsletter boxSubscribed to the email subscription type you choose
List membership (optional)With the contactAdded to the static list you choose
Deals (optional, off by default)A linked order is paidA deal with line items, in the pipeline and stage you choose

Each event syncs once per quiz attempt. Counts and revenue are always recalculated from your ShopperQuiz data, so they stay correct even if a sync is retried.

What your quizzes need
  • An email. HubSpot contacts are matched by email. Turn on Collect email address in the quiz's welcome screen. Shoppers who don't give an email are not sent to HubSpot.
  • Orders must be linked to the quiz. See how it works for Shopify and WooCommerce. Only paid orders count: Shopify orders when they are paid, WooCommerce orders in Processing, Completed or On hold.

Connect HubSpot​

  1. In ShopperQuiz, go to Integrations → HubSpot → Set up HubSpot and click Connect HubSpot.
  2. Sign in to HubSpot if asked, and pick the HubSpot account to connect.
  3. Review the permissions and click Connect app. You return to ShopperQuiz with the HubSpot drawer open.
  4. Choose what syncs (all core data is on by default), and optionally a subscription type, a list and deals.
  5. Click Send test to see a sample in HubSpot (see Send a test).

ShopperQuiz immediately creates a ShopperQuiz property group in HubSpot. Each quiz's properties are created the first time someone takes that quiz, or when you send a test.

Installed from HubSpot's side?

If you started the install from a HubSpot link instead of the Connect button, sign in to ShopperQuiz when you land on it. The connection is completed for your store automatically. Install links expire after 30 minutes; if yours did, click Connect HubSpot again.

Permissions ShopperQuiz asks for​

PermissionUsed for
Contacts (read and write)Creating and updating quiz takers, and adding notes to them
Contact property settings (read and write)Creating the ShopperQuiz properties and keeping their options up to date
Lists (read and write)Showing your lists, creating one, and adding quiz takers to it
Communication preferences (read and write)Showing your subscription types and subscribing shoppers who opted in
Deals, deal property settings and line itemsOptional deals for quiz-attributed orders, and showing your pipelines

ShopperQuiz only writes quiz data. It never reads, changes or deletes your other HubSpot records.

Contact properties​

Find them in HubSpot under Settings → Properties → Contact properties, filtered by group.

The ShopperQuiz group (every quiz)​

PropertyTypeWhat it holds
SQ StoreTextThe store the shopper took a quiz on
SQ Newsletter opt-inCheckboxYes if the shopper ever ticked the newsletter box in a quiz
SQ First quiz dateDate and timeWhen they first started a quiz
SQ Quiz completionsNumberHow many quizzes they've completed
SQ Last quizTextThe most recent quiz they completed
SQ Last quiz completedDate and timeWhen they last completed a quiz
SQ Last recommended productsMulti-line textProducts recommended in that quiz
SQ Last top recommendationTextThe #1 recommended product
SQ Last top recommendation URLTextLink to that product
SQ Last quiz cart products, SQ Last quiz cart valueText, NumberWhat they added to the cart from the quiz
SQ Last added to cartDate and timeWhen they did
SQ Last checkout startedDate and timeWhen they last started checkout from a quiz
SQ Quiz-attributed ordersNumberPaid orders linked to quizzes
SQ Quiz-attributed revenueNumberTotal of those orders, in your store currency
SQ Last quiz order total, products, number, dateNumber, Text, Text, Date and timeThe most recent quiz-attributed order

One group per quiz: ShopperQuiz: your quiz name​

PropertyTypeWhat it holds
SQ Quiz: your questionDropdown (single-select questions) or Multiple checkboxes (multiple-select questions)The shopper's answer, using your real answer options
SQ Quiz: Recommended productsMulti-line textProducts recommended in their latest attempt at this quiz
SQ Quiz: CompletedDate and timeWhen they last completed this quiz

Answers always reflect the shopper's latest attempt at that quiz. A question they skipped is left empty.

Editing a quiz is safe. Properties are tied to the question, not its position or wording. Rename a question and the property's label updates; add an answer and it appears as a new option; delete an answer and its option is hidden (contacts who chose it keep their value). A new question becomes a new property.

Activity notes​

When Activity notes is on, the contact's timeline gets a note when they complete a quiz (every answer, plus the recommended products with links) and when they place a quiz-attributed order (order number, total and items). Notes are visible on every HubSpot plan.

The welcome screen's newsletter checkbox is the shopper's consent to marketing, and it's shared by all your email tools.

  • Choose an email subscription type in the drawer, for example Marketing Information. Shoppers who tick the box are subscribed to it, recorded with the legal basis Consent with notice and a note saying which quiz and store they opted in on.
  • Shoppers who don't tick it are never subscribed. ShopperQuiz never unsubscribes anyone.
  • If a contact previously unsubscribed in HubSpot, HubSpot keeps them unsubscribed, which is correct. The delivery shows a note saying so.
  • Leave the setting on Don't subscribe anyone to only record the SQ Newsletter opt-in property and handle subscriptions with your own workflows.
Marketing contact status

HubSpot doesn't let apps set a contact's marketing contact status. To make quiz opt-ins marketing contacts automatically, create a contact-based workflow: Enrollment trigger: SQ Newsletter opt-in is Yes → Action: Set marketing contact status → Set as marketing. (Workflows need a HubSpot plan that includes them.) You can also set it in bulk from a filtered contacts view.

Add quiz takers to a list​

Pick a static list in the drawer, or click New list to create one (for example ShopperQuiz quiz takers). Then choose who's added: All quiz takers or Newsletter opt-ins only.

For segments that update themselves, create an active list in HubSpot instead, filtered on ShopperQuiz properties. See the examples below.

Deals for quiz orders​

Off by default. Turn on Deals for quiz orders to create a deal for each quiz-attributed order:

  • Named Quiz order #1042 · Hair Discovery Quiz, with the order total as the amount, in the pipeline and stage you pick (default: your default pipeline's Closed won stage).
  • Associated with the contact, with a line item for each product, plus SQ Quiz, SQ Order number and SQ Order key properties.
  • Never duplicated: retries reuse the same deal.
Avoid counting orders twice

If you already sync your store's orders into HubSpot (HubSpot's Shopify Data Sync, a WooCommerce sync app, or another integration that creates deals or orders), leave this off. Those orders are already in HubSpot, and quiz revenue is still on the contact as SQ Quiz-attributed revenue. ShopperQuiz never creates HubSpot Orders, only optional deals.

The deal amount is in your store's currency. If your HubSpot account uses a different currency, keep that in mind in revenue reports.

Using quiz data in HubSpot​

Segments (active lists)​

SegmentFilters
Everyone who took a quizSQ Quiz completions is greater than 0
Curly-hair shoppersSQ Hair Discovery Quiz: What's your hair type? is any of Curly
Opted in, no purchase yetSQ Newsletter opt-in is Yes AND SQ Quiz-attributed orders is 0
Quiz cart abandonersSQ Last added to cart is known AND SQ Last quiz order date is unknown
Quiz buyersSQ Quiz-attributed revenue is greater than 0

Workflows​

  • Welcome series by result: enrollment trigger SQ Last quiz completed is known. Branch on an answer property, then send a different email per branch.
  • Recommendation email: in a marketing email, insert personalization tokens for SQ Last top recommendation and SQ Last top recommendation URL.
  • Cart follow-up: enroll when SQ Last added to cart is known, delay 1 day, then continue only if SQ Last quiz order date is unknown.
  • Lead scoring: add points for SQ Quiz completions and SQ Quiz-attributed revenue.
  • Re-enroll on retakes: turn on re-enrollment for SQ Last quiz completed, so a retake starts the workflow again.

Reports​

Build a custom report on contacts using SQ Quiz-attributed revenue, SQ Last quiz or any answer property, for example revenue by hair type.

Sync past quiz takers​

The drawer's Past quiz takers → Sync past quiz takers sends shoppers who completed a quiz with an email in the last 90 days, from before you connected. It sends the latest attempt per shopper and quiz, up to 5,000 in total.

  • Properties and list membership only. No notes or deals are created for history.
  • Only shoppers who ticked the newsletter box are subscribed.
  • It runs in the background at a steady pace (about 40 per minute) to stay within HubSpot's limits. Progress shows in Recent deliveries.
  • You can run it again an hour later. Running it twice is harmless: contacts are updated, not duplicated.

Manage HubSpot in ShopperQuiz​

Open Integrations → HubSpot → Manage:

  • Status: when the last sync succeeded, or the latest error.
  • Connection: the connected HubSpot account and its ID, who connected it, and Open HubSpot.
  • What syncs: switch answers, recommendations, cart and revenue, notes and deals on or off.
  • Newsletter consent, Add to a list, and the deal pipeline and stage.
  • How it appears in HubSpot: the exact properties ShopperQuiz creates, per quiz, with answer options.
  • Send a test (see below).
  • Past quiz takers.
  • Recent deliveries: every sync with its status. Click a row for details, View contact / View deal in HubSpot, or Retry now.
  • Sync per quiz: turn HubSpot off for individual quizzes, such as test quizzes. All quizzes are on by default.
  • Disconnect HubSpot.

Send a test​

Enter an email (yours by default) and pick an event: Quiz completed, Quiz-attributed order or New lead. ShopperQuiz writes sample data to that contact using your latest quiz's real questions (each with its first answer) and real products, and marks notes and deals as [Test]. Tests never change the contact's name and never subscribe it to anything. If a list is selected, the test contact is added to it. Click View contact to see the result.

Delivery statuses​

StatusMeaning
DeliveredHubSpot accepted everything
Queued / SendingWaiting for the next sync cycle (a few seconds)
RetryingHubSpot was busy or unavailable. ShopperQuiz retries after 1 minute, 5 minutes, 30 minutes, 2 hours, 6 hours and 12 hours. Rate-limit pauses don't count as retries
FailedHubSpot rejected the data (see the error) or every retry failed. Use Retry now after fixing the cause
StoppedNo email yet, HubSpot was disconnected, or your plan no longer includes HubSpot

Timing​

Contacts and properties appear in HubSpot about 15 to 30 seconds after the shopper acts. The first sync for a new quiz takes a few seconds longer while its properties are created.

Plans and limits​

  • Starter plan or above. During a free trial everything works. If a subscription lapses, syncing pauses and nothing is sent; it resumes when the subscription is active again. Your settings are kept.
  • Works on every HubSpot plan, including the free CRM.
  • Each quiz question uses one HubSpot contact property, plus two per quiz. HubSpot limits custom properties per object (generous on every plan), so very large numbers of quizzes may reach it.
  • One HubSpot account per ShopperQuiz store. Several stores can connect to the same HubSpot account; SQ Store shows which store each contact came from.
  • Delivery history is kept for 30 days.

Disconnect and privacy​

Disconnect HubSpot stops syncing and uninstalls ShopperQuiz from your HubSpot account. Contacts, properties, notes and deals already in HubSpot are kept; delete them in HubSpot if you want them gone. Uninstalling the app from HubSpot's side also stops syncing; the drawer then shows Reconnect needed.

HubSpot receives the shopper data your quiz collects (name, email, answers, recommendations, cart and order details). ShopperQuiz never shares your Shopify or WooCommerce credentials, and your HubSpot access is stored only on ShopperQuiz's servers. Use Sync per quiz to keep any quiz out of HubSpot.

Troubleshooting​

Start with Integrations → HubSpot → Manage → Recent deliveries.

ProblemWhat to check
No delivery row at allWait 30 seconds. The quiz must collect an email, and Sync per quiz must be on for it. The shopper must reach the results page for answers to sync
Delivery Stopped: "No email address yet"The shopper didn't give an email. If they give one later in the same attempt, the contact syncs then
Reconnect neededThe app was uninstalled in HubSpot, or access was revoked. Click Reconnect HubSpot. Syncs from the last day retry automatically once reconnected; use Retry now for older failed rows
"Missing permission"Click Reconnect HubSpot and approve all permissions
A contact wasn't subscribedThe shopper didn't tick the newsletter box, no subscription type is selected, or the contact had unsubscribed in HubSpot before. Click the delivery row to see which
"Could not add to the list"The list was deleted or is an active list. Pick a static list, or create one with New list
Answer property is emptyThe shopper skipped that question, or the latest attempt at that quiz didn't include it
An answer property shows old optionsOptions update the next time someone takes the quiz or you send a test. Removed answers stay as hidden options so existing values keep working
Deal not createdDeals for quiz orders is off, or the order isn't linked to the quiz or isn't paid yet
Revenue looks doubled in HubSpot reportsAnother app also syncs your store's orders. Turn off Deals for quiz orders and use SQ Quiz-attributed revenue on contacts instead
"ShopperQuiz is pacing requests to HubSpot"Normal during big syncs (such as past quiz takers). It continues automatically

Still stuck? Email [email protected] with the time of the quiz run and, if you have it, the delivery ID from Recent deliveries.

Was this page helpful?