Marketing Agencies · Sep 2026 (Updated Oct 2026) · 8 min read
How to Track Agency Client Profitability (Step by Step)
Tag every delivery cost and team hour to a client, cost the hours at a loaded rate, and compare each client's margin to its fee after each month-end close.

To track client profitability at an agency, tag every delivery cost and every team hour to a client, then compare what each client pays you with what it costs to serve. A client's profit is its fee, net of any pass-through media, minus the direct cost of delivery: team time at a loaded hourly cost, freelancers, and tools used only for that client. Review the numbers every month, straight after you close the books, so you can still act on them.
The setup is mostly bookkeeping discipline, not software. This guide walks through it in five steps, with a worked example, and covers what to do once a client turns out to be losing you money.
What one agency found when it looked
A German e-commerce agency of five to seven people came to us tracking only revenue, in spreadsheets. Costs weren't attributed to clients, so nobody could see profit by client.
The agency already had the data it needed. A project manager kept the team's time in a spreadsheet, just not by client. We asked them to log it by client so we could record it in the books, and that change made all the difference. No new software was involved.
Once we tagged delivery costs and time by client, the agency's "best" client turned out to be absorbing about 80% of delivery resources while bringing in about 25% of revenue. The founder knew the client was demanding and had been carrying it on purpose, to balance the roster. What nobody had seen was the size of the subsidy, and it grew as the client asked for more.
With profit by client visible every month, the agency refocused on its most profitable accounts and built its new-client strategy around the work that paid. Setting up the processes, books and dashboards took under two weeks. The agency bookkeeping guide has the full story.
The four numbers to track per client
1. Adjusted gross income (AGI). The fee you keep. If client ad spend or production costs pass through your accounts, take them out first; they are the client's money, not your revenue. See ad spend pass-through accounting for how to record it.
AGI = Client billings − pass-through media and production costs
2. Direct delivery cost. Team hours on the client at each person's loaded hourly cost, plus freelancers and any software or services bought only for that client.
3. Client gross margin. What's left, as a share of the fee.
Client gross margin = (AGI − direct delivery cost) ÷ AGI
4. Effective hourly rate. What the client actually pays per hour your team spends on it. It shows the problem in a way account managers understand.
Effective hourly rate = AGI ÷ total team hours on the client
Overheads such as rent, admin staff and sales stay out of all four. Allocating them to clients is optional and adds argument without changing which clients are weak. Look at gross margin by client first.
Step 1: Separate delivery costs from overheads
Client profitability only works if your chart of accounts splits the cost of doing client work (cost of sales) from the cost of running the agency (operating expenses). Delivery salaries, freelancers on client work and client-specific tools go above the gross profit line. Everything else goes below it.
Many small agencies book all salaries to one payroll account in overheads. If that's you, start here: move delivery staff to a cost-of-sales account, and split people who do both by their time. The agency chart of accounts guide shows where each account sits.
Step 2: Tag every delivery cost to a client
Each delivery cost needs a client label when it's recorded, not at quarter-end.
- Xero: use tracking categories with one option per client. Xero allows two active tracking categories, so keep one for clients and use the other sparingly (for service line or team, say). Xero can also track payroll costs by category.
- QuickBooks Online: use Projects (on the Plus and Advanced plans) and pick the project in the Customer/Project field on every bill and expense. The project profitability report draws on payroll expenses, so time needs to flow through payroll for labor to show up there.
Freelancers are the cost most often left untagged, because their invoices land in a general contractor account. Ask each freelancer to name the client on every invoice. Our guide to agency contractor bookkeeping covers this and the 1099s.
Step 3: Track team time by client
Salaried staff are usually an agency's biggest cost, and time is the only fair way to split them across clients. Start with what you already have. At the German agency, it was the project manager's time spreadsheet with a client column added. It doesn't need to be minute-perfect. Half-hour blocks against a client name are enough, as long as everyone logs every week, including time on internal work. Internal time shows how much capacity is going to no client at all.
If people resist, make the purpose clear: the numbers are for pricing and scoping clients, not for judging individuals.
Step 4: Work out a loaded hourly cost
A person's cost to the agency is more than their salary. Add employer payroll taxes, health insurance, retirement contributions and other benefits. In June 2026, benefits made up 30% of total compensation costs for US private industry, according to the Bureau of Labor Statistics. That's about 43 cents on top of every dollar of wages. Small agencies vary a lot, so use your own payroll records rather than the average.
Then divide by the hours the person actually spends on client work in a year, not by 2,080. Take out holidays, time off, and the internal time from Step 3.
An example, for illustration only: a designer earns $70,000, and employer taxes and benefits add $14,000, for $84,000 in total. After time off and internal work, they spend about 1,400 hours a year on clients. Their loaded cost is $84,000 ÷ 1,400 = $60 an hour.
Step 5: Build the monthly client report
After each month-end close, pull one row per client. An example, for illustration only, with three clients:
| Client | Monthly AGI | Team hours | Delivery cost | Gross margin | Effective rate |
|---|---|---|---|---|---|
| A (SEO and content) | $12,000 | 80 | $4,800 | 60% | $150/hr |
| B (paid media) | $10,000 | 75 | $4,500 | 55% | $133/hr |
| C (creative retainer) | $9,000 | 125 + $1,500 freelancer | $9,000 | 0% | $72/hr |
Team hours are costed at $60 an hour, as in Step 4. Across the agency, gross margin is 41%, which looks acceptable. By client, A and B are carrying C, which covers its delivery cost and nothing else. If A cuts its budget, the agency's profit drops by far more than A's share of revenue suggests.
As a target, many agency operators work to about 50% of AGI on delivery, which means a 50% gross margin per client. That's a rule of thumb, not a standard. Your own history is the better benchmark, and the trend for each client matters more than any single month.
To try this with your own numbers, use the Agency Client Profitability & Scope Creep Auditor.
Where scope creep shows up
Client C's problem is usually not the fee but the hours. Out-of-scope work is rarely one big request. It's extra banner sizes, unplanned calls and one more round of revisions, each absorbed to keep the client happy.
It's common. In Ignition's 2025 survey of 273 US agency managers and executives, 78% said they rarely or only sometimes charge for out-of-scope work, and 57% said they lose $1,000 to $5,000 a month on unbilled projects and tasks.
Time tracking by client is what makes scope creep visible. Three habits keep it in check:
- Write the scope as deliverables and an hours budget, not just a fee.
- Check hours against budget mid-month, not after the month has closed.
- Send a change order for out-of-scope requests before doing the work, or record the hours as a deliberate investment in that client.
What to do with an unprofitable client
A weak margin is information, not an automatic exit. Work through the options in order:
- Reprice. Show the client what the work actually takes and propose a fee that fits.
- Rescope. Keep the fee and cut deliverables or revision rounds back to what it pays for.
- Fix the process. Sometimes the hours come from your side: unclear briefs, too many people on calls, work redone because the first version missed.
- Exit. If none of that works, plan the handover and use the freed capacity for clients that pay for it.
Carrying a loss-making client on purpose can make sense for a while, for a strong case study or an entry into a new sector. Set a time limit and track the cost. The German agency's subsidy started as a choice and grew until the client was taking most of the team.
Common mistakes
- Counting client ad spend as revenue. It inflates the fee, so a media-heavy client looks far more profitable than it is.
- Leaving freelancers in overheads. The client that uses the most freelancers looks the best.
- Using salary instead of loaded cost. On the BLS average, that leaves out 30% of what each person costs, so every client's margin looks better than it is.
- Reviewing quarterly. By then three months of hours have gone, and the moment to raise a change order has passed.
SlickBooks sets this up as part of managed bookkeeping on Xero or QuickBooks Online: delivery costs separated from overheads, costs tagged by client, and profit by client reported after a 5-day close each month. The marketing agencies service page explains who it is for and what it costs.
See Profit by Client Every Month
Explore Related Agency Financial Guides
- Bookkeeping for Marketing Agencies: A Founder's Guide: the full agency finance picture, including client-level costing and the 5-day close.
- Agency Chart of Accounts: How Founders Structure Books for Real Profit Visibility: where cost-of-delivery and overhead accounts sit.
- Agency 1099 Contractor Bookkeeping: How Founders Control Freelancer Costs & Avoid IRS Penalties: freelancer costs by client and 1099-NEC filing.
- Agency Ad Spend Pass-Through: Accounting and Liability: keeping client media money out of revenue.
- Revenue Recognition for Marketing Agencies (ASC 606): retainers, projects and deferred revenue.
- Case Study: How a Creative Agency Got Exit-Ready for Its Acquisition: how a creative agency prepared its books for buyer due diligence.

About the Author
As a fractional CFO and founder of SlickBooks, I build free accounting software and AI forecasting tools to help small businesses escape messy spreadsheets and slow reporting. I'm a CFA charterholder and have worked as a finance controller, bookkeeper and fractional CFO since 2012, across automotive, health tech, climate tech, marketing, fintech, e-commerce, SaaS and ed tech, including taxation at a $40 billion automotive company. More about me
More from the blog
Best Accounting Software for Startups (2026): Honest Picks
Compare QuickBooks Online, Xero, SlickBooks, Wave, and FreshBooks for startups. Honest pricing, user limits, accountant access, and stage-by-stage picks.
Read articleHow Much Does Bookkeeping Cost? Startup Prices for 2026
SlickBooks managed bookkeeping is $999/month for companies under $1M revenue. Compare it with an in-house hire, hourly help and other services.
Read articleThe Emergency Catch-Up Bookkeeping Playbook: How to Reconcile 12 Months of Backlog in 5 Days
The venture-grade catch-up bookkeeping playbook for startup CEOs and COOs facing urgent due diligence, tax deadlines, or audit freezes. Learn the 5-day triage protocol, pricing benchmarks, and balance sheet reconstruction SOP.
Read article