There's a belief in agency life that your biggest client is your best client. They pay the most, they take up the most meetings, and their logo is on the homepage. Surely they're carrying the business.
Sometimes they are. Sometimes they're the friend who orders the lobster and then suggests splitting the bill evenly.
This article shows how agency accounting measures profit by client, step by step, with an example where the answer may surprise you. You'll need your books, your time tracking, and about an hour.
Why agency profitability hides at the client level
Most agency P&Ls show one revenue line, one big payroll line and a long list of overhead. That tells you whether the agency made money. It doesn't tell you which clients made it.
The problem is that the biggest cost in an agency is people, and people's time is spread across clients in ways the P&L doesn't record. Add pass-through costs (media buys, printing, or software you bill back at cost) and the top-line revenue number gets even less reliable as a guide.
Agency profitability lives in three numbers per client: what they pay you for your work, what you spend outside the agency to serve them, and how much of your team's time they consume.
Step one: separate pass-through costs
Accounting for marketing agencies has one quirk that throws off everything else: media spend. If you bill a client $20,000 and $8,000 of that goes straight to Meta for ads, your agency didn't earn $20,000. It earned $12,000 and moved $8,000 around on the client's behalf.
Many agencies track "net revenue" (sometimes called agency gross income) as revenue minus pass-through costs. Whether pass-through amounts appear gross or net on your financial statements depends on your contracts and is worth confirming with your CPA. For internal client profitability, use net revenue. Otherwise, your media-heavy clients will always look like giants.
Step two: put a price on team time
Next, figure out what an hour of your team's time actually costs. A loaded hourly cost includes salary plus payroll taxes and benefits, divided by realistic working hours.
Say a designer earns $75,000, and payroll taxes and benefits add $15,000. That's $90,000 a year. If they have about 1,500 hours available for client work after holidays, PTO, meetings and admin, their loaded cost is $60 an hour.
You can calculate this per person, or use a blended rate for the team. A blended rate is simpler. Per-person rates are more accurate when senior and junior people work very different client mixes.
Then pull hours by client from your time tracking. (If nobody tracks time, start now. Even rough weekly estimates beat none, the same way a rough budget beats checking your bank balance and hoping.)
Step three: calculate client contribution margin
Here's a hypothetical month for a 10-person agency using a $60 blended rate:
| Client A | Client B | Client C | |
|---|---|---|---|
| Billed | $20,000 | $9,000 | $6,000 |
| Pass-through media | ($8,000) | $0 | $0 |
| Net revenue | $12,000 | $9,000 | $6,000 |
| Freelancers | ($3,000) | ($500) | $0 |
| Team hours | 120 | 70 | 30 |
| Team cost at $60/hr | ($7,200) | ($4,200) | ($1,800) |
| Contribution | $1,800 | $4,300 | $4,200 |
| Margin on net revenue | 15% | 48% | 70% |
Client A, the logo on the homepage, produced the least contribution. Client C, the small retainer nobody talks about at the all-hands, produced more than twice as much per dollar.
That doesn't mean firing Client A. It means asking better questions. Is the scope creeping? Is the retainer priced for the work being done now, or for the work promised two years ago? Are senior people doing junior tasks?
Setting up your books to answer this every month
You don't want to rebuild that table by hand every month. Set up the books so the numbers fall out naturally:
- Create separate income accounts for fees and for pass-through billings, and a matching expense account for pass-through costs.
- Tag every invoice and every direct cost (freelancers, media, client-specific software) to a client. In QuickBooks, that usually means using customers and projects, or classes.
- Export hours by client from your time tracking tool after each month closes.
- Apply your loaded rate and build the contribution report.
- Review it with the person who owns each account, not just the owner.
If you're deciding between classes and other tagging tools, our guide to classes vs locations in QuickBooks explains which to use for what.
Retainers add one more wrinkle: if a client prepays for work you'll do next month, the revenue belongs in next month too. Our article on accounting for consultants, retainers and deferred revenue covers how to record it so client profit isn't overstated in the month the cash arrives.
What to do with the results
Client profitability is useful only if it changes something. A few common moves:
- Reprice. If a client's margin is well below the others, the retainer probably needs to go up or the scope needs to come down. Our piece on pricing for profit with your own numbers walks through how to have that conversation calmly.
- Rescope. Write down what's included. Unwritten scope expands like a gas filling a room.
- Rebalance staffing. If senior hours are going to low-margin work, shift the mix.
- Stop guessing on new proposals. Use actual hours from similar clients to price the next one.
Look at the report quarterly as well as monthly. One heavy month (a website launch, a campaign push) can make a good client look bad for a few weeks.
Questions owners ask
What is a good profit margin for a marketing agency client?
It varies with your model, team costs and services, so compare clients against each other and against your agency's overall margin rather than an outside benchmark. Clients well below your average deserve a pricing or scope review.
Should agencies count media spend as revenue?
For internal profitability, use revenue net of pass-through media so clients with large ad budgets don't look more profitable than they are. How it's presented on your formal financial statements depends on your contracts, so confirm that with your CPA.
Do I need time tracking to measure profit by client?
Not perfectly detailed time tracking, but you need some estimate of hours by client. Without it, you can measure revenue and direct costs by client but not the biggest cost of all, which is your team.
Want to know which clients are carrying the agency?
Our agency accounting service sets up client-level tracking, closes the books each month, and builds the profitability view so you're not doing it at midnight. Request a consultation to talk it through, or try the pricing estimator for a planning range.