A Hiring Engine, Rebuilt From the Tracking Up

Recruiting operations · about 7 minutes

Three ad platforms, two hiring pipelines that couldn't see each other, and no way to tell which dollar produced a driver. The audit found 273 candidates being messaged by hand in a system nobody had mapped. Three months in, there's one pipeline, the spend is measured, and the interview invites send themselves.

Client
A regional delivery contractor
Brief
Hire drivers, faster and cheaper
Engagement
Audit, build, and ongoing management
Period
June 2026 to present
Services
Foundation · Paid Advertising · Organic Content System · Marketing Tech, Reporting & AI · Search & AI Visibility

Before you read on

You don't need to know what any of this is called. If you're spending money to bring people in, customers or staff, and you couldn't say which part of that spending is working, you already understand the problem here. The client couldn't either, and that was the real problem to solve.

The short version

  1. The client was paying for ads on three platforms and couldn't tell which one produced a hire. The tracking had been installed in the wrong accounts, so every number they had was wrong.
  2. Fixing the tracking revealed the real problem: hiring was being run twice, in two systems that disagreed about what time to show up for an interview.
  3. I was hired to fix their recruiting ads. Along the way I found and fixed the hiring process behind them.
  4. Today the cost per applicant is known and falling, interview invites go out seven days a week on their own, and the team works from one process in one system.
Foundation

Nothing was connected

The client is a regional delivery contractor. For them, driver hiring isn't a marketing nice-to-have. Routes go unrun without it.

Three paid channels were live, an applicant tracking system was in place, and hires were happening. None of it was connected.

In plain terms

An applicant tracking system is the software a company hires through: where applications land and candidates get moved along. Theirs worked. It just wasn't the only place hiring was happening.

The tracking had been installed in the wrong accounts. The "application finished" signal the ads were supposed to aim for was never attached to either live campaign, and the Meta tracking sat on an account that wasn't running any ads at all.

The practical effect: nobody could say what a hire cost, which channel produced it, or where applicants were dropping out.

I was brought in to make hiring faster and cheaper, but the first job was getting the numbers straight. That's when the audit turned up a bigger problem I hadn't gone looking for.

Foundation Marketing Tech, Reporting & AI

Hiring was running twice

One pipeline ran automatically inside the applicant tracking system: acknowledgement, invitation, resend, booking confirmation, reminder. It worked, and I checked every step. But none of it was written down, so nobody knew it was there.

A second pipeline ran by hand, in a job board inbox. 273 candidates were messaged one at a time with a typed version of the invitation the first system was already sending. Nine replies sat unread for up to five days, including candidates asking direct scheduling questions.

The two pipelines quoted different interview times for the same day, so some candidates arrived to an empty room. A check across both systems showed the two candidate lists didn't overlap at all. These were two separate queues, not two views of the same one.

Pipeline one: automatic, working, undocumented Pipeline two: by hand, in an inbox, invisible 273 candidates · 9 replies unread up to 5 days One pipeline stages that each mean one thing
The two pipelines quoted different interview times for the same day. The fix was to combine them into one.
I came in ready to recommend automation. The audit changed the recommendation to consolidation. The work was already being done, by hand, in the wrong place.

Here's what that changed for the recruiters. Their day used to be typing invitations one at a time, holding interview times in their head, and checking two systems to work out where a candidate stood. Now they move a candidate and the messages send themselves. Scheduling happens through a link. The daily check takes fifteen minutes and fits on a phone screen.

Foundation Marketing Tech, Reporting & AI

Getting the numbers straight

Eleven days after the rebuild, the account recorded its first accurate conversion (a finished application the ads could see). For the first time the client could see which ads produced completed applications and what each one cost. Everything that follows depends on that.

What I rebuilt

  • Conversion tracking (how the ads know an application was finished) rebuilt in the account running the ads, so they stopped optimizing for page views.
  • Meta tracking moved to the right account and the empty one retired.
  • Tag management (the layer that tells every tool what happened on the site) rebuilt around a real "application completed" event, so the number the client reads is the one they care about.
  • Google Analytics and Google Ads linked for the first time, so the two systems report one number, not two.
  • Consistent campaign tags across all three channels, tested end to end, so every applicant traces back to the ad that produced them.
  • A platform rename handled without losing the job posting's age or search ranking. Both had been written off as acceptable losses. Neither was lost.
Paid Advertising

Paying for the right clicks

Cost per click on Google had tripled. Competition was the obvious explanation, and it was wrong. The account was paying for clicks on jobs the client doesn't hire for, spread across 259 different search terms.

I ran two rounds of cleanup: blocking the searches that were never going to produce a driver, pausing the worst performers, and adding a small set of new phrases, including two that put the client in front of people searching for a named competitor. Budget and bidding stayed untouched, so any change could be credited to one thing.

Before 3rd place in its own auction
After 1st place in its own auction
Before $3.23 per completed application
After $3.10 per completed application

The price per click barely moved, and the report said so. Ad prices rose at the same time the account got better, and the two roughly canceled out. The account still climbed from third place to first while paying about the same.

What the competitor data showed

The nearest local competitor wasn't buying search ads at all, which means the two contracts the client lost to them were lost on response time, not advertising. The real competition for these clicks is gig work: food delivery, rideshare, and delivery companies' own job listings.

That moved the conversation from budget to positioning. Against gig work, bidding higher doesn't win anyone over. What wins is year-round work, weekly pay, and a named hourly rate on the ad itself.

One job board's share of the paid budget 36%
The same job board's share of applications the system could count 100%
Once every channel could be read side by side, one of them turned out to be carrying the account: Indeed was just over a third of the budget and produced every application the account could count, at $3.10 each. Paid traffic overall was about a fifth of applicants and roughly half of all interview bookings. Budget followed the evidence.
Organic Content System Search & AI Visibility

Making the job look real

Ads reach people who are already looking. The company's social feed and search listing are what a candidate checks before deciding whether the job, and the company, are real. Half of what I found there was working against the ads.

Brand and creative

  • Brand colors rebuilt by sampling the actual logo artwork, because the colors on record were wrong.
  • Reusable ad templates, so a new ad comes out in the right colors and type without being designed from scratch every time.
  • The pay rate corrected everywhere it appeared, the business category fixed, and name, address and phone made identical across every platform. Details that disagree cost candidate trust and search ranking at the same time.

The content system

  • A four-week bilingual calendar on a Tuesday, Thursday, Saturday rhythm, rotating four subjects: the open role, culture and team, the local community, and trust. The feed stops reading as one long help-wanted ad.
  • A reusable job fair campaign: the ad, captions in English and Spanish, and a paid Facebook boost, plus a simple way to count results from people who walk up to the table.
  • The company verified on Google after two failed attempts. Now drivers who look it up find a confirmed local employer on Google Search and Maps, with the right phone number, hours and location, and the business can collect reviews.
  • Job posting details built and handed over so open roles can appear in Google's free job listings, not only in paid ads.
Why the Google profile matters more than it looks

An unverified Google profile is close to invisible. It can't collect reviews, it doesn't reliably show up on the map, and it's one of the sources Google and AI assistants read when they answer "who is this company, and are they legitimate?" That's the same question a candidate asks before applying.

Marketing Tech, Reporting & AI

One pipeline, and it runs itself

Better ads were now sending more people into a hiring process that couldn't handle them. The numbers: 820 applications across two systems, 454 candidates sitting in stages nobody was tracking, and a calendar of recurring group interviews with 55 seats each, booking between zero and four people, never closed out. No attendance was recorded anywhere.

So the work was to make one system out of the two that already existed.

The structure

Invited Booked Attended Decided Offered Hired
The six stages that replaced one status field. That single field meant invited, booked, attended and passed all at once, so it could never show who attended.
  • Six stages, each meaning exactly one thing: invited, booked, attended, decided, offered, hired. They replaced a single status that meant four things at once and could never show who attended.
  • One owner and one rule for moving a candidate forward at each stage, with the things that should never be automated written down.
  • Recording the outcome is what triggers the next step. No reminder, rebooking or offer goes out until the record moves. Since updating a candidate is what sends their next message, recruiters keep records current on their own.

The automation

  • Eight messages covering the invitation, the confirmation, a 24-hour and a 2-hour reminder, a resend, a no-show rebook and a close-out, each with a set trigger and timing, and a 48-hour limit so nobody gets over-messaged. Not one is typed by a person.
  • A free automation already included in the client's plan that had never been switched on. Found in the audit, set up, and now handling first contact.
  • Shared job board reply templates across every login, each ending in a tracked application link, so replies stop being retyped and applications are credited to the right source.
AcknowledgementSent the moment an application lands, so nobody wonders whether it arrived.
InvitationThe interview offer that used to be typed out by hand, 273 times.
ConfirmationFires when the candidate books, carrying the one true time.
Reminder at 24 hoursFar enough out that a driver can still rearrange a shift.
Reminder at 2 hoursClose enough in to catch the ones who forgot.
ResendFor an invitation that went unanswered, once, not repeatedly.
No-show rebookA second chance offered automatically instead of a candidate quietly lost.
Close-outEnds the loop, records the outcome, and stops everything else firing.
Eight messages, each with a set trigger and timing, and a 48-hour limit so nobody gets over-messaged. Not one is typed by a person.

The practical effect: acknowledgements, invitations, confirmations, reminders and rebooking all run at nine on a Sunday evening with nobody present. Seven-day coverage without seven-day staffing.

The capacity fix

Before: a week of interview slots Two fixed slots, three days a week. Each one offered 55 seats and filled between zero and four.
After: a week of interview slots Hourly, ten to five, every day, right-sized so that filling a session is realistic rather than an empty room.
The old calendar offered far more seats than applicants could ever fill, which is why sessions looked empty and why more reminders were never going to fix it. I replaced it with smaller daily sessions sized to real demand, closed out every day.

I didn't recommend interviewing less often, even though that was the obvious cut. Daily sessions are how a driver fits an interview around the job they already have.

The handover

A 20-slide training for the hiring team, a written procedure, and a one-page reference built for a phone screen: the fifteen-minute daily check as six checkboxes, what to do after every session, what each stage means, the exact words to text a candidate back, and what to do when something breaks.

The last line on that page matters most: if you can't fix it, ask. Don't build a workaround. An undocumented workaround is what created the second pipeline in the first place.

What happened at the switch

The switch happened on a Sunday morning, candidate by candidate across eleven groups, on one rule: nobody already in the pipeline gets a surprise message, and nobody is invited twice. No candidate was re-invited and no interview was lost.

In the four days around the switch, the interview stage went from 136 people to 56, the offer stage was used for the first time, and recorded hires went from one to thirteen, as months of hiring that had happened but was never written down finally showed up in one place.

With the process defined, the client added two full-time recruiters and moved to seven-day interviewing.

How it ran

How the work ran

Three months, one person, in four steps:

  1. Discovery & snapshotI read every platform in the account myself, live, not from a description of them.
  2. The DiagnosticFindings written down with an owner and a date against each, plus a running list of what was blocked and on whom.
  3. Build the foundationTracking, pipeline, messaging and documentation, in that order, because nothing later is measurable without the first.
  4. Run & optimizeWeekly updates against a committed plan, with every change re-measured on a set date.

This is how I ran enterprise launches: measure first, change one thing at a time, write it down, and train the people who'll run it.

Update · late September

Where it stands now

This case study first ran on September 6, right after the switch to one pipeline. Three weeks later:

  • More than 50 drivers hired and more than 100 candidates in the pipeline.
  • Most paid ads are paused because the pipeline is full. The client has more applicants than it can interview, so Google and Facebook are on hold and one job board keeps running at a lower budget, ready to switch back on when there's room.
  • Interviews every day, on the hour from 10 to 5, with invites, confirmations and reminders going out on their own. The client's recruiters run the schedule themselves.
  • One pay rate everywhere. The client raised its rate twice in September. Each time, the new rate went out across the job boards, ads, careers page, website and Google listing within days.
  • A business phone line the company owns. The number on the Google listing had been an employee's personal cell.
The outcome

What the client got out of it

  • A cost per applicant they can quote, by channel, and act on. Before, every hiring budget decision was a guess.
  • Recruiters off manual scheduling and messaging, which is where the double bookings and five-day silences came from.
  • One hiring record instead of two that disagreed, so the business can see how many people it hires, and how fast.
  • A verified Google presence and identical business details everywhere a candidate checks, so the company shows up correctly whether someone searches, asks Google, or asks an AI assistant.
  • Seven-day candidate coverage with a fifteen-minute daily check their own team runs.
  • A weekly update with owners and dates, including what's blocked and who it's waiting on.

The client didn't buy an ad manager, a tracking contractor, an operations consultant and a trainer. The tracking made the ads measurable. The ads surfaced the hiring problem. The hiring work made the operation able to handle the traffic. Bought separately, those are four vendors pointing at each other. This was one engagement, because each piece depended on the one before it.

Sound familiar?

You don't need to know what to call the problem

If you're paying for ads, job boards or hiring software and can't tell which one brings you applicants, or what each applicant costs, that's the place to start.

And if your hiring lives partly in a system and partly in someone's head, candidates will slip through the cracks. I can help you put it all in one place.

Start a conversation

Hiring drivers for a delivery business? See how I help delivery contractors hire drivers.

Previous
Previous

What the Bellmark Audit Found