Revenue is easy to see. Profitability by client is harder — and most agency owners are flying blind on it.
It's one of the most common financial problems inside growing agencies: a client that looks fine on paper, pays on time, and has been around for years — that is actually costing the business money once you account for what it really takes to service them.
Here's how to think about it, and what to look for.
Why client-level profitability is hard to see
Your P&L shows total revenue and total expenses. It doesn't automatically break down what each client costs to service. That requires either a project management system with time tracking, a bookkeeping setup specifically built to allocate costs by client, or both.
Most agencies have neither set up correctly. So the P&L looks fine — revenue is up, expenses seem in line — while one or two clients quietly drag down margins for the rest.
The fully loaded cost problem
The mistake most owners make is comparing a client's monthly retainer to their direct costs — the contractor hours or the ad spend billed back.
That's not the full picture.
The fully loaded cost of a client includes: the contractor or employee time to do the work, the time to manage the client relationship, the software and tools used specifically for that account, any ad spend that flows through your agency, and a proportional share of your overhead.
When you add it all up, a $5,000/month retainer that looked profitable at first glance sometimes comes in at $4,800 — or $5,400 — in fully loaded costs.
The warning signs to look for
Even without a full cost allocation system, there are signals worth paying attention to.
The client that always has revision requests, scope questions, or edge cases that pull your team off other work. The retainer that was priced 18 months ago and hasn't been reviewed since, while your contractor rates have gone up. The client where you always feel behind — because the actual hours are consistently higher than what the retainer accounts for.
These aren't just operational headaches. They're financial signals.
How to actually calculate it
The most practical starting point for most agencies is a simple monthly exercise:
For each client, estimate total hours spent — by everyone on the account, including yourself. Apply a blended hourly cost to those hours. Add any direct costs like ad spend, tools, or contractor invoices specific to that account.
Compare that number to what the client pays you. The gap is your margin.
Do this for every client, rank them, and look at the bottom of the list. What you find there is usually uncomfortable — and almost always actionable.
What to do when a client isn't profitable
You have three options: reprice, restructure, or move on.
Repricing is the right first move in most cases. If the client relationship is solid and the work is there, a rate conversation based on honest scope is usually better received than owners expect. Most clients would rather pay more than lose a team they trust.
Restructuring means tightening the scope, reducing revision cycles, or shifting part of the work to a lower-cost resource. This works when the relationship is good but the delivery model has gotten sloppy.
Moving on is the right answer when neither of the above is possible. A client that costs more than they pay is a client that is funding your own losses. The revenue feels real. The profitability isn't.
The underlying point
You cannot make good decisions about your client roster, your pricing, or your team without knowing what each client actually costs to service. That requires clean books, correctly structured to allocate costs — not just record them.
Most agencies don't have that. But it's not complicated to build. It just requires setting up the right financial system and actually looking at the numbers on a regular basis.