Notice: Function register_rest_route was called incorrectly. REST API routes must be registered on the rest_api_init action. Please see Debugging in WordPress for more information. (This message was added in version 5.1.0.) in /home/thrivethemes/dev/thrivethemes/ on line 6078

Notice: Function register_rest_route was called incorrectly. The REST API route definition for membership/v1/tags/schema is missing the required permission_callback argument. For REST API routes that are intended to be public, use __return_true as the permission callback. Please see Debugging in WordPress for more information. (This message was added in version 5.5.0.) in /home/thrivethemes/dev/thrivethemes/ on line 6078

Notice: Function register_rest_route was called incorrectly. The REST API route definition for membership/v1/tags/activity/(?P[\d]+)/(?P[\d]+) is missing the required permission_callback argument. For REST API routes that are intended to be public, use __return_true as the permission callback. Please see Debugging in WordPress for more information. (This message was added in version 5.5.0.) in /home/thrivethemes/dev/thrivethemes/ on line 6078

Notice: Function register_rest_route was called incorrectly. The REST API route definition for tve-dash/v1/growth-tools is missing the required permission_callback argument. For REST API routes that are intended to be public, use __return_true as the permission callback. Please see Debugging in WordPress for more information. (This message was added in version 5.5.0.) in /home/thrivethemes/dev/thrivethemes/ on line 6078

Notice: Function register_rest_route was called incorrectly. The REST API route definition for tve-dash/v1/growth-tools is missing the required permission_callback argument. For REST API routes that are intended to be public, use __return_true as the permission callback. Please see Debugging in WordPress for more information. (This message was added in version 5.5.0.) in /home/thrivethemes/dev/thrivethemes/ on line 6078
New Features For Thrive Quiz Builder, Apprentice & Automator – April 2022

Gather round, Thrivers— because we have a new stack of features freshly released that we are thrilled to share with you!

Once again, we're adding even more power to Thrive Suite, helping you build a better online business.

This month's update includes a massive 9 new features, focused on two key areas:

  1. 1
    Thrive Quiz Builder now integrates seamlessly with Thrive Apprentice, letting you create quizzes that test your student's knowledge.
  2. 2
    Thrive Automator has really taken a step forward, becoming supercharged with dynamic data, custom fields and a new forms API. we have a few bonus improvements at the end.

Read on to see what this means!


Thrive Quiz Builder For Online Courses

Did you know that quizzes are one of the highest-converting lead generation tools ever? 

Thrive Quiz Builder was originally built as a lead generation tool for WordPress, with a focus on conversion rates and split testing, so you can grow your mailing list faster than ever before. 

But we know that for course creators, there is a different need for quizzes.

Perhaps you want to check your student's knowledge and give them an interactive learning experience, or confirm that they know key information before they can continue with their Thrive Apprentice course.

Whatever it might be, the demands of a quiz tool for an online course creator are different to lead generation. By the time a visitor has purchased your course, they are much more than just a warm lead— they're a committed customer, and their email address already exists in your database.

With this in mind, we've focused on the following 4 features that bridge the gap, making Thrive Quiz Builder perfect for both lead generation outside of the course environment... and for creating an interactive learning experience inside of your courses.

1. Prevent 'Mark Lesson Complete' Until Quiz Is Submitted

On every lesson page in Thrive Apprentice, there is a 'Mark Lesson Complete' button. A course is not finished until a student has clicked that button on every single lesson.

Now, in our latest update, you are able to prevent a user from marking a lesson complete until they have completed a quiz.

It's as easy as editing a lesson page with Thrive Architect, adding a Thrive Quiz Builder quiz to the page, and then looking for the brand new 'Apprentice options' panel in the left hand sidebar.

This new panel shows when a quiz is added to a Thrive Apprentice lesson or Module.

With the click of a toggle, you can make that 'mark as complete' button un-clickable until the student completes the quiz.

But that's not all. We took it further than that...

You can set passing results that are required to progress!

You can set which quiz results are required before a user can mark the lesson as complete.

In that image above, I've restricted progress until a student completes my category-style quiz and gets a specific result.

Remember, in Thrive Quiz Builder, there are 5 quiz types you can choose from: Category, Percentage, Right/ Wrong, Score, and Survey quizzes.

Depending on the type of quiz you add to the page, you'll have different outcome options to choose from. For example, if I add a Score quiz to my lesson, then I can choose which minimum score is required before a student is able to mark the lesson complete!

Set a minimum score required for lesson completion.

But what exactly happens on the page if a student hasn't met the passing conditions yet?

The 'Mark lesson complete' button will be slightly transparent, indicating that it is disabled. And if a student clicks it, an alert will pop up telling them why they can't progress yet.

If a student tries to mark a lesson complete, a notification will inform them why they can't.

Not happy with the alert text? Or do you need to translate it to another language?

No problem!

Head to Thrive Apprentice > Settings > Labels & Translations > Course Navigation, and you can edit the text that will display in that alert.

Change the alert text to whatever you want!

And the appearance of that alert? Yes, it's visually editable.

About 6 months ago we released an update to let you visually style your success, warning and alert notifications globally across your site... meaning if you don't like the design that students see, you can change it manually or load another designer-made template.

Is your mind buzzing with ideas now? We hope so.

...but wait... there's more!

2. New Drip Condition: Thrive Quiz Completion

Alright, so you can prevent a user from marking a lesson complete until they finish a quiz. That's good. But what's stopping them from just skipping the lesson and viewing any other lesson?

In comes our second feature:

You can now restrict access to any other lessons or modules until a student has completed a quiz.

How? With the new drip condition we've added in our insanely powerful Drip editor in Thrive Apprentice!

You can now drip our your lessons based on Thrive Quiz Results!

Yes, that means you can drip out the content of your courses based on any conditions including when a Thrive Quiz Result is achieved.

Don't forget, if you apply a drip condition to a module it will be inherited by all of the lessons contained within it.

You can also change the visibility so that locked lessons are hidden until their drip conditions are met, meaning you can completely hide an entire module and all of its lessons until a student proves their knowledge by submitting a quiz.

A quiz unlock at the module level will be inherited by all the lessons contained within.

Amazing, right?

As with the previous feature, you can lock lessons until a quiz is completed or you can await a specific result from your quiz. You'll see the same options from feature 1 listed in the drip editor here:

Choose to unlock on quiz completion OR when a specific result, score, or percentage is achieved.

Perhaps you remember back in December that we announced Thrive Apprentice 4.0 was coming, and would have the most flexible drip editor for an online course that you'd ever seen.

That wasn't just arbitrary marketing bloat. We stand by it.

We thought through our drip editor with great care, so that it could easily support new drip conditions as well as mixing multiple conditions together.

In the image below, you'll see an example where a module is only unlocked after 1 week AND when a quiz is completed. If only 1 of those conditions is met, the lesson won't unlock until the other condition is met too.

Easily choose if a lesson is unlocked when ANY or ALL of your provided conditions are met.

That's what we mean by true flexibility!

3. Save Quiz Progress

A visitor to your website completing a lead generation quiz will submit it in one sitting. If a quiz is too long, it's unlikely they'll return to complete it later.

However, a student taking a course is a different scenario.

Perhaps they've powered through 5 lessons from your online course, and then you present them with a quiz of some 30+ questions. They're fatigued, and after 15 questions, they log-out, close their laptop, and take a break.

If that same student returns a few days later, it's frustrating to have to start the quiz from scratch, isn't it?

Well, now they don't have to!

One click to enable the ability to save an incomplete quiz in progress.

Anywhere you place a Thrive Quiz Builder quiz using our visual editor, whether that's in an online course, a blog post or a landing page, you'll find a new toggle for 'Save users quiz progress' in the left hand sidebar.

With one click, a logged-in user's quiz answers will be saved even if they don't complete the quiz.

Whether they log out, close their browser, or visit from a different device... as soon as they log back in and return to that page, they'll see their next unanswered question.

And if they've completed the quiz already, they'll see their quiz result again. Easy!

A word of warning!

If you combine this with either of the previous two features and prevent progress until a specific result is met, it's important that you actually provide your student with a way to retake their quiz!

If you don't, they might not meet the progress criteria and if they refresh the page, they'll just see their failed result with no way to start again, keeping them trapped forever and unable to progress.

Fixing this is easy. Just make sure you add a dynamic 'Restart Quiz' link on your result page built with Thrive Quiz Builder.

Add the 'Restart Quiz' link on your result page to let quiz takers try again.

4. Skip Opt-In Gate for Logged-In Users

The reason why our lead generation quizzes are so ridiculously high converting is because of a core marketing principle about time investment.

If a visitor to your website is curious about a quiz and completes some 10+ questions, they want to know their result. They've already invested time. So if you now show an opt-in gate— a lead generation form that must be submitted before the visitor can see their results— they are more likely to provide their email address and join your mailing list, knowing that it's the final step to see their quiz results.

It works beautifully.

...but it doesn't really make sense for a logged-in user or a student of an online course.

Opt-in gates don't make sense in the course environment, but they do for lead generation.

A student of your online course is already logged-in. That means their email address is known, and they most likely joined your mailing list long ago, or at least at the moment they purchased your course.

We figured a simple option to skip the opt-in gate for logged-in users would mean that your quizzes can be shown anywhere for new leads without bothering your identified users by asking them to opt-in again.

Simply click 'Manage' under the Opt-In Gate options in Thrive Quiz Builder, and look for this new checkbox.

A simple checkbox to skip the opt-in gate step.

That's it! Now you can use the exact same quiz for lead generation and show it to your faithful users, whenever and wherever you want.

"What about reporting?"

Oh yes, we haven't forgotten.

We have improved Thrive Quiz Builder reports to collect more data that is relevant for course creators, but... we have more coming.

For that reason, we won't go into detail about it yet. Instead, in our next release, we're including new ways to filter your quiz data so that a course creator can make sense of how their students are navigating their quizzes.

Until then...

Stay tuned.

That rounds out the 4 features we've added for Thrive Quiz Builder to launch our integration with Thrive Apprentice.

More will be coming. For years we've been wanting to improve Thrive Quiz Builder, and as we pair it with Thrive Apprentice, it becomes a higher priority... meaning it'll be getting some love throughout 2022.

Now, on to the rest of the features in this week's release.

Thrive Automator

When we launched Thrive Automator in August 2021, we entered a Public Beta— meaning it was ready for you to start using, but that we still had work to do before it was fully featured and ready to throw unlimited 3rd party integrations at it.

What you may not fully understand (yet) is that Thrive Automator isn't just a tool for 3rd party API integrations: it is itself an API driven tool as well.

Confused? That's ok. Once we exit the beta, we'll make it clear why this is tenfold more powerful than it looks on the surface.

But to get there, we've been working diligently to prepare for exiting the beta stage. We're not there yet, but the latest update includes 5 features that lay the groundwork for even more advanced data management. Check them out!

5. Thrive Automator: Dynamic First + Last Name in the Registration Action

In last month's update, we released the Incoming Webhook trigger for Thrive Automator— a game-changing feature that means any web app, SaaS or digital service can send a webhook to your website and trigger an automation.

One of the most common use cases? A checkout tool sending a webhook and then enrolling a student in your online course.

But in this use case, your incoming webhook may carry additional data about the customer that you want to use, specifically assigning their first and last names during the 'Find or create user' step.

Look for the 'Find or create user' step after an incoming webhook with a mapped Email field

Next time you open the 'Find or create user' action in Thrive Automator, you'll see some new fields: a first name field and a last name field.

You can now map name fields to the user profile during the creation step.

These new fields are dynamic. You'll know that by the icon on the right hand side that looks like a stack of coins.

What does that stack-of-discs icon mean?

Fun fact: that cylinder icon actually represents a database or a web server. Before the creation of solid-state drives (SSDs), a hard disc drive (HDD) resembled a circular plate. A database or web server would have a vertical stack of these discs containing all the known data needed.

Nowadays, that icon just means that data is provided from somewhere else, hence: Dynamic data. Many hard drives no longer use spinning discs, so this icon is much like the 'save' icon that referenced floppy discs which were phased out in the 1990s. It is inspired by old technology, but the meaning remains.

Click the dynamic icon and you can populate your First and Last name with any field data that comes from your incoming webhook, or from any upstream trigger, action or data source.

Link upstream data sources as dynamic text in your first and last name fields.

6. Form Custom Fields Now Available in Thrive Automator!

In the name of more flexible data management, we decided to add support for Custom Fields in the Form Submit trigger.

This is how you get data into your website to begin with.

Let's say you build a beautiful form on your website with Thrive Architect, something with multiple custom fields (a custom field is any text, dropdown, radio or checkbox that isn't standard and has been added for a specific goal). 

Something like this employment application form:

This form and the custom fields were built in Thrive Architect.

Then, in the Thrive Architect sidebar, you give it an identifier, so that you can link to the form later.

Form identifiers are used by Thrive Automator.

Now you want to send an outgoing webhook from your website that includes the custom fields submitted on your form.

Previously, it couldn't be done. But from today's release... you can!

We've modified the Form Submit trigger in Thrive Automator. You'll now find that when you first open it, it will ask you to specify a form identifier. You can bypass this by selecting 'All', but you won't be able to get custom field data until you pick a specific form.

Choose your specific form identifier in this new trigger.

The improved 'Form Submit' trigger prompts you to pick a form id.

"But, Brad... my form identifier isn't listed!" 

There's an easy fix. Unfortunately, this custom fields update isn't 100% backwards compatible, but it can be with an easy 2 clicks. 

All you have to do is open the Thrive Visual Editor where your chosen form exists and press 'Save'. Doing this will re-calculate your custom fields, tie them to your form identifier, and expose them to the newly improved Thrive Automator Form Submit trigger.

Now see in the image below, I've added a 'Send webhook' action and when I want to map my outgoing webhook fields, I can load any of the custom field inputs that I had on my form.

Custom fields from your form are now available in any future actions.

The end result is that the Form element in the Thrive Visual Editor can pass all of your visitor's form submission data to any actions compatible with the Thrive Automator ecosystem.

7. Custom Field Mapping For Email Autoresponders in Thrive Automator

Right now, one of Thrive Automator's strengths is that you can update you mailing list based on any unique trigger events that occur on your website.

Both of these triggers will connect to external email services, 

Unlike the previous Form Trigger feature which gets data into your website, this is how you get data out of your website.

Look at the list of available triggers: Course completion, quiz submission, drip lessons unlocked, countdown timers starting... Any one of them that occur based on a user-event can be used to update a mailing list.

But what about updating custom fields in your email service? 

Well... we've just added support for field mapping when connecting to an email service. 

New field mapping available in email-based actions!

This field mapping supports both standard fields (email, name, phone number) for all email services we integrate with, and custom fields for specific email services that where we have added support for custom fields.

At the moment, that means we have custom fields support for:

Click 'Refresh' and Thrive Automator will check what available fields exist in your email tool of choice. Then, you can either provide static fields by typing in the value directly, or dynamic fields by clicking the dynamic data icon.

Map any dynamic data and send it to your email tool of choice.

Email services often operate as CRMs (Customer Relationship Managers), so you can build out a profile based on event data for each mailing list subscriber.

It might not seem like much, but being able to manipulate data going into or out of Thrive Automator is what makes this tool so flexible. And it's what sets us up for the next feature...

8. Automator + Architect Forms API!

Although this isn't a feature you can use today... it's actually a really big deal!

We've created a public API for the Forms element in the Thrive Visual Editor that doubles as an API for Thrive Automator.

So, what on earth does that mean?

It means that any 3rd party mailing list service can now build their own integration, where they'll show up as a connection in Thrive Architect, Thrive Leads, Thrive Quiz Builder, Thrive Ultimatum and Thrive Automator... all at once.

And they can do it super easily, with absolutely zero input from our team.

How does it work?

To make it stupidly easy to build, we created an example 3rd party plugin for CleverReach (another email marketing service) as a proof of concept. This plugin is freely available and editable on our Github here.

That means a developer can download our proof-of-concept plugin, edit the easily-readable code, change it to suit their own email service... and then either release the plugin as their own integration, or merge it with their existing plugin!

When that plugin is installed on your website, the connection will show up in the Thrive Themes API dashboard here:

Externally integrated email services will show up here.

The pencil icon will take you to the API settings hosted inside that new plugin, and the green dot indicates if the connection is active.

Once it's connected and active, you'll find that new email integration available in two places.

First, you'll find it as an available connection on any form element used in the Thrive Visual Editor.

The integration will be listed on the forms element.

Second, it will be listed in the 'Add to email autoresponder' action in Thrive Automator... and yes, it will support email lists, tags, and custom fields if the email service has those options available. 

The 3rd party integration will appear in the list of email services available.

How you can help!

If you have a preferred mailing list tool that we don't yet integrate with, you no longer need to wait for us to build it. You can reach out to that email service and request that they integrate with Thrive Suite.

This doesn't mean we won't build any more integrations ourselves. It just means that the integration can now be built from either end.

When you do reach out to a 3rd party, you'll want to point them to our documentation, which can be found along with our editable sample plugin here:

How to integrate Thrive Themes site with an Email Service [Github]

Their developers can simply clone the sample plugin and edit the code to suit their own service by following the comments left by our developers inside the plugin files. 

9. Dynamic URL on Outgoing Webhooks

For the more advanced users who have discovered that outgoing webhooks can be manipulated to do all sorts of crazy things (such as targeting WordPress API functions on other sites), this small update is going to let you automate even more.

We added support for dynamic data in your webhook destination URL in Thrive Automator.

Change the webhook endpoint with dynamic data.

In some advanced use cases, you may want to update a specific account on a website, external service, or perhaps even internally. To target an account, you'd require an ID, which will be different per-user. By supporting dynamic text, you can have a single automation that updates different accounts depending on who or how it's triggered.

Still going over your head? Here's a few quick ideas of how this can be used:

  • Verify that an email dress actually exists and is deliverable, by sending a webhook to with an API key and the email provided in the webhook URL.
  • Send a Webhook to Slack (a team/ business messaging software) that will leave an automated message in a channel. Change which channel based on dynamic data in the webhook URL.
  • Ping the WordPress API to update data for a specific user_ID.

It's an advanced feature, but we wanted to include it so that our webhook implementation feels complete.

Plus 3 Additional Fixes

Aside from our Thrive Quiz Builder, Thrive Apprentice and Thrive Automator updates, we've also published a few simple fixes in Thrive Suite.

1. Our RankMath integration is now official.

RankMath is a very popular SEO plugin for WordPress.

To be clear, we already had an integration. It worked just fine. However, there was a lot of confusion around it because our integration was coded in such a way that it wasn't visible in the code, and therefore the RankMath team thought that we didn't integrate.

This was not the case. But, we've now re-coded it so it meets official standards and it can be seen in our code base.

So let's undo the myth that we don't integrate with RankMath once and for all. We absolutely do.

2. WooCommerce Subscriptions for Thrive Apprentice Now Work As Expected

Our support team heard that on occasion Thrive Apprentice course access wasn't correctly revoking when a WooCommerce subscription ended.

We investigated why and have included a fix that makes WooCommerce subscriptions rock-solid. Whether an admin cancels, a customer cancels, a rebill fails or a credit card expires, access will correctly be revoked every time.

3. Empty Custom Fields Will Not Overwrite

For some email services connected directly on the Forms element, custom fields saved on a subscriber were overwritten if they re-submitted a form with any empty fields.

We've now fixed this. If a subscriber in your email service or CRM has any information in a custom field, it will only be overwritten if a new value is submitted to that field. If no value is provided, any existing information in a field will remain there, untouched.

Whoa... that's a lot!

Well done, you made it to the end! This was a big release, with some huge features.

If you're thinking "How on earth am I meant to keep up with all these updates?", the answer is... You're not meant to!

They're there when you need them. And our ever-growing knowledge base has answers to every single question you have about every feature, whenever you need it.

Don't forget to drop a comment below. We love hearing from you!

About the Author Bradley Stevens

Brad is the CEO at Thrive Themes, and a serious marketing nerd. He’s been a videographer on top of the Sydney Harbour Bridge, a drummer in a rock band, an actor in independent films, and he’s created and sold his own online courses.

Get In Touch