- Published
- Byline
- GoHighLevel Partners Editorial
- Filed under
- GoHighLevel Automation
GoHighLevel now has an official support article for issuing a certificate after a learner passes a quiz. That is good news if you run certification-style courses in GoHighLevel – compliance training, franchise onboarding, a coaching certification – and bad news if you actually read the article and build what it says, because the workflow HighLevel recommends never checks the score. It uses the same lesson-completion signal as the automatic certificate it was supposed to fix.
This article lays out the gap, why HighLevel’s own fix does not close it, and the workflow that does – built entirely from settings already inside your account.
What the default course certificate actually checks
Every course category can carry a Category Completion Certificate: open the category, click the plus icon at the end of its lesson list, and attach a certificate template. Two things matter for a certification program:
- It is scoped to the category, not the whole course – a multi-category course can carry a different certificate per category.
- It is awarded the moment every required lesson in that category is marked complete. HighLevel’s documentation does not condition it on a quiz, a score, or anything else.
If your assessment is one of the lessons in that category, submitting it and having the platform register the lesson as “visited” can be enough to earn the certificate, whatever score the learner got.
HighLevel’s own fix has the same blind spot
HighLevel’s support article “How to Send a Certificate After Passing a Quiz or Assignment” tells you to build this instead: go to Automations > Workflows, add a Lesson Completed trigger, filter it to the specific Product, Category and Lesson (your quiz), then add an Issue Certificate action pointed at your template.
Read that filter list again – Product, Category, Lesson. Nowhere in it is a score. Lesson Completed fires when the quiz lesson is marked done, exactly like the automatic category certificate it replaces. Moving the trigger from the automatic certificate slot into a manual workflow step changes nothing about what it is actually watching for. A learner who opens the quiz, guesses on every question, and submits it still trips a “Lesson Completed” event – and HighLevel’s own recommended workflow issues the certificate anyway.
The trigger that actually knows the score
A separate trigger exists specifically for this, and HighLevel’s certificate how-to does not mention it: Quiz Submitted. Its filters, per HighLevel’s current documentation:
| Filter | What it does |
|---|---|
| Quiz Name | A specific quiz, Any, or Is Not to exclude one |
| Overall Score | Greater than, less than, or between two percentages (both ends inclusive on “between”) |
| Category Score | Score on one scored section, for quizzes built with categories |
| Custom Field | A score field you mapped when you set up the quiz |
This is the only one of the four completion-adjacent triggers in the course system – Category Completed, Product Completed, Lesson Completed, Quiz Submitted – that filters on a result rather than on whether something was opened and closed.
“Requires a passing grade” changes less than it sounds like
In the quiz editor there is a checkbox labeled “This quiz requires passing grade”, with a percentage field and separate Pass/Fail confirmation messages. Turning it on hides correct answers from a learner who got a question wrong and shows the message you wrote. Learners can retake as many times as allowed and see their latest result.
What HighLevel’s documentation does not state is whether failing a required quiz blocks the lesson from being marked complete, or just leaves a failing score on the record while the learner clicks through regardless. Test this in your own account before you build a certification workflow around it. Given that Category Completed, Product Completed and Lesson Completed are all lesson-completion signals with no visibility into pass/fail, the safer assumption for a compliance-grade program is that a fail does not stop anything on its own – which is exactly why the gate has to be built on Quiz Submitted’s own score filter, not inferred from completion.
Mapping the score so it persists past the trigger
If you need the score somewhere else in the account – a condition step in a different workflow, a manual audit, a support ticket – use the CRM Field Mapping option in the quiz builder to write the overall score, category scores and pass/fail tier onto contact custom fields at submission time. That turns a one-time trigger event into a persistent value you can reference any time, not just at the moment of submission.
Worked example: an agency running franchise onboarding wants a manager notified when a franchisee fails the compliance quiz twice in a row. Quiz Submitted fires once per submission, so it cannot count attempts by itself – but a custom field mapped as “attempt count” alongside “latest score” gives a condition step in a manager-notification workflow something to check on the second failing submission.
Building the actual gate
Put the pieces together like this:
- Trigger: Quiz Submitted, filtered to the specific quiz, Overall Score greater than your passing threshold.
- Action: Issue Certificate, pointed at the certification template.
- Optional action: add a tag such as certified-[program name], so portal access, a follow-up sequence, or a later course unlock can key off the tag instead of re-checking the quiz.
Build the failing branch as its own workflow off the same trigger, Overall Score less than your threshold: a retake reminder to the learner, and optionally a task or notification to whoever runs the certification program, so a failed attempt does not just disappear with nobody watching.
Chaining downstream automation off a real certificate
HighLevel also ships a Certificate Issued trigger, separate from Quiz Submitted, that fires only after a certificate has actually gone out – by the Issue Certificate action, whether that action sits on a score-gated Quiz Submitted workflow or on the score-blind Lesson Completed path. This is where the difference between the two setups compounds: if Certificate Issued is feeding a second workflow that emails a copy to a client’s operations inbox, unlocks the next paid tier of a coaching program, or notifies a compliance manager, that second workflow inherits whatever the first one certified. Wire Certificate Issued downstream of the score-gated Quiz Submitted workflow only, not the Lesson Completed one, or the automation you build on top of “certified” is trusting a signal that was never checked. Every certificate issued through a workflow – either path – lands in the same place for a manual check: Membership > Certificates > Issued Certificates.
What to do with the automatic certificate and HighLevel’s Lesson Completed workflow
Once the score-gated workflow is live, decide what happens to the two score-blind paths still in your account:
- The automatic Category Completion Certificate – detach it from the assessment category entirely, or relabel the template “Participation” or “Course Progress” rather than reusing your certification’s name.
- A Lesson Completed workflow built exactly as HighLevel’s own how-to describes – if you already built this before reading the score filters above, either add an Overall Score condition step before the Issue Certificate action, or replace the trigger with Quiz Submitted outright. Leaving it as HighLevel wrote it means the fix you followed still certifies people who never passed.
What you should not do is leave the automatic certificate, a Lesson Completed workflow, and a properly score-gated Quiz Submitted workflow all pointed at the same template. That combination is exactly the setup that hands out a credential to someone who did not earn it.
Quick reference
| Path | Checks quiz score? | Source |
|---|---|---|
| Category Completion Certificate (automatic) | No – lesson completion only | Native default |
| Lesson Completed trigger → Issue Certificate | No – same completion signal | HighLevel’s own official how-to |
| Quiz Submitted + Overall Score filter → Issue Certificate | Yes | Not documented as a certificate path in HighLevel’s certificate guide, but built from HighLevel’s own Quiz Submitted trigger docs |
If you inherited a course built before you thought about any of this, check Membership > Certificates > Issued Certificates against your quiz results before you tell a client the program is compliant. It is a five-minute cross-check the first time, and the fastest way to find out whether the gap described here already handed a credential to someone who did not earn it.
Frequently Asked Questions
Does GoHighLevel's course certificate check whether a learner passed the quiz?
No. The automatic Category Completion Certificate is awarded when every required lesson in a category is marked complete, with no condition on a quiz score. If the quiz is one of the lessons, submitting it can be enough to earn the certificate regardless of the result.
Does HighLevel's own official guide for score-gated certificates actually check the score?
Not as written. HighLevel's support article for sending a certificate after a passing quiz uses the Lesson Completed trigger filtered to a specific Product, Category and Lesson – a completion signal, not a score. The separate Quiz Submitted trigger, with its Overall Score, Category Score and Custom Field filters, is not part of that recommended workflow.
Which GoHighLevel trigger should I use to gate a certificate on a passing grade?
Quiz Submitted, filtered by Overall Score (or Category Score, or a mapped custom field) above your passing threshold, followed by an Issue Certificate action. This is the only completion-adjacent course trigger that filters on the result rather than on whether the quiz was opened and closed.
Can I stop the automatic category certificate from being issued?
Yes – detach the certificate template from the category in the course builder, or keep it under a non-certification label such as a participation certificate. Avoid pointing the automatic certificate, a Lesson Completed workflow, and a score-gated Quiz Submitted workflow all at the same certification template.
We build your GoHighLevel account for you
CRM, pipelines, funnels, SMS and automation — configured for your business, not left for you to figure out.
- Setup (one-time)$850
- Ongoing (per month)$38.80
No obligation quote · reply within 1 business day
This site is independently operated and is not officially affiliated with, endorsed by, or sponsored by HighLevel LLC. We do not receive referral commissions — this is our own flat-fee implementation service.