Last quarter, two of my retainers landed at 19% margin. Same scope on paper. Same hourly rate. Same team. One client ate 14 hours of "quick favors" we never logged; the other ate 3. The delta wasn't the work — it was the first week.
That's the moment the math finally clicked for me: margin isn't a pricing problem. It's a documentation problem.
Most agency owners I talk to are stuck somewhere in the 18–22% retainer margin band and convinced the fix is a rate hike. So they raise prices, lose two clients, win one at the new rate, and end up roughly where they started — except now their pipeline is thinner and they're more anxious about every proposal. The advice on r/agency is full of this loop.
The uncomfortable part: the rate was never the problem. The problem was that nothing about what's included was written down anywhere the client could read it back to themselves at 4pm on a Tuesday when they wanted "just one small thing."
The scenario every agency owner recognizes
A client emails on Thursday: "Hey, while you're in there, can you also update the footer copy on the about page and add a tracking pixel? Should be quick."
You glance at the retainer doc. It says "monthly website maintenance." Does that cover copy edits? Probably. Pixels? Sort of? You don't want to be the agency that nickel-and-dimes, so you say yes. Twenty minutes turns into ninety once you account for QA, the staging push, and the Slack back-and-forth about which pixel.
Multiply that by four clients and twelve weeks. There's your missing margin.
The client isn't being unreasonable. They're operating off a vague contract and a friendly relationship. You set the norm in week one that "is this covered?" gets answered with a yes. Every week after that, you're paying interest on that decision.
What to actually document in the first week
Onboarding isn't a welcome packet and a kickoff call. It's the only window where you get to set the price of every future ask without it feeling like a renegotiation. Use it.
Here's what goes into a reference doc the client signs before work starts — and that you both reread when something gets weird:
A specific in-scope list, not a category. "Website maintenance" is a category. "Up to 4 content updates per month, 1 plugin update cycle, 2 hours of analytics review" is a scope. The first is negotiable forever. The second is a contract.
An explicit out-of-scope list. This is the one most agencies skip because it feels rude. It isn't. "Net-new pages, custom integrations, video editing, and copywriting are not included and are quoted separately at our standard project rate" is the single most margin-protective sentence you can write. It turns "is this covered?" into "here's the rate for that."
A response-time norm. "We respond to Slack within one business day. For urgent issues, use the shared inbox." If you don't set this, you've implicitly promised same-hour replies, which is the most expensive promise in agency work.
A change-request path. When something out-of-scope comes up, what literally happens? A form? A Loom? An email to a specific address that auto-generates a quote? Pick one. The point isn't the tool — it's that the path exists before you need it, so saying "let me send you a quick estimate for that" feels procedural instead of confrontational.
A 30-day check-in on the doc itself. Built-in. On the calendar. This is where you adjust scope based on what actually happened, not based on whoever pushed hardest. It also gives you cover to bring up the 14 hours of "quick favors" while they're still fresh.
Why this changes the math
Once the reference doc exists, every "is this covered?" conversation takes 90 seconds instead of 20 minutes of internal hand-wringing. You're not negotiating — you're pointing at a shared artifact. The client doesn't feel nickel-and-dimed because they signed the thing. You don't feel resentful because the line is visible.
This is the part that compounds. The agencies running 35%+ retainer margins aren't billing more per hour. They're absorbing fewer unbilled requests per week, because their onboarding made the line so clear that nobody crosses it casually.
The takeaway
If your retainers are bleeding margin, don't raise rates yet. Audit your onboarding. If a new client couldn't tell you, on day 30, what's in scope and what isn't — that's not a client problem. That's a documentation gap, and it's costing you somewhere between 8 and 15 points of margin per account.
Fix the doc before you fix the price.
We put together a free Agency Onboarding Checklist that walks through exactly what to capture in week one — scope, norms, change-request path, the 30-day check-in. Grab it at agencyonboardingos.com/checklist.
If you want the full system — the reference-doc templates, the kickoff agenda, the out-of-scope language we tested — the Agency Onboarding OS bundle (€49) is on the same site.
Top comments (0)