Skip to main content
LearnDash + Meta CAPIPlatform solution

Meta Conversions API setup for LearnDash

Same distinction: enrolment is an engagement event, payment is a conversion. Sending enrolment as Purchase is the fault that shows up most often here.

Free30 minutesNo obligation

LearnDash + Meta CAPI · what breaks

What goes wrong on LearnDash

  1. 01

    Payment lives in another plugin

    LearnDash handles courses; something else handles money.

  2. 02

    Free enrolments counted as conversions

    Which teaches bidding to buy people who never pay.

  3. 03

    Course completion mistaken for revenue

    A useful engagement signal, not a sale.

  4. 04

    WordPress plugin sprawl

    Inherited from the platform underneath.

LearnDash + Meta CAPI · the fix

What changes — LearnDash + Meta CAPI

  • Payment identified as the conversion

    Wherever it actually lives.

  • Enrolment tracked as engagement

    Separately, and not as revenue.

  • Course progress available

    As a quality signal rather than a conversion.

LearnDash + Meta CAPI · architecture

How Meta tracking behaves on LearnDash

Enrolment is not Purchase.

  1. 1

    Purchase reserved for actual payments

    The most common LearnDash mistake.

  2. 2

    Enrolment as a custom or Lead event

    Where it's free.

  3. 3

    Payment ID as event_id

    From the payment layer.

  4. 4

    Customer data from the user record

    Normalized before hashing.

  5. 5

    Refunds reversed

    From the payment layer.

LearnDash + Meta CAPI · diagnose

Where LearnDash tracking breaks, in diagnostic order

Each check rules out a class of cause, so by the last one there is usually a single explanation standing.

  1. 01

    Identify the payment layer

    The question that decides the whole build.

  2. 02

    Check whether enrolment is being sent as Purchase

    The classic fault.

  3. 03

    Compare payments to platform conversions

    For a closed month.

  4. 04

    List tracking-adjacent plugins

    WordPress inventory.

  5. 05

    Check click ID storage in user meta

    Determines later attribution.

LearnDash + Meta CAPI · prove

The QA evidence — LearnDash + Meta CAPI

Run on LearnDash specifically, on a live conversion rather than in preview mode.

Source of truth

your LearnDash enrolment and payment records

  • Payment confirmed as the conversion event, not enrolment.
  • Free enrolments confirmed recorded separately.
  • Click ID present in user meta on a live user.
  • Payments reconciled against your payment layer for a closed month.
  • A refund tested and confirmed reversing.
  • Reconciled over a fully closed window, matched per record rather than on totals.
  • Re-checked 30 days later, and after any platform update.

LearnDash + Meta CAPI · free audit

What we check in the free audit

  • Identify the payment layer
  • Check whether enrolment is being sent as Purchase
  • Compare payments to platform conversions
  • List tracking-adjacent plugins
  • Check click ID storage in user meta

Checked against

your LearnDash enrolment and payment records

Get my free conversion tracking audit

Free30 minutesNo obligation

LearnDash + Meta CAPI · when not to buy

When you don't need this on LearnDash

Worth reading before you buy anything, from us or anyone.

  • If all your courses are paid through WooCommerce, this is really a WooCommerce tracking question and that page covers it better.
  • If enrolment and payment are the same moment for you, the distinction this page makes doesn't apply.
  • The hooks are standard WordPress development and your developer can wire them.
  • Identify the payment layer before buying anything. It's a five-minute question and it changes the whole answer.

LearnDash + Meta CAPI · what we deliver

What gets built for Meta on LearnDash

  • A shared event ID on both paths

    The payment layer's transaction or order ID — LearnDash itself doesn't issue one.

  • Standard event names, exactly cased

    Meta matches on name and ID together, so a case difference alone produces two events.

  • Customer data normalized then hashed

    Lowercase and trimmed email, phone in E.164. This is where nearly every low match quality score comes from.

  • fbc and fbp forwarded from the browser

    fbc only exists if fbclid was captured on landing — a very common gap.

Written guarantee

95%+ tracking accuracy

Measured against your LearnDash enrolment and payment records. 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

Repairs and verifies the browser-side setup you already have, on a live conversion. Honest about its ceiling on this platform.

  • Root cause fixed, not worked around
  • Verified on a live conversion
  • Reconciled against your own records
  • Written handover
Fix what I have

1st-party server-side

Recommended

$800One-time fee · most popular

Money events sent from your own records through a first-party container on your subdomain, so the browser can no longer lose them.

  • First-party server container on your own subdomain
  • Money events from your records, not the browser
  • Deduplicated on a shared event ID at every destination
  • First-party cookies beyond Safari's 7-day cap
  • 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Rebuild it server-side

Full 1st-party stack

$1,800One-time fee · lifetime ownership

Every paid channel server-side plus the offline loop, with monitoring so the next break surfaces in days.

  • Everything in 1st-party server-side
  • Pinterest, Snapchat, Reddit and LinkedIn CAPI
  • CRM and offline conversion loop
  • Refunds and cancellations corrected wherever each platform allows it
  • Monitoring on every destination
Get the full stack

FAQ

LearnDash + Meta CAPI questions, answered

Enrolment is probably being sent as Purchase. Reserve Purchase for actual payments.

Free · 30 min

Get Pixel and CAPI counting once on LearnDash

Free30 minutesNo obligation