A shopper profile changed
When an identity is attached to, moved to or rewritten on a person; not when a shopper types a contact the person already has.
Request Bodyrequired
Section titled “Request Bodyrequired”object
The payload version
When the event happened
The event’s object
object
The topic’s object
object
When the profile was created
The profile
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/
Every identity kind that session contributed so far (email | phone | shopify_customer_id), not only what this event changed
The latest moment the profile was seen
Orders bought through this shopper’s shared results
object
Its total in the store’s currency
object
A decimal string, as “79.97”
ISO 4217 code
When the order was placed
How the order was tied to the quiz session: line_item_property | cart_attribute | pixel_claim | email. The first two: the quiz put the product in the cart; pixel_claim: the checkout pixel named the session; email: the order’s email belongs to the shopper
The Shopify order id
Retake: bought in a session started from this shopper’s shared result (session_id is that session’s); shared_page: bought straight from the shared results page (session_id is the shopper’s own)
Dashboard: the profile’s page on the dashboard
object
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
