TerrierTerrier

Ghost Seats in Staffing Agencies: How to Stop Paying for Software After Recruiters Leave

Last updated: June 2026


A ghost seat is a paid software license still billing for someone who no longer works there. In staffing agencies, ghost seats accumulate faster than almost any other industry because recruiter turnover is structural — people leave constantly, and the tools they used keep billing until someone manually catches and cancels them. LinkedIn Recruiter, your ATS, sourcing tools, and job board subscriptions are the four categories to audit immediately after any departure.


The Problem

A recruiter leaves your agency in February. You're focused on backfilling the role, redistributing their open reqs, and getting the new hire onboarded. Three months later, your operations director pulls the April software costs and notices something: LinkedIn Recruiter is billing for five seats. You have four recruiters.

That one missed seat is $170/month. Annoying, but manageable. Then she checks the sourcing tool — Apollo is billing for a seat tied to an email address that bounces. The ATS has a user that hasn't logged in since January. The job board subscription is pulling $299/month for an account nobody accesses.

That one February departure is costing $600/month in software that serves nobody. It's been billing for 12 weeks. And that's just one person.

Staffing agencies have the highest internal recruiter turnover of any professional services sector. When three or four recruiters cycle through in a year — which is common at mid-size agencies — the ghost seat problem compounds continuously. Each departure leaves behind a software tail. Those tails overlap and grow.

According to Zylo's 2026 SaaS Management Index, the average organization only actively uses 54% of its SaaS licenses, leaving 46% wasted. For a 30-person staffing agency spending $80,000/year on recruiting software, that math points to roughly $37,000 in annual waste — a significant hit on margins that are already thin from paying contractors weekly while waiting 30-90 days for client invoices.


Why This Happens in Staffing Specifically

Recruiter turnover at agencies is structurally high. Recruiters get poached by clients, they go in-house, they burn out, they start their own shops. A 20-30% annual turnover rate among internal staff is not unusual. That means at an agency with 20 recruiters, four to six people may cycle through in a year — each leaving behind a software tail that takes active effort to clean up.

The second problem is that recruiting software is contract-heavy. LinkedIn Recruiter, ZoomInfo, and most ATS platforms are sold as annual contracts with per-seat pricing. When a recruiter leaves mid-contract, removing their seat does not automatically reduce your bill. You free up the seat to assign to a new hire, but if that new hire hasn't started yet — or if nobody notices the open seat — the license keeps billing at the same rate until renewal.

The third problem is ownership fragmentation. The recruiter who left may have been the account owner for a job board subscription or a sourcing tool they set up themselves. When they leave, the account orphans — no owner, still billing, no one with admin access to cancel it.


The Manual Fix: Four Categories to Audit After Every Departure

Run this within 48 hours of any recruiter's departure. The longer you wait, the more billing cycles pass.

Step 1 — LinkedIn Recruiter (highest value, most nuanced)

LinkedIn Recruiter is the most expensive ghost seat at most staffing agencies and the most commonly missed. The management path is counterintuitive.

To remove a departed recruiter's seat:

Go to your LinkedIn Recruiter homepage → hover over your profile picture → select Manage users in Account Center → open the Users tab → find the departed recruiter → click the three dots (More) to the right of their name → select Manage license → select No license.

Critical: Removing the license does not reduce your invoice. You have freed up the seat for reassignment, but LinkedIn will continue billing you for the same number of contracted seats until you actively contact LinkedIn to reduce your seat count. If you have a new hire starting soon, reassign the seat rather than removing it. If not, contact your LinkedIn account manager or submit a contract change request to reduce the seat count and stop the billing.

Recruiter Lite operates on a separate admin experience from LinkedIn Recruiter Corporate. If your agency uses both tiers, each requires its own seat management — there is no unified admin view across them.

Step 2 — Job boards and sourcing tools

These are the most commonly orphaned subscriptions in staffing because recruiters often set them up individually and become the account owner.

Job boards to check:

  • Indeed — sign in to your employer account → go to the Users page → find the departed recruiter → click the three dots in the Actions column → select Remove
  • ZipRecruiter — individual user deactivation is managed through their support team for paid accounts. Contact them at support@ziprecruiter.com or 855-813-0288 (Mon–Sun, 6am–6pm PST). Have the user's email and your account details ready.
  • Monster and other job boards — log in as the account admin and look for a Users or Team section in Account Settings. If the departed recruiter was the sole account owner, contact the platform's support team directly to request an ownership transfer before deactivating the email.

Sourcing tools to check:

  • Apollo — app.apollo.io → Settings → Users & Teams → deactivate the seat
  • Lusha — Settings → Team Management → remove or reassign the user
  • ZoomInfo — requires contacting your account rep; there is no self-serve seat removal at most contract tiers

For ZoomInfo specifically: if a recruiter was the primary user on the account, their departure is a reason to call your account rep and negotiate a seat reduction at the next opportunity. ZoomInfo contracts are notoriously difficult to reduce mid-term, but surfacing the unused seat early gives you leverage at renewal.

Step 3 — Your ATS

Most ATS platforms (Bullhorn, Crelate, Zoho Recruit, Avionte) are per-seat. Find the departed recruiter in your admin panel and deactivate their account. The path varies by platform but is typically:

Admin or Settings → Users → find by email → Deactivate

Deactivating the user typically frees up the seat for a new hire but does not automatically credit your invoice. Check with your ATS vendor whether the seat count adjusts immediately or at renewal.

Also check: was the departed recruiter the admin or owner of any specific job postings, pipelines, or client accounts in the ATS? Reassign those before deactivating to avoid data orphaning.

Step 4 — Card statement and Google OAuth audit

After the tool-specific steps above, pull 90 days of card statements and filter for any remaining recurring charges tied to the departed recruiter's email or set up during their tenure that you haven't accounted for yet.

Then run the Google OAuth audit: Admin Console → Reporting → Audit and investigation → OAuth log events, filter by the departed employee's email, extend the date range to 90 days. This catches any additional tools they connected via "Sign in with Google" that didn't surface in steps 1-3.


Where This Breaks Down

This process works at one departure at a time, with one person managing it carefully. At a 20-recruiter agency with 25% annual turnover, you're running this process five times a year — across a tool stack that includes LinkedIn, multiple job boards, a sourcing tool, an ATS, and whatever AI tools the recruiter was using personally. That's a significant operations burden on top of actually running the business.

The deeper problem is timing. The optimal window to catch ghost seats is the 48 hours after departure, while offboarding is still happening and details are fresh. But that's also the most chaotic window — you're redistributing reqs, communicating with clients, interviewing backfills. Software auditing falls to the bottom of the list, and by the time anyone thinks about it, two or three billing cycles have already passed.

And for LinkedIn specifically: even when someone does catch the ghost seat, they may not know to contact LinkedIn to reduce the contract seat count — they just remove the user and assume the billing stops. It doesn't.


How Terrier Handles This

Terrier cross-references your Google Workspace directory against your corporate card transactions to surface seats billing for email addresses that no longer appear as active employees. It shows which tools are billing for departed users so you know exactly where to act — without having to manually log into every platform and remember which ones you're even subscribed to.

It reads directory metadata and transaction amounts only. It does not access candidate data, client records, or any information covered by your clients' confidentiality agreements.

terrierops.com — free to scan your first month.


One Thing You Can Do Right Now

Log into your LinkedIn Recruiter admin and open the Users tab. Count the number of active seats. Then count your current recruiters. If those numbers don't match, you have a ghost seat — and it's billing right now. That's the fastest five-minute audit in this entire article, and it catches the highest-value ghost seat at most agencies.


Frequently Asked Questions

Q: What is a ghost seat in a staffing agency?

A ghost seat is a paid software license still active and billing for a recruiter who has left the agency. The tool keeps charging because most recruiting software — LinkedIn Recruiter, ATS platforms, sourcing tools — does not automatically deactivate accounts or reduce invoices when an employee departs. Someone has to manually remove the seat and, in many cases, separately contact the vendor to reduce the contracted seat count.

Q: Does removing a LinkedIn Recruiter user stop the billing?

No — and this is the most common misunderstanding. Removing a user's license in LinkedIn Recruiter frees up the seat for reassignment to a new hire, but it does not reduce your invoice. LinkedIn bills for the number of contracted seats, not the number of active users. To actually reduce your costs, you need to contact LinkedIn to formally lower your seat count, which typically happens at renewal unless you negotiate a mid-term reduction. If you have a new hire coming soon, reassigning the seat is usually the faster and smarter move.

Q: What's the most expensive ghost seat in a typical staffing agency?

LinkedIn Recruiter Corporate seats, ZoomInfo seats, and enterprise ATS licenses are typically the highest per-seat costs. LinkedIn Recruiter Lite runs approximately $170/month per seat; LinkedIn Recruiter Corporate pricing requires a sales conversation but is significantly higher. ZoomInfo pricing varies widely by contract but per-seat costs are substantial. These are the three to audit first after any departure.

Q: What if the recruiter who left was the account owner for a job board or sourcing tool?

This is an account orphan — a subscription with no active owner inside the company. The immediate risk is losing admin access entirely when the email is deactivated. Before deactivating the email, log into each tool using the recruiter's credentials (if you have them) or contact the vendor's support team to request an ownership transfer. Most job board and sourcing tool vendors have a process for this but require some verification. Do not deactivate the email in Google Workspace until you've confirmed ownership transfer on every tool where that email was the account owner.

Q: How often should staffing agencies audit their software licenses?

At minimum, within 48 hours of every recruiter departure — that's the highest-leverage moment. Beyond that, a quarterly review of the card statement against the current headcount will catch anything that slipped through. Staffing agencies with turnover above 20% annually should treat software auditing as a standard part of every offboarding checklist, not a periodic task.

Q: Can I get a refund from LinkedIn for ghost seat billing?

LinkedIn's standard position is that contract terms govern billing regardless of seat usage, and mid-contract refunds are rare. Your best leverage point is renewal: document the ghost seat periods, calculate the cost, and bring that number to the renewal conversation as a reason to reduce the seat count or negotiate a lower per-seat rate. Some account managers will offer a credit on the next contract as a goodwill gesture, particularly for long-term customers. It is worth asking directly.

Q: Is there a faster way to audit all software after a recruiter leaves without checking every platform individually?

The card statement cross-referenced against current headcount gives you the fastest broad view — every recurring SaaS charge in one place. Then the Google OAuth audit surfaces anything connected via "Sign in with Google" that didn't appear on the card. Between those two sources you catch the majority of ghost seats without logging into each platform individually. The platform-specific steps in this guide are for the high-value tools — LinkedIn, ATS, sourcing — where the seat management nuances matter most.


Terrier is a SaaS spend optimization platform for Google Workspace companies. It finds ghost seats, shadow AI, and unused software subscriptions in minutes without accessing candidate data or client records. terrierops.com