Meta Ads conversion tracking for recruitment agencies
A recruitment agency runs two acquisition funnels that share a website and have nothing else in common: candidates applying for roles, and employers with vacancies to fill. What Meta Ads adds on top of that is a mechanical requirement: fbclid and _fbc have to reach the record that holds the money, because Meta can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in recruitment agencies, and what Meta specifically needs to accept it.
Free30 minutesNo obligation
Specific to Meta × Recruitment
Meta for recruiters: SubmitApplication for candidates, Lead for firms
On Meta, send candidate applications as SubmitApplication and client vacancy enquiries as Lead, each through the Conversions API from the ATS or CRM with _fbc, _fbp and a shared event_id. Candidate job ads run under Meta's Employment special ad category in the US; client-side campaigns optimize toward Lead and never toward applications.
Meta is mostly a candidate channel for agencies: hourly, driving, warehouse, care and hospitality roles fill well from the feed, while a hiring manager rarely picks a recruiter off Instagram. Using SubmitApplication for candidates and Lead for employers keeps the two sides in different standard events, so a client campaign optimizing for Lead is never quietly learning from a flood of applications.
In the US, ads for job opportunities must run under the Employment special ad category, which removes age and gender targeting, sets a minimum radius on location targeting and limits detailed targeting. That leaves Meta with less to go on, so the quality of the conversion event carries more of the optimization. Never put the role title, pay rate, visa or work-authorization status, or anything about a candidate's background into custom data; the event name, a value and normalized, hashed contact details are enough.
The usual failure is Instant Forms. An application collected on Meta has no site visit, no fbclid and no pixel event, and it reaches the ATS through an export or integration with nothing to attribute it by. If you use them, carry Meta's lead ID into the ATS and send the interview or placement back against it. Placements land weeks after Meta's 7-day click window and often beyond how old an event Meta will accept, so treat them as reporting rather than a bid target.
Meta · Recruitment · what breaks
Why Meta under-reports for recruitment agencies
- 01
Candidates and clients counted as one conversion
So bidding buys the cheap side.
- 02
Applications valued equally
Regardless of role or placement likelihood.
- 03
Placements never fed back
The only revenue event, invisible.
- 04
Fbclid and _fbc never reaches the record
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.
Meta · Recruitment · the fix
What working looks like — Meta · Recruitment
Two funnels, measured separately
Candidate and client, distinct conversions.
Placements fed back with fee value
So bidding chases revenue.
Client-side campaigns given their own signal
Rather than competing with application volume.
Meta · Recruitment · architecture
How Meta and recruitment agencies actually connect
- 1
The conversion in recruitment agencies
Candidate side: application, interview, placement. Client side: enquiry, vacancy taken, placement filled. They meet only at the placement, which is where the fee is.
- 2
Meta Ads needs a click to match
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.
- 3
The identifier: fbclid and _fbc
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.
- 4
Where it gets sent from
your ATS record of placements and fees invoiced.
- 5
Deduplication and window
This is the mechanism that decides whether adding CAPI helps or doubles your conversions. Both the Pixel and the server event must carry the same event_id — the order or booking reference works best, because both sides can produce it without coordinating. A case difference in the event name alone produces two events even with a matching ID. Read the Deduplicated indicator in Events Manager over a full week, not one session. 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.
Meta · Recruitment · events
The conversion map for recruitment agencies
Two funnels that share a website and meet only at the point revenue exists.
| Event | What it means here |
|---|---|
| Candidate application | Browser-side. Very high volume, near-zero individual value. |
| Client vacancy enquiry | Browser-side plus call tracking. Low volume, high value. |
| Vacancy taken | Server-side from the CRM. The client-side conversion worth bidding on. |
| Placement made | Server-side from the ATS, with the fee as the value. |
| Fee value | Varies enormously by role. Worth sending accurately. |
Meta · Recruitment · diagnose
Diagnostic order — Meta · Recruitment
- 01
Count records carrying fbclid and _fbc
- 02
One blended conversion action
Candidate volume overwhelms client value and bidding optimizes toward applications.
- 03
No click ID in the ATS
So placements can never be attributed to a campaign.
- 04
Job board traffic counted as site conversions
Inflating the website's apparent performance.
- 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 · Recruitment · prove
How it gets proven — Meta · Recruitment
Source of truth
your ATS record of placements and fees invoiced
- Separate conversion actions confirmed for candidate and client sides.
- Click ID present on live records in both systems.
- Placements uploading with real fee values.
- Placements reconciled against the ATS for a closed month.
- The Deduplicated indicator and the per-event match quality score, both read over seven days read directly, not inferred from an upload succeeding.
Meta · Recruitment · free audit
What we check in the free audit
- Count records carrying fbclid and _fbc
- One blended conversion action
- No click ID in the ATS
- Job board traffic counted as site conversions
- Read the Deduplicated indicator and the per-event match quality score, both read over seven days
Checked against
your ATS record of placements and fees invoiced
Free30 minutesNo obligation
Meta · Recruitment · when not to buy
When you don't need this — Meta · Recruitment
- If Meta already reports conversions that reconcile against your ats record of placements and fees invoiced within a few percent, this is working and there is nothing to buy.
- Measure identifier coverage yourself first — pull your last hundred records and count how many carry fbclid and _fbc.
- 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 · Recruitment · what we deliver
What gets built — Meta · Recruitment
Separate conversion actions per side
Candidate application, client vacancy enquiry.
Click ID written to the ATS and CRM
Both sides.
Placements uploaded with fee value
Offline conversion import.
Job board traffic separated from owned
Two different channels.
Dispatch via the Conversions API
Server events go through CAPI with an action_source describing where the conversion happened. Offline outcomes flow through the same API rather than a separate product. Verify current field names against Meta's documentation before building — this surface changes.
Written guarantee
95%+ tracking accuracy
Measured against your ATS record of placements and fees invoiced. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Meta · Recruitment questions, answered
It doesn't stop the pixel or the Conversions API from working, but it narrows targeting and audience building. The event setup stays the same; the optimization event simply carries more weight.
That category is for ads offering jobs. Ads selling recruitment services to businesses are a different message, but read Meta's current definition and keep the two in separate campaigns so the classification stays clear.
Because they have opposite economics. Blended, bidding always chases candidate applications — they're cheaper and more numerous — and the client side, where the fees are, gets nothing.
As a low-value event for volume, yes. As the primary bidding target, no, unless candidate supply is genuinely your constraint.
The invoiced fee. Role values vary enough that a flat figure actively misleads bidding toward the wrong roles.
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.
Server events go through CAPI with an action_source describing where the conversion happened. Offline outcomes flow through the same API rather than a separate product. Verify current field names against Meta's documentation before building — this surface changes.
By reading the Deduplicated indicator and the per-event match quality score, both read over seven days and reconciling against your ATS record of placements and fees invoiced. An upload that succeeds is not an upload that matched.
More on Meta · Recruitment
- RecruitmentConversion tracking for recruiters, with candidates and clients measured separat…
- Meta · StaffingMeta Ads conversion tracking for staffing agencies
- Meta · Home healthcareMeta Ads conversion tracking for home healthcare agencies
RELATED GUIDES
More for recruitment agencies: other angles on the same outcome
- RecruitmentConversion tracking for recruiters, with candidates and clients measured separately
- Meta · PPC agenciesMeta Ads conversion tracking for PPC agencies
- Meta · Executive searchMeta Ads conversion tracking for executive search firms
- Meta · RFP → awardHow to track RFP submission to contract award for Meta Ads
- Meta × CRM DealsHow to reconcile Meta Ads against your CRM's closed-won deals
- JazzHR → MetaConnecting JazzHR to Meta Conversions API
- Meta · StaffingMeta Ads conversion tracking for staffing agencies
- Meta · Marketing agenciesMeta Ads conversion tracking for marketing agencies
Free · 30 min
Get Meta reporting what recruitment agencies actually earn
Free30 minutesNo obligation
