Quizproof

Omnisend: what Quizproof sends

Quizproof sends quiz takers who opt in to your Omnisend brand, with their answers and the products the quiz recommended, so you can follow up in your own workflows. It can also create a ready-made workflow that emails shoppers their quiz results. It's available on every plan.

Connect#

  1. Go to Settings › Integrations › Omnisend and choose Connect Omnisend.

  2. Omnisend asks you to allow Quizproof access to your brand. Allow it.

  3. Back in Quizproof, the page shows your brand's name.

There is no API key to copy. Quizproof asks only for the access it uses: your brand's name, contacts (to add and update them, and to check a deletion), events (to send them and declare them in Omnisend), workflows (to create the results workflow) and email templates (its email).

What Quizproof sends#

Nothing is sent for a shopper who doesn't opt in. Once a quiz is completed and the shopper gave at least one consent (email marketing, SMS marketing or "Email me my quiz results"), Quizproof sends:

Only answers to questions you chose to save are sent.

Email subscription#

The shopper…Email channel in Omnisend
Ticked email marketing consentSubscribed, dated when they ticked it, consent source quizproof
Ticked only "Email me my quiz results"Not subscribed: an existing contact keeps the status it has
Ticked email marketing, but your store requires confirmed opt-inNot subscribed (see below)

Quizproof never downgrades a contact: an existing subscribed or unsubscribed contact keeps that status. If the shopper unsubscribed in Omnisend after ticking the box, the unsubscribe wins. SMS works the same way, with SMS consent.

Confirmed opt-in. If Settings › Email opt-in settings requires confirmed opt-in, the Omnisend page says "Omnisend can't confirm opt-ins from Quizproof: confirm them in Shopify Email/Klaviyo, or turn confirmed opt-in off". Omnisend has no way for an app to ask a shopper to confirm, so those contacts stay not subscribed.

Contact properties#

PropertyWhat it holds
quizproof_last_quizThe name of the last quiz they completed
quizproof_last_quiz_handleIts handle
quizproof_completed_atWhen they completed it
quizproof_results_emailWhether they asked for their results by email
quizproof_<prefix>A saved answer, as a list (the question's customer tag prefix, or its id)

The "quizproof quiz completed" event#

The event's origin is quizproof. Every value is text.

PropertyWhat it holds
vThe event's version (1)
quiz_name, quiz_handle, quiz_versionThe quiz
session_idThe quiz session
result_urlA link to the shopper's results page on your store, with live prices
results_email_senderWho emails the results (omnisend, quizproof, klaviyo, external, off)
send_results_emailyes when Omnisend's results workflow should email this shopper, else no
testtrue for the page's test sends
product_countHow many products were recommended
product_1_title … product_3_availableThe first three products: title, url, image, price, currency, available
productsEvery recommended product (the same fields, plus product_id and variant_id)
answersEach saved answer: question and its answers

Quizproof only ever adds properties to this event, so workflows you build on it keep working. Omnisend adds its own click-tracking parameters to links in its emails; the results link still works with them.

A second event, "quizproof results email stopped", is sent when a shopper stops their results email (see below).

The results email#

In the Results email section of the Omnisend page:

  1. Create workflow creates "Quizproof: quiz results email" in your Omnisend brand, switched off.

  2. Review it in Omnisend if you like, then choose Turn on.

  3. Choose Use Omnisend for results emails (or pick "Omnisend's results workflow sends it" under Settings › Results email).

The workflow starts on the "quizproof quiz completed" event when send_results_email is yes, waits 5 minutes, then sends the email with up to three recommended products and a See your results button. It reaches shoppers who aren't subscribed to your marketing, because they asked for this email. It ends early when the "quizproof results email stopped" event arrives.

Email text. Omnisend doesn't let apps read a workflow's email yet, so you change the heading and intro in Omnisend: Open in Omnisend, then edit the email. In Quizproof the text fields stay greyed out and the email starts with Quizproof's default text. Recreate replaces the workflow with a fresh copy of Quizproof's (your changes made in Omnisend are not kept), and also makes a new workflow if you deleted it in Omnisend.

One email at most. For each shopper and quiz, Quizproof decides once who sends the results email, and only that sender sends it. Omnisend emails only when the event says yes. When Omnisend won't email someone (they unsubscribed in Omnisend, or the workflow isn't on), When Omnisend won't email someone decides: Quizproof sends it itself, or nobody does.

If Quizproof can't tell whether Omnisend received a yes event (the connection dropped mid-request), the page lists it as "Unknown: Omnisend may have emailed". Quizproof never sends that event again and doesn't send its own email instead, so the shopper gets one email or none, never two.

Send test email to me sends the results email to your own address with sample products from your store. It needs the workflow on, and arrives after the workflow's 5-minute delay. Your contact gets the quizproof-test tag; its subscription doesn't change. Send test event sends a test event (test is true, no email) to your alert email's contact, to check your own workflows.

Omnisend's Free plan#

Custom workflows send on Omnisend's Free plan; Omnisend adds its badge to those emails. The email doesn't use dynamic product blocks, so no paid feature is needed.

When a shopper changes their mind#

When a customer asks to be deleted#

Omnisend has no way for apps to delete a contact, and it keeps a contact's event history (answers, results links, products) until the contact is deleted. When Shopify asks Quizproof to delete a customer's data, Quizproof sends the stop event, removes its quizproof_ properties and its tags from the contact, then checks daily for 30 days that the contact is gone.

If the contact still exists after 24 hours, Quizproof emails you the contact's id and the page shows "merchant action required": delete the contact in Omnisend (Audience › Contacts). If it still exists after 30 days, the page shows the deletion as unconfirmed.

When something fails#

The Omnisend page shows the connection's state, the last successful send, the last 24 hours' sends and failures, and the last 20 problems with their fix:

ProblemWhat to do
Omnisend refused Quizproof's access (the app was removed in Omnisend)Reconnect Omnisend
Your Omnisend plan can't send this workflowCheck your Omnisend plan
Omnisend is rate limiting, or answered with an errorNothing: Quizproof retries automatically
Omnisend refused the data, or the contact was deletedFix the cause, then Retry failed

Failed sends are retried automatically; after repeated failures Home shows a red notice and you get an alert. Retry failed sends dead-lettered ones again (never an "Unknown" results email).

Disconnect#

Disconnect deletes Quizproof's access tokens and cancels anything waiting to be sent. Contacts and events already in Omnisend stay there. Omnisend doesn't let apps revoke their own access, so also remove Quizproof in Omnisend.

If Omnisend was sending your results emails, Settings › Results email switches to your choice for when Omnisend won't email someone, and shows a banner saying so.

Questions? Email support@quizproof.app.

Menu paths such as Settings › Privacy are inside Quizproof: in your Shopify admin, open Apps › Quizproof. Where an article means Shopify's own settings, it says so.

Something unclear? Email support@quizproof.app. We aim to reply within 1 business day.

More in Integrations: Klaviyo setup, Collect emails with the opt-in question, Use quiz answers in customer segments, Apps that work with Quizproof