SteerAds
BOFUGuideGoogle Ads

Google Ads for recruiting & staffing agencies 2026

Recruiting and staffing agency PPC playbook 2026: 2-sided campaign architecture (candidate + employer), $10k-$50k placement-fee ROI, exec search vs volume staffing, regional rate cards, offline conversion tracking from ATS to Google Ads.

Angel
AngelStrategy & Audit Lead
···13 min read

Updated 2026-05-09. A US-based regional recruiting agency we audited last quarter spent $11,400/month on Google Ads, attributed 220 form fills, and closed only 8 placements. The other 212 form fills were candidates filling employer forms — pure noise the algorithm kept optimizing toward.

Recruiting agency PPC sits at the intersection of two-sided marketplace dynamics and B2B services sales cycles. You bid against candidates and employers simultaneously, you track placements that close 90 days after the click, you handle MSP-locked accounts that cannot legally buy from you. Standard e-commerce Smart Bidding logic breaks. Even standard B2B SaaS playbooks miss the candidate-vs-employer split. Get one of the three layers wrong — landing differentiation, offline conversion loop, MSP exclusion — and 30-50% of budget evaporates into junk inquiries. This playbook lays out the full 2026 stack we deploy on contingent, retained, and volume staffing accounts. Run a free 5-axis Google Ads audit if you want a diagnostic in under three minutes against the 200-checkpoint benchmark.

TL;DR :
  • Two-sided architecture is non-negotiable: candidate and employer campaigns never share keywords, landings, or bidding strategies.
  • Placement-fee ROI requires offline conversion uploads from your ATS — Bullhorn, Greenhouse, Vincere, JobAdder — with GCLID persistence through close-won.
  • Exec search runs on Exact match and Customer Match ABM lists; volume staffing runs on Phrase match plus Performance Max with vertical asset groups.
  • Regional rate cards drive max CPC: a $50k retained placement can absorb $40-60 CPC, a $5k temp placement cannot exceed $8-12 CPC.
  • MSP-locked account exclusions save 12-18% of typical B2B recruiting budgets — the most underrated lever in 2026.

Why is Google Ads still the right channel for recruiting agencies in 2026?

LinkedIn dominates the B2B sourcing conversation, yet Google captures the moment buyers move from passive consideration to active vendor selection. When a VP of Engineering types "executive recruiter SaaS series B" or an HR director searches "warehouse staffing agency Phoenix," they have already left the awareness stage — they want shortlists, references, and a call this week.

In our 2025-2026 sample of 90+ recruiting agency accounts across the US, UK, EU, and APAC, Google Search delivered placement-fee CAC under 25% of placement value in 71% of cases when the offline conversion loop was active. The same accounts running last-click on form fills only saw CAC ratios drift to 35-55% — still profitable but materially worse.

The structural reason: recruiting buyers self-select into search behavior at the high-intent end of the funnel. Passive LinkedIn outreach reaches buyers who are not yet ready. Google catches them when budget has been approved, the requisition is open, and the urgency is real. That intent premium translates to placement-close rates 2.4-3.1x higher than LinkedIn-sourced inbound on contingent and retained books we benchmark.

For broader B2B context across services verticals, see the B2B SaaS playbook — much of the offline conversion plumbing carries over.

How do you architect a 2-sided campaign (candidate + employer)?

The first decision is structural: candidates and employers never coexist in the same campaign. Their keywords, ad copy, landings, conversion goals, and bidding strategies all differ. Mixing them corrupts Smart Bidding signal and produces the typical "200 form fills, 8 placements" pattern we see in audits.

The candidate side is fundamentally a volume game with quality screening. The employer side is a low-volume, high-value game where every dollar counts because each placement could be worth $10k-$150k+.

How do you track placement-fee ROI on long cycles?

Median lag from first employer click to billed placement, in our sample:

  • Volume staffing (temp, light industrial): 18-32 days
  • Contingent search ($10k-$30k fees): 45-75 days
  • Retained exec search ($30k-$150k+ fees): 75-180 days

These windows make standard 30-day Google Ads reporting almost meaningless. A campaign launched April 1 in retained search produces its first reliable signal in late June. Any kill-decision before D+90 is blind.

The fix is the offline conversion loop, identical in plumbing to B2B SaaS but with placement fees as the conversion value. The chain:

  1. Auto-tagging on (gclid in every URL).
  2. Hidden gclid field on every employer-side form.
  3. GCLID written to ATS as a custom field on the Company record.
  4. GCLID persists through job order creation, candidate submission, interview, offer, and close-won.
  5. Weekly export from ATS: gclid + placement_fee + close_won_date.
  6. Upload to Google Ads as Offline Conversion with placement-fee value.

For the technical detail on the offline conversion infrastructure that applies to both recruiting and SaaS, see offline conversions CRM to Google Ads.

Critical pitfall — GCLID expiry :

GCLID is valid for 90 days. Retained exec search cycles routinely exceed that. Workaround: capture user_id (hashed email) at form fill, store alongside gclid in ATS, and use Enhanced Conversions for Leads (which accepts hashed emails and resolves to gclid server-side via Google's matching). Without this, retained placements that close on D+95 simply cannot be uploaded as offline conversions.

Exec search vs volume staffing: which bidding logic?

The bidding strategy hinges on two variables: placement volume per month and placement-fee value. The four observed regimes:

Why Manual CPC for boutique retained: with under 10 placements per month, Smart Bidding has insufficient signal. The algorithm wanders, CPC inflates, and you waste budget on poorly correlated impressions. Manual control with a tightly-scoped keyword list (under 100 exact-match terms) plus Customer Match ABM modifiers outperforms in this volume regime.

Why Target ROAS works for higher-volume staffing: once you cross 30 placements per 30 days with offline conversion data flowing in weekly, Smart Bidding has enough density to optimize on placement-fee value. The transition from form-fill optimization to placement-fee optimization typically drops effective CAC by 18-26%.

For a deeper comparison of native bidding strategies, the Google Ads vs LinkedIn Ads piece covers the budget-allocation logic that also applies to recruiting.

How do you bid by regional placement-fee rate card?

Placement fees vary 3-5x by region for the same role. A senior software engineer placement bills around $35k in San Francisco, $22k in Austin, $14k in Manchester UK, and $6k in Bangalore. Bidding the same max CPC across regions wastes budget in low-fee markets and underpays in high-fee markets.

Indicative 2026 placement-fee rate cards across our panel (USD, contingent search, mid-senior roles):

Practical implementation: segment Google Ads campaigns by region and apply max CPC ceilings calibrated to expected placement fee. Rule of thumb: max CPC = expected placement fee / 5,000. So a $30k fee region tolerates $6 max CPC at the keyword level; a $6k volume staffing region tolerates $1.20.

For a comprehensive view of cost variation, our cost by industry and region 2026 benchmark breaks down CPCs and CACs across 14 verticals globally.

Should you target candidates with Google Ads at all?

The honest answer for most agencies in 2026: only when candidate scarcity is the binding business constraint, and only on regional/vertical scope.

Candidate-side Google Ads competes against free organic channels (Indeed, LinkedIn Jobs, ZipRecruiter, Glassdoor) and against your own SEO-ranked job pages. Paid candidate acquisition only makes sense when:

  • You operate volume staffing (temp, CDL, healthcare, retail) where applicant scarcity throttles fill rate.
  • You target a specialized vertical where organic Indeed/LinkedIn results are weak (specialty nursing, niche industrial, security clearances).
  • You run targeted geo campaigns for a specific client requisition with a tight close-by date.

Where candidate-side Google Ads consistently fails:

  • White-collar corporate recruiting (LinkedIn Jobs and direct sourcing dominate).
  • Tech recruiting (Stack Overflow, GitHub, Hired do better).
  • Anything where the candidate pool is engaged via referral and direct outreach.

If you do run candidate campaigns, isolate them in their own MCC sub-account, set strict daily caps, and measure on cost-per-qualified-application (not raw application volume — most candidate clicks produce unqualified resumes).

Offline conversions from ATS — Bullhorn, Greenhouse, Vincere

The offline conversion plumbing varies by ATS. The common pattern is the same: GCLID in, placement-fee out, weekly upload.

Bullhorn: add custom field "gclid" on Company entity. Use Bullhorn's REST API to query weekly for placements with status close-won. Pipe to a Google Sheets row, then upload via Google Ads UI or Conversion Adjustments API. Typical engineering time: 2-4 days.

Greenhouse: candidate-centric ATS, less natural fit. Add gclid as a custom field on the Job record. Use Greenhouse Harvest API to pull hires, match against gclid, push as offline conversion. Some agencies use Greenhouse's Webhook system for real-time push.

Vincere / JobAdder: both expose REST APIs with custom fields. Same pattern. Vincere has a native Google Ads integration in beta as of late 2025.

Direct CRM (HubSpot / Salesforce-based recruiting): straightforward. Treat the Job Order as a Deal, gclid as a Deal property, close-won triggers offline upload.

Common ATS misconfiguration :

GCLID often gets overwritten when a candidate updates their record after the initial inquiry. Lock the gclid field as read-only after first write, or store it on the Job/Company record (not the Candidate record) to prevent overwrites. We see this break offline-conversion pipelines silently in 30-40% of recruiting accounts we audit.

Customer Match for client retention and account-based plays

Three Customer Match lists every recruiting agency should maintain:

  1. ABM target list — accounts you want to win. Hash company-domain emails of named buyers (CHRO, VP Talent, hiring managers). Apply +25% bid modifier on employer-side campaigns.
  2. Existing client list — exclude from acquisition campaigns to avoid paying clicks for clients already engaged. Include in cross-sell campaigns for new verticals or new geos.
  3. MSP-locked / PSL-restricted list — accounts that legally cannot contract with you. Full exclusion. Refresh monthly via your sales team.

Customer Match minimum threshold is 1,000 active members per list. For boutique exec search firms below this floor, layer Customer Match into PMax audience signals instead of using it as a direct targeting layer.

The deep guide to first-party data setup: Customer Match and first-party data 2026.

Common pitfalls: junk applicants, MSP exclusions, brand cannibalization

The five expensive mistakes we see repeatedly:

  1. Candidate fills employer form. Job-seekers fill the "request consultation" form on your employer landing because they think it's a job application. Fix: distinct branded landings, screening question on the employer form ("Are you hiring or looking for a job?"), filter out candidate domains.
  2. PMax cannibalizing brand. Without explicit brand exclusion, PMax serves on your agency name and inflates ROAS artificially. Fix: account-level brand exclusion list.
  3. Single landing for all verticals. "Contact us about staffing" generic page converts at under 2%. Vertical-specific pages convert at 6-12%. Fix: build five to eight vertical-specific landings.
  4. No MSP exclusion list. 12-18% of B2B recruiting budgets land on accounts that cannot transact with you. Fix: Customer Match exclusion list refreshed monthly.
  5. Optimization on form fills, not placements. Smart Bidding learns to maximize form fills, which includes junk. Fix: offline conversion loop with placement fees.

For broader cross-vertical mistakes, the 5-axis audit checklist covers the structural issues.

90-day plan and minimum budget for a recruiting agency

Minimum viable monthly budget: $4,500 for regional contingent, $8,000 for multi-vertical mid-market staffing, $15,000+ for multi-state volume staffing or multi-region exec search.

Allocation template for a $9,000/month contingent firm covering three verticals in two regions:

  • Brand Search (exact): $700 (8%)
  • Vertical 1 employer Search: $2,000 (22%)
  • Vertical 2 employer Search: $1,800 (20%)
  • Vertical 3 employer Search: $1,800 (20%)
  • ABM Customer Match overlay: $1,200 (13%)
  • Retargeting (visitors and abandoners): $700 (8%)
  • Test budget (new vertical or geo): $800 (9%)

90-day sequence:

For an agency that wants the diagnostic before committing to the rebuild, the ROI calculator models placement-fee economics, and the CPL calculator backs into the max CPL each vertical can absorb.

Cite us :

SteerAds — Google Ads playbook for recruiting and staffing agencies, updated 2026-05-09. Run a free 5-axis audit to benchmark your account against 200 checkpoints, model placement-fee ROI with our ROI calculator, or talk to the team via the contact page.

Sources

Official sources consulted for this guide:

FAQ

Does Google Ads work for a recruiting agency with placement fees under $5,000?

Below $5,000 placement fees, Google Ads only works on volume staffing — typically temp, light industrial, retail, or call-center placements where you fill 40-80 roles per month. The math: at $5k fee with 20-25% margin, your gross margin per placement sits around $1,000-1,250. Google CAC must stay below $400 to keep agency economics healthy. That's only achievable on tightly-scoped Search campaigns ('temp staffing [city]', '[industry] recruiter [region]') with no broad match. Contingent search above $10k fee is where Google Ads truly shines — fewer placements, higher quality, easier ROI.

Should you bid on candidate keywords or only employer keywords?

It depends on your business model. Pure contingent agencies (paid per placement) need both — candidates fuel the inventory, employers buy access to it. Retained search firms should focus 80-90% of Google Ads budget on employer queries ('executive search firm [vertical]', 'CFO recruiter [region]') because candidate sourcing happens via LinkedIn and direct outreach. Volume staffing reverses the ratio: 60-70% on candidate queries ('warehouse jobs [city]', 'CDL driver hiring') because applicant scarcity is the bottleneck. Map your ratio to where the business pinch actually sits.

How do you measure ROI when a placement closes 90 days after the click?

Use offline conversions from your ATS (Bullhorn, Greenhouse, Vincere, JobAdder). Capture GCLID at the inquiry form on the employer side, store it as a custom field on the company record, and upload back to Google Ads when the placement closes-won with the actual fee value. Median lag we see in exec search: 75-110 days from first inquiry to billed placement. Without offline upload, Smart Bidding optimizes on noisy form fills (often candidates filling employer forms by mistake). Weekly upload cadence is the minimum viable — beyond 14 days, GCLID quality degrades.

How much should a recruiting agency spend monthly on Google Ads?

Minimum viable budget is $4,500-7,000 per month for a regional contingent firm targeting one to three verticals. Below $3,500 you cannot exit Smart Bidding learning phase on placement conversions (you need 30 placements per 30 days for stable optimization). Exec search firms targeting $50k-150k retained fees can run profitably at $8,000-15,000 per month because each placement justifies high CPCs ($25-60) and long cycles. Volume staffing firms running multi-state operations typically spend $15,000-40,000 per month split across geo-segmented campaigns.

What's the ideal landing page for an employer-side recruiting campaign?

A vertical-specific page with three elements: (1) social proof showing placements you've made in the same vertical and region (logos, anonymized case stats); (2) a short consultation booking form (company, role, headcount, budget range, timeline) — never a generic contact form; (3) embedded calendar booking as fallback for senior buyers who want to skip the form. Avoid generic 'about our agency' pages. Vertical-specific landings convert at 6-12% on warm Google Ads traffic vs 1.8-2.5% on generic homepages we audit.

Should a recruiting agency run Performance Max?

Cautiously, and never without brand exclusion. PMax can work for volume staffing where you have hundreds of monthly conversions and a wide candidate net to cast. For exec search and contingent search above $10k fees, stick to Search (Exact and Phrase match) plus Customer Match-targeted campaigns. PMax tends to over-attribute brand searches and burn budget on irrelevant Display impressions. If you do run PMax, segment by vertical asset group, exclude branded queries explicitly, and audit search terms via the new 2024-2025 PMax search-term reporting.

How do you exclude MSP-locked accounts from Google Ads campaigns?

Build a Customer Match exclusion list of every MSP-locked or PSL-restricted enterprise account. Hash company emails (SHA-256), upload as a Customer Match list, and set as a negative audience on all employer-side campaigns. Refresh monthly. Without this exclusion, you pay clicks for buyers who legally cannot contract with you — typical waste we see is 12-18% of B2B recruiting budgets. Combine with IP exclusions when known and add a screening question to forms ('Does your company use an MSP/RPO?').

Is YouTube worth it for a recruiting agency?

Yes, but only as a brand-building and Customer Match retargeting channel — never as a primary conversion driver. Cost per qualified employer view sits around $0.04-0.10 on Skippable In-Stream targeted with Customer Match (your ABM list of target accounts). Use 30-60 second testimonial cuts from successful placements in the same vertical. Direct response YouTube on cold employer audiences rarely makes sense for recruiting because the buyer journey requires a longer narrative than a 15-second pre-roll allows.

How do you measure cost-per-placement vs cost-per-application?

Cost-per-application is easy: Google Ads spend / applications, viewable directly in the conversions column once form-fill conversion is configured. Cost-per-placement requires the offline-conversion loop. Pull placements from ATS weekly with originating GCLID, divide spend by placements over a rolling 90-day window matched on the click month — not placement month. Median ratio we see: cost-per-application $45-110, cost-per-placement $850-2,400 in contingent search, $3,200-9,000 in retained exec search. The ratio between the two is your applicant-to-placement quality score.

Ready to optimize your campaigns?

Start a free audit in 2 minutes and discover the ROI potential of your accounts.

Start my free audit

Free audit — no credit card required

Keep reading