Skip to main content
Meta × Enrolment SystemRun this yourself

How to reconcile Meta Ads against your application or enrolment system

This is the check we run first on every account, written out so you can run it without us. It takes about thirty minutes and needs two numbers: what Meta says it produced, and what your application or enrolment system actually shows. The gap between them is the only honest measure of whether your tracking works — and if it comes back small, you do not need us.

Free30 minutesNo obligation

Specific to Meta × Enrolment System

Meta vs paid enrollments: a 7-day window against a months-long intake

Join through hashed email and phone sent with the Conversions API, plus fbc from the landing visit, matched to enrolled-and-paid students. Meta's default 7-day click and 1-day view window cannot see an enrollment months after the ad, so Meta will undercount enrollments while claiming applications through view-through. Judge Meta on applications, then check enrollment rate by campaign.

Meta has no click identifier you can read back out of its reports, so the join exists only inside Meta: you send the enrollment as a server event carrying the applicant's hashed email, phone and the fbc value captured when they landed, and Meta matches it to a user. Your side of the reconciliation is therefore the event_id you sent, usually the application or student number. Check how many enrollment events actually went out against how many students paid.

With a 7-day click and 1-day view default, a student who saw an ad in January and paid tuition in July is outside every window Meta offers. What Meta does attribute well is the application, and view-through inflates that number because prospective students scroll past several institutions' ads before applying anywhere. In the Ads Reporting view, check whether results are dated to the impression or to the conversion before lining them up against an intake.

Export results for the application and enrollment events by campaign with the attribution setting shown as a column, and compare the application count against your own applications for the same period. Meta matching or slightly exceeding your applications is normal. Meta claiming more enrollments than you have usually means the enrollment event fires on an acceptance or a free scholarship place, which your filter of enrolled and paid excludes.

Meta × Enrolment System · what breaks

Why Meta and your application or enrolment system disagree

  1. 01

    Applications counted as enrolments

    Applying is free. The application-to-enrolment rate differs enormously by source, so optimising on applications finds the sources with the worst rate.

  2. 02

    Free and granted places counted as sales

    Scholarship places, admin-granted access and full-discount coupons produce identical enrolment records to paid ones.

  3. 03

    Deferrals and withdrawals never reversed

    A student who defers to next year is not this intake's revenue.

  4. 04

    Intake cycle longer than the attribution window

    An application in March for a September start falls well outside every default window.

Meta × Enrolment System · the fix

What you get from this — Meta × Enrolment System

  • A number instead of a suspicion

  • The likely cause, narrowed

  • A basis for deciding

Meta × Enrolment System · architecture

What each side is actually counting — Meta × Enrolment System

  1. 1

    What Meta counts

    event_name from the standard set with exact casing, event_time in seconds, a shared event_id, an action_source, and hashed user_data that was normalized before hashing. Purchase additionally requires value and currency.

  2. 2

    How Meta attributes it

    fbclid arrives on the landing URL and is normally written into the _fbc cookie. If it isn't captured on landing, _fbc never exists — and _fbc is the strongest click signal Meta has, so its absence caps your match quality regardless of what else you send. Forward _fbp too, from the browser rather than regenerating it server-side.

  3. 3

    The window it uses

    Meta's default attribution is a 7-day click and 1-day view. View-through is included by default, which is a large part of why Meta claims more conversions than your other platforms — that overlap is expected rather than a fault.

  4. 4

    What your application or enrolment system counts

    Applicants who enrolled and paid, not applicants who applied, found in Your student information system, LMS or admissions CRM.

  5. 5

    The filter that makes them comparable

    Status is enrolled and paid — not applied, not accepted, not deferred.

Meta × Enrolment System · events

Reading the gap — Meta × Enrolment System

15%+ platform higherUsually the wrong event entirely — applications, free places or deferred students are being counted as paid enrolments.
20%+ platform lowerUsually structural — the platform is missing enrolments it produced — almost always the intake cycle outliving the window.

Meta × Enrolment System · diagnose

Diagnostic order — Meta × Enrolment System

  1. 01

    Confirm both numbers cover the same period and channel

  2. 02

    Applications counted as enrolments

    Applying is free. The application-to-enrolment rate differs enormously by source, so optimising on applications finds the sources with the worst rate.

  3. 03

    Free and granted places counted as sales

    Scholarship places, admin-granted access and full-discount coupons produce identical enrolment records to paid ones.

  4. 04

    Deferrals and withdrawals never reversed

    A student who defers to next year is not this intake's revenue.

  5. 05

    Read the Deduplicated indicator and the per-event match quality score, both read over seven days

    Match quality is where most Meta accounts lose attribution, and it's almost always normalization rather than coverage. An email hashed with a capital letter, or a phone hashed with brackets, produces a perfectly valid hash that matches nobody and errors nowhere. Normalize first, then hash, and read the score per event rather than overall.

Meta × Enrolment System · prove

How to know you did it right — Meta × Enrolment System

Source of truth

your application or enrolment system — confirmed enrolments for a fully closed month

    Meta × Enrolment System · free audit

    What we check in the free audit

    • Confirm both numbers cover the same period and channel
    • Applications counted as enrolments
    • Free and granted places counted as sales
    • Deferrals and withdrawals never reversed
    • Read the Deduplicated indicator and the per-event match quality score, both read over seven days

    Checked against

    your application or enrolment system — confirmed enrolments for a fully closed month

    Get my free conversion tracking audit

    Free30 minutesNo obligation

    Meta × Enrolment System · when not to buy

    When the answer is that you do not need us — Meta × Enrolment System

    • If almost all of your confirmed enrolments come from a channel with no click behind it, no tracking work will reach them — and knowing that is worth more than a build.
    • If you're advertising a business type Meta restricts data collection for — health being the obvious one — the parameters you can legitimately send are narrower, and that constraint should shape the build rather than be worked around.

    Meta × Enrolment System · what we deliver

    The method, step by step — Meta × Enrolment System

    • Pull what Meta reports

      The deduplicated indicator and the per-event match quality score, both read over seven days.

    • Pull what your application or enrolment system shows

      Export enrolments by start date for a closed intake, and separate paid enrolments from free, granted or scholarship places.

    • Filter both to the same thing

      Status is enrolled and paid — not applied, not accepted, not deferred.

    • Compare per record, not on totals

    FAQ

    Meta × Enrolment System questions, answered

    No. An instant form submission is an inquiry, not even an application. Keep the lead ID on the record so you can follow each one through to paid enrollment yourself.

    Free · 30 min

    Found a gap between Meta and your application or enrolment system?

    Free30 minutesNo obligation