Skip to main content
Teachable + Meta CAPIPlatform solution

Meta Conversions API setup for Teachable

Teachable's limited injection means fewer duplicate pixels than open platforms. The gap is recurring revenue never reaching Meta, so a student's reported worth is frozen at their first payment.

Free30 minutesNo obligation

Teachable + Meta CAPI · what breaks

What goes wrong on Teachable

  1. 01

    Hosted checkout with limited injection

    A ceiling on what browser-side tracking can see.

  2. 02

    Payment plans and subscriptions

    Most revenue arrives after the checkout page is gone.

  3. 03

    Full plan value sent upfront

    Reporting money that may never be collected.

  4. 04

    Refunds never reversed

    And course refund rates are not small.

Teachable + Meta CAPI · the fix

What changes — Teachable + Meta CAPI

  • Each payment counted as it clears

    First and subsequent.

  • Click ID stored against the student

    So installments stay attributable.

  • Refunds reversed

    Keeping reported revenue honest.

Teachable + Meta CAPI · architecture

How Meta tracking behaves on Teachable

One event per payment, referencing the original click.

  1. 1

    Transaction ID as event_id

    Unique per payment.

  2. 2

    First payment and installments distinct

    So value accumulates honestly.

  3. 3

    Click ID on the student record

    The only storage that survives.

  4. 4

    Customer data from the Teachable record

    Normalized before hashing.

  5. 5

    Refunds reversed

    Course refund rates make this matter.

Teachable + Meta CAPI · diagnose

Where Teachable 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

    Compare Teachable collected revenue to platform revenue

    For a closed month.

  2. 02

    Check what value checkout sends

    Plan total or amount charged.

  3. 03

    Confirm which webhooks are subscribed

    Usually none.

  4. 04

    Check whether a click ID reaches the student record

    Determines installment attribution.

  5. 05

    Look at the refund rate

    It sizes the overstatement.

Teachable + Meta CAPI · prove

The QA evidence — Teachable + Meta CAPI

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

Source of truth

your Teachable transaction records

  • Each payment confirmed arriving as its own event.
  • Click ID present on a live student record.
  • Values confirmed as amounts charged rather than plan totals.
  • Collected revenue reconciled against Teachable for a closed month.
  • A real 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.

Teachable + Meta CAPI · free audit

What we check in the free audit

  • Compare Teachable collected revenue to platform revenue
  • Check what value checkout sends
  • Confirm which webhooks are subscribed
  • Check whether a click ID reaches the student record
  • Look at the refund rate

Checked against

your Teachable transaction records

Get my free conversion tracking audit

Free30 minutesNo obligation

Teachable + Meta CAPI · when not to buy

When you don't need this on Teachable

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

  • If you sell only one-time courses with no payment plans, the checkout event is most of the story.
  • If reported revenue already matches Teachable's collected revenue, nothing here needs fixing.
  • Changing the checkout value from plan total to amount charged is a small change with most of the benefit.
  • The webhook work needs somewhere to receive it. If that's not available to you, say so early rather than half-building.

Teachable + Meta CAPI · what we deliver

What gets built for Meta on Teachable

  • A shared event ID on both paths

    The Teachable transaction ID, unique per payment and present on the webhook.

  • 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 Teachable transaction 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

Teachable + Meta CAPI questions, answered

Because nothing after checkout is being sent. Installments and renewals need the webhook.

Free · 30 min

Get Pixel and CAPI counting once on Teachable

Free30 minutesNo obligation