GoHighLevel Course Certificates: Setup Guide (2026) — HL Growth Partner, Dr Priya Jaganathan

GoHighLevel Course Certificates: Setup Guide (2026)

September 25, 2026

By Dr Priya Jaganathan, GoHighLevel Certified Admin · HL Growth Partner, Australia · Updated 25 September 2026 · 11 min read

Some links below are affiliate links — if you sign up through them, HL Growth Partner may earn a commission at no extra cost to you. It never changes what we recommend. Full disclosure.

GoHighLevel course certificates are now a genuinely native feature, not a workaround — and that has changed how I build training sub-accounts. For years the honest answer to "can HighLevel issue a completion certificate?" was "not really, you fake it with a designed image and a Workflow email."

That is no longer true. HighLevel ships a Certificate Builder, a Badge Builder, an Issue Certificate Workflow action, completion triggers at product, category and lesson level, and a certificate ID on every issued credential. This guide walks the native path first, then shows you the two workarounds that still earn their place — and is specific about where each one stops.

Quick Facts

Where templates liveMemberships → Credentials → Templates, in the sub-account (HighLevel docs, 2026)
How a course gets oneMemberships → Courses → Products → your course → Certificates tab → Attach; category is set to "Course Completion" automatically
Completion triggersProduct Completed, Category Completed and Lesson Completed Workflow triggers
Workflow actionIssue Certificate — also issues badges by selecting a badge template
PersonalisationContact-level custom field values are supported inside the Certificate Builder
Learner downloadPDF (default), PNG or JPG, from the share link or the Client Portal
Audit trailIssued Certificates list, exportable to CSV with Certificate ID and Date Issued

What HighLevel course certificates actually do natively in 2026

Certificate and badge templates live under Memberships → Credentials in the sub-account — not in the funnel builder, and not in the Media Library.

HighLevel's documentation on issuing certificates on course completion is the authoritative reference: open Memberships → Courses → Products, pick the course, open the Certificates tab and attach a template. The category is set to "Course Completion" for you, and issuance is then automatic — learners get an email with a link to view and download.

Course-level, category-level and badges

You can certify a whole course or just a section. A category completion certificate appears as the final lesson in that category's preview and is awarded when every required lesson is done.

Three constraints to know before designing anything: only one certificate attaches to a course at a time, a category certificate always sits at the end of its category, and certificates fire only at 100% completion.

Badges are built in the Badge Builder under the same Credentials tab and issued by the same Issue Certificate action — you just pick a badge template. On long programs I use badges per module and one certificate at the end.

Certificate AI is real, and it is beta

Certificate AI sits under Memberships → Credentials: describe the certificate in plain language and it generates an editable template with frames, signatures, QR codes and backgrounds, which opens in the Certificate Builder. HighLevel labels it Beta — treat it as a fast first draft.

How to detect completion reliably before you issue anything

Issuance is only as good as your completion signal. Three triggers do the work:

  • Product Completed — fires when a contact completes a product such as a course. Filter by product with "is any of" or "is none of".
  • Category Completed — fires on completion of a specified category, and HighLevel notes it fires on repeat completions too.
  • Lesson Completed — filtered by Product, Category and Lesson; this is the one for quizzes and assignments.

There is also a Certificate Issued trigger — your hook for everything that happens after the credential exists: the congratulations SMS, the CRM note, the upsell sequence.

Gating on a quiz, and the honest limit

To certify on assessment, use Lesson Completed filtered to the quiz lesson, then add Issue Certificate. HighLevel's article on sending a certificate after a quiz or assignment documents exactly this.

What that documentation does not give you is a configurable pass mark. It triggers on completion of the assessment lesson, not a score threshold. A genuine 80% gate means recording the score to a custom field and branching on it — a build, not a setting.

Tags as a safety net

I still tag progress. A cert-issued-{course} tag alongside the action gives you a filterable list, a duplicate-issuance guard, and something Smart Lists can report on.

The certificate is not the reward — it is the receipt. What lifts completion is the learner knowing, from lesson one, exactly what the receipt will say and where they will be able to show it.

Three ways to deliver GoHighLevel course certificates, compared

Native is now the right default. The other two paths survive for heavy brand control, or compliance requirements HighLevel does not cover.

Method Build effort Extra cost Personalisation Verification
Native Credentials Low — attach a template to the course None beyond your plan Contact fields and custom fields in the builder Certificate ID, public share link, Issued Certificates list
Designed file + Workflow email Medium — artwork, custom values, email build Design time only Text merges in the email; artwork stays static Whatever you build yourself
External generator via webhook High — webhook, mapping, error handling Third-party subscription Full — any field, true per-learner PDF Depends entirely on the vendor

(a) Native Credentials — the default

Design once, attach to the course, done. It writes to the Issued Certificates register, generates a certificate ID, gives the learner a share link, and allows PDF, PNG or JPG downloads.

Choose this unless you have a documented reason not to. First make sure the course structure is sound — our GoHighLevel Memberships and Courses setup guide covers the product, category and lesson hierarchy these triggers depend on.

(b) Designed artwork plus a Workflow email

The old method, still useful when a client insists on print-exact artwork the builder cannot reproduce. Upload it to the GoHighLevel Media Library, reference the hosted URL in a Workflow email, and merge the learner's details as text around the image.

Be clear-eyed about the limitation: a static image does not personalise itself. The name inside the artwork is a picture, not a merge field. You get a personalised email wrapping an impersonal certificate.

(c) External generator hooked in by webhook

When you need a per-learner PDF with fields the builder will not accommodate — multiple assessors, unit codes, hours logged — fire a webhook from the completion Workflow to a document-generation service.

Pair it with a fallback. If the webhook fails at 2am, nobody gets a certificate and nobody knows; manual actions in Workflows give a human a task to chase exceptions.

Personalising the certificate with custom fields and custom values

HighLevel confirms contact-level custom field values work inside the Certificate Builder, and that generated designs support dynamic recipient information, dates, organisation name and signer details.

What I set up on every training build:

  • Learner name — from the contact record, not typed. Clean your name data first; the certificate will faithfully print "priya " in lower case with a trailing space.
  • Course name — a custom field written by the Workflow before issuance, so one template serves several courses.
  • Completion date — set by the same Workflow at issuance.
  • Assessor or signatory — a custom value if constant, a custom field if it varies by cohort.

Use sub-account custom values for anything that never changes per learner — organisation name, RTO or ABN details, signature block — and custom fields for anything that does. That split is what lets one template cover a whole catalogue.

Building the issue-and-email Workflow step by step

If you attach a template to the course, HighLevel emails the learner automatically. Build a Workflow when you want control over timing, copy or branching.

The shape I use:

  • Trigger: Product Completed, filtered to the course.
  • Update Contact: write course name and completion date to custom fields.
  • Wait: a short delay so fields commit before the credential renders.
  • Issue Certificate: pick the template. Certificates issued this way appear in Memberships → Certificates → Issued Certificates.
  • Add Tag and, if you want it, Send Email with your own branded congratulations.

Send through an authenticated domain — Mailgun or your configured sending domain — because a certificate email in spam generates tickets for weeks. To have credentials arrive in business hours rather than at 3am, wait steps with business-hours windows handle it cleanly.

Verification: certificate IDs and a lookup page

Verification is where DIY builds fall over, and where native quietly wins. Every issued credential carries a Certificate ID, and the CSV export from Issued Certificates includes Full Name, Email Address, Certificate ID and Date Issued — the spine of any verification process.

The public share link is the other half: HighLevel's credential preview supports links viewable without login, sharing to LinkedIn, Facebook, X and WhatsApp, and a LinkedIn "Add to Profile" button.

If you need a branded lookup page

HighLevel's documentation does not describe a hosted, searchable verification portal where an employer types an ID and gets a result. If you need that, you build it — a funnel page with a form capturing the certificate ID, and a Workflow that checks and replies.

Certificates can also carry expiry dates, with reminder emails a custom number of days beforehand, replacing the older fixed 2- and 7-day defaults. Note that an expired certificate's preview becomes unavailable to the learner — plan for that before setting expiries on anything an employer might check later.

CPD use cases for Australian training businesses

For CPD-style training the certificate is the deliverable a regulator or employer wants to see: hours, date, provider, topic, and something an auditor can check. Native Credentials cover that — dated certificates, unique IDs, a CSV register, and expiry reminders that double as a re-enrolment engine.

One boundary to be honest about. The AQF's guidance on certification for individuals is clear that qualifications and statements of attainment come from registered providers — registered training organisations in VET, or TEQSA-registered higher education providers — under the AQF Qualifications Issuance Policy and applicable sector standards.

A certificate generated in HighLevel is a completion or professional-development certificate, not a nationally recognised statement of attainment, unless you are an RTO issuing under your own registration. Say "Certificate of Completion" and you are fine; imply nationally recognised training and you are not.

The surrounding experience matters too — the Client Portal for course members is where learners will go looking for their certificates.

Re-issuing a lost certificate without breaking your records

This request arrives constantly, usually two years later, usually urgently. Certificates are pre-generated at issuance and stay available from the Issued Certificates list and the learner's Client Portal account area, with preview, download and copy-link. Most "lost certificate" tickets are solved by resending the existing share link, not by issuing anything new.

Re-issue only when the original is genuinely wrong — a misspelt name, the wrong date. Fix the contact record first, then issue, then note why. Administrators can also revoke access for an individual from Sites → Memberships → Certificates → Issued Certificates. Keep that process standing and you avoid duplicate credentials with different IDs, which is what makes a register useless.

Common mistakes to avoid

  • Assuming a Media Library image personalises itself. Static artwork is a picture; the name inside it does not merge.
  • Gating on a quiz and expecting a pass-mark setting. The documented path triggers on assessment lesson completion — a score threshold needs a custom field and a branch you build.
  • Leaving optional lessons inside required categories. Certificates fire at 100%, so a stray required lesson silently blocks everyone.
  • Attaching a second certificate to a course. Only one attaches at a time — edit or delete the existing one rather than hunting for a bug.
  • Setting expiry dates casually. An expired credential's preview becomes unavailable to the learner.
  • Calling it nationally recognised. Unless you are an RTO issuing under your own registration, it is a completion certificate — label it that way.

If you want your course completion and certificate issuance built and tested properly in your own sub-account, book a strategy call with the HL Growth Partner team.

Book Your Strategy Call →

Or if you just need the software first: grab the 30-day HighLevel trial and book us when you're ready to scale it.

Frequently asked questions

Are GoHighLevel course certificates a native feature in 2026?

Yes. HighLevel provides certificate and badge templates under Memberships → Credentials, a Certificate Builder, an Issue Certificate Workflow action, and automatic issuance when you attach a template to a course. You no longer need a designed image and a manual email to deliver a completion certificate.

Which workflow trigger should I use to issue a certificate on course completion?

Use the Product Completed trigger filtered to the specific course, which fires when a contact completes that product. Use Category Completed to certify a section of a course, and Lesson Completed when you want to certify on a specific quiz or assignment. A separate Certificate Issued trigger lets you run follow-up actions after the credential exists.

Can I put the learner's name and course name on the certificate automatically?

Yes. HighLevel supports contact-level custom field values inside the Certificate Builder, along with dynamic recipient information, dates, organisation name and signer details. Write the course name and completion date into custom fields in the Workflow before the Issue Certificate action so one template can serve several courses.

What file format do learners get their certificate in?

Learners can download their credential as a PDF by default, or as a PNG or JPG. HighLevel recommends PDF for professional printing and framing, PNG for website embedding, and JPG for email attachments because of the smaller file size. Certificates are pre-generated at issuance, so downloads are immediate.

Do GoHighLevel certificates have a unique certificate ID for verification?

Yes. Every issued credential carries a Certificate ID, and the CSV export from Issued Certificates includes Full Name, Email Address, Certificate ID and Date Issued. Public share links let anyone view a credential without logging in. HighLevel does not document a hosted searchable verification portal, so a branded lookup page is something you build with a funnel form and a Workflow.

Can a GoHighLevel certificate count as nationally recognised Australian training?

No, not on its own. The AQF's guidance on certification for individuals is clear that qualifications and statements of attainment are issued by registered providers — registered training organisations in VET or TEQSA-registered higher education providers — under the AQF Qualifications Issuance Policy. A HighLevel certificate is a completion or professional-development certificate unless you are an RTO issuing it under your own registration.

How do I re-issue a certificate a learner has lost?

Most of the time you do not need to re-issue anything. Certificates are pre-generated and remain available from the Issued Certificates list and the learner's Client Portal account area, so sending the existing share link solves it. Only issue a new credential when the original is genuinely wrong, and fix the contact record first so the replacement is correct.

Building and selling courses in HighLevel

Automation and delivery mechanics

Choosing a platform for your training business

Dr PriyaJaganathan

Dr PriyaJaganathan

Dr Priya Jaganathan is a Go High Level Certified Admin, trusted CRM consultant based in Australia, and a keynote speaker at SaaSpreneur Sydney and Level Up 2025 in Dallas.

Back to Blog