A shopper finished a quiz
About a minute after the session completes, with the answers, outcomes and products shown through that minute, and identities on endpoints with include_pii.
Request Bodyrequired
Section titled “Request Bodyrequired”object
The payload version
When the event happened
The event’s object
object
The topic’s object
object
How many components answers holds
The session’s answers keyed by component_key; a component on two pages holds its last answer. Email and phone answers only on endpoints with include_pii
object
object
What kind of answer this is
The question as the quiz labels it
The chosen options’ ids; empty for a typed answer
The page the component is on
The answer as stored: an option id or the typed text, a JSON number for a number, a {date, time} object for a date
The answer as the shopper saw it: option labels, or the typed value as text
How the shopper arrived: direct | organic_search | paid_search | organic_social | paid_social | email | sms | affiliate | display | paid_other | referral | ai_assistant | other | shared_results
The device as parsed from the session’s user agent when it opened
object
Mobile | tablet | desktop
The formula values the quiz computed
object
The formula or value table
A formula’s number, or the value a value table resolved
Its label
The page the formula or value table is on
The session’s id, the same session_id the profiles API shows
object
True only when the shopper ticked the marketing-consent box on their newest run that showed it; anything else, including a skipped page or a quiz without the box, is false
Email | phone | shopify_customer_id. A new kind may be added, so skip one you do not know. shopify_customer_id arrives when the shopper takes a quiz logged in to the store or places an order linked to a quiz session; its consent is always false
The email (lowercase), the phone (E.164), or the Shopify customer as a gid://shopify/Customer/
The points per dimension the quiz computed
object
The points dimension
Its name
The points the session scored on it
Every product the session showed; on quiz.finished those shown within a minute of completion
object
The product block that showed it
The page of that block
The product’s Shopify GID
How the block picked it: manual | rankings | points | smart
The quiz’s enabled question-to-property mappings for integrations; contact questions only on endpoints with include_pii
object
The profile property the answer is written to
The question’s component_key
The question as the quiz labels it
The quiz the session ran
When the session opened
object
The result page
The products it showed
object
The product block that showed it
The product’s Shopify GID
The shopper’s browser: the persistent visitor, or a visitor of this session only until analytics consent is given
The event id, also sent as the webhook-id header; deduplicate on it
The topic: quiz.started | quiz.finished | quiz.abandoned | identity.captured | quiz.published | experiment.started | experiment.ended | profile.created | profile.updated | export.completed | webhook.endpoint.disabled | ping
Responses
Section titled “Responses”Any 2xx within 10 seconds acknowledges the event
410 ends the delivery and disables the endpoint; any other 4xx but 408 and 429 ends it
Retried, as are 408, 429, a timeout and a network error: seven retries over about 28 hours, then the delivery is dead
