Skip to main content
LearnDash (WordPress LMS)For LearnDash users (WordPress LMS)

Get your LearnDash tracking to 95%+ accuracy guaranteed in writing.

LearnDash powers 100,000+ WordPress LMS sites. The default Pixel + WooCommerce integration loses iOS students, never tracks course completions as conversions, and ignores certificate issuance — a HUGE LTV signal. We rebuild LearnDash tracking server-side so every enrollment, completion, certificate, and upsell flows to Meta and Google.

Free30 minutesNo obligation

LearnDash · what breaks

LearnDash tracking gaps

  1. 01

    iOS gap kills high-ticket course ROAS

    Course buyers skew Apple. Browser pixels miss them.

  2. 02

    Course completion never fires

    Highest-LTV signal — students who complete courses are 3× more likely to buy again.

  3. 03

    Certificate issuance ignored

    Should fire as a conversion event for retargeting and lookalikes.

  4. 04

    WooCommerce + LearnDash plugin conflicts

    Multiple tracking plugins fighting each other = double-fires.

LearnDash · the fix

Outcomes — LearnDash

  • Custom mu-plugin

    LearnDash + Woo unified tracking

  • Server-side CAPI for all events

    Enrollment + completion + certificate

  • Course-completion lookalikes

    Highest-LTV audience exported to Meta

  • iOS recovered

    Server-side bypasses ATT

LearnDash · architecture

How a LearnDash order should reach the ad platforms

LearnDash is a course plugin, not a checkout. What it sells through — WooCommerce, its own checkout, or a membership plugin — decides the entire tracking approach, and that is the first thing to establish.

  1. 1

    Click identifiers captured at first touch

    Click IDs are captured at landing and written to the order or user meta, so enrollment can be attributed to the campaign that produced it.

  2. 2

    The browser sends the fast, fragile copy

    WordPress fires browsing and checkout-start events. Which checkout is in play determines what the browser can see.

  3. 3

    The order itself is the source of truth

    The commerce layer's completed order is the truth. LearnDash's enrollment record confirms access was granted, which is a related but different fact.

  4. 4

    A server container sends the authoritative event

    Hooks from the commerce layer, plus LearnDash's own enrollment hook, post to a GTM server container on your own subdomain.

  5. 5

    Customer identity raises match quality

    The order carries the student's email and billing details, hashed server-side.

LearnDash · events

The event set we build on LearnDash, and where each one comes from

Free and paid enrollment both grant course access. Only one of them is a sale, and LearnDash does not distinguish them for you.

view_itemA course sales page rendersitem_id, value, currency, event_idBrowser + server, deduped
begin_checkoutThe commerce layer's checkout loadsvalue, currency, num_items, event_idBrowser + server, deduped
enrollmentA paid order completes and enrollment is grantedcourse_id, value, currency, hashed email, event_idServer authoritative
sign_upA free enrollment is granted — reporting onlyhashed email, event_idServer preferred
subscription_renewedA recurring course or membership charge succeedsvalue, currency, planServer only
refundA refund is issuedorder_id, value, currencyServer only

LearnDash · normal or broken

LearnDash specifics

The commerce layer, not LearnDash, is where nearly every tracking question is actually answered.

Normal, not a fault

  • Enrollment and payment being separate records

    LearnDash grants access; the commerce layer takes the money. Two records for one event is correct.

  • Free enrollments outnumbering paid

    Expected.

  • Ad platforms report more conversions than you have orders

    Meta credits a 7-day click and 1-day view; Google credits on click date. Two platforms can each claim the same sale. Compare each one to your order records separately and never add them together.

  • Recent days always look worse than they finish

    Conversions are credited back to the date of the click, so yesterday's return on ad spend is understated and will keep improving for several days. This is attribution working, not data arriving late.

Actually broken

  • Tracking the enrollment hook regardless of payment

    Free enrollments, admin-granted access and group enrollments are all counted as sales.

  • Two commerce layers both active

    WooCommerce and a membership plugin can both be selling courses, and both firing.

  • Click IDs never reaching the order

    Nothing attributable.

LearnDash · prove

How we prove the LearnDash build is correct

The tag firing proves the tag fires. These prove the numbers are right.

Source of truth

The order records of whichever commerce layer LearnDash uses

  • Paid and free enrollments confirmed separated, with only paid used for bidding.
  • The active commerce layer identified and confirmed as the single source of purchase events.
  • Orders reconciled against the commerce layer for a closed month.
  • Purchase count within a few percent of the order records of whichever commerce layer learndash uses for a fully closed week, matched on order ID rather than on totals.
  • No order ID appearing twice in any platform's event log.
  • Deduplication confirmed at every destination that supports it.
  • Test and staff orders excluded, with the exclusion confirmed active rather than merely configured.
  • The same reconciliation repeated 30 days later, because a setup that works once and then drifts is the harder failure to catch.

LearnDash · free audit

What we check in the free audit

  • iOS gap kills high-ticket course ROAS
  • Course completion never fires
  • Certificate issuance ignored
  • WooCommerce + LearnDash plugin conflicts

Checked against

The order records of whichever commerce layer LearnDash uses

Get my free conversion tracking audit

Free30 minutesNo obligation

LearnDash · when not to buy

When a LearnDash rebuild is not what you need

We would rather say this now than three weeks into an engagement.

  • Your courses are free or internal. There is no sale to track.
  • Low volume and no paid acquisition.
  • You are changing commerce layers. Build after.

LearnDash · what we deliver

Deliverables — LearnDash

  • Custom WordPress mu-plugin

    LearnDash + Woo aware

  • Server-side gateway

    Stape Pro or sGTM

  • Meta CAPI · Google EC · TikTok

    Deduped

  • Course event spec

    Enrollment · progress · completion · certificate

  • Notion runbook + 30-day support

    Replicable

Written guarantee

95%+ tracking accuracy

Measured against The order records of whichever commerce layer LearnDash uses. Miss it and we keep working at no cost.

Get my free conversion tracking audit

Pricing

Pick the package that fits your ad spend

Browser-side starter

$400One-time fee · lifetime ownership

Foundation pixel install for your LearnDash store. Honest disclosure: this is a starting point only. If you spend $1K+/month on paid media you should be on the 1st-party server-side tier — rather than quote you a recovery percentage, we'll show you how to measure your own gap: compare what the platforms reported against the orders in your backend for the same week. That ratio is the entire argument, and it's yours to check — see trackingconsulting.com/measurement-accuracy-methodology.

  • One-time fee · zero monthly · zero SaaS lock-in
  • LearnDash dataLayer (clean spec)
  • GA4 e-commerce events
  • Meta Pixel · Google Ads tag
  • TikTok Pixel · Microsoft UET
  • Consent Mode v2 banner integration
  • QA test orders + 7-day support
  • No CAPI · no iOS recovery
Lock in the one-time price

1st-party server-side

Recommended

$800One-time fee · most popular

The done-for-you package every LearnDash store running paid ads should start with. We build the entire 1st-party server-side stack on your subdomain — Meta, Google, TikTok, Microsoft, LinkedIn all fed from the server. Recovers the conversions iOS, Safari ITP, ad blockers and cookie deprecation hide today. You don't lift a finger. Built in 2–4 days · accurate data in 7 days.

  • One-time fee · save vs SaaS subscriptions over 5 years
  • Fully recovered + built in 2–4 days · accurate data in 7 days
  • Everything in browser-side starter
  • 1st-party server-side GTM (your subdomain)
  • Meta CAPI · full advanced matching · 8+ EMQ
  • Google Enhanced Conversions (Web + Leads)
  • TikTok Events API · Microsoft UET server
  • Deterministic browser ↔ server deduplication
  • Live EMQ verification + screenshots
  • Notion runbook + 30-day support · zero recurring
Lock in the one-time price

Full 1st-party stack

$1,800One-time fee · lifetime ownership

Every paid-media channel running 1st-party server-side, end-to-end. For LearnDash brands spending $30K+/month who can no longer afford attribution leaks. Pay once. Own everything. Includes Pinterest + Snap + Reddit + LinkedIn CAPI, Klaviyo identity stitching, BigQuery + Looker Studio.

  • One-time fee · save 6-figure SaaS subscriptions over 5 years
  • Everything in 1st-party server-side tier
  • Pinterest · Snapchat · Reddit · LinkedIn · X CAPIs
  • Klaviyo identity stitching (if used)
  • BigQuery export (server logs + GA4)
  • Looker Studio attribution dashboard (branded)
  • Multi-region / multi-currency / EU residency
  • GDPR-audit-ready Consent Mode v2 wiring
  • 60-day support · optional retainer · no lock-in
Lock in the one-time price

FAQ

LearnDash questions, answered

Yes — bundled LMS + membership setups handled.

Free · 30 min

Free LearnDash tracking audit

Free30 minutesNo obligation