Every agency owner has read the same Slack message: "Quick one — can you also look at our Google Business Profile? Shouldn't take long." It's 9:40pm. The retainer covers technical SEO and content. GBP isn't in it. And the word "quick" is doing an enormous amount of work.
Handling out-of-scope requests well is one of the highest-leverage skills in agency operations, because the cost is invisible until it isn't. Nobody notices the forty minutes here and the ninety minutes there — they notice the quarter where a 40-hour retainer consumed 58 hours and effective rate dropped from $150/hr to $103/hr.
The short answer: never say no, say "yes, and here's the trade"
A flat refusal feels like a wall. Clients don't hire agencies to be told no; they hire them to get outcomes. The move that preserves both margin and relationship is to convert every out-of-scope request into a choice:
- Add it — here's the change order, here's the price, here's the new timeline.
- Swap it — we can do this instead of the scheduled work, and here's what slips.
- Defer it — it goes on the backlog and we scope it properly in next quarter's planning.
You've said no to doing it for free. You've said yes to every other version. Clients rarely argue with a menu.
First, know what's actually in scope
You cannot defend a boundary you can't locate. Most agencies lose these conversations because their own scope document is vague — "ongoing SEO optimization" is not a scope, it's a wish. When a client asks for something and you have to think for thirty seconds about whether it's covered, you've already lost the negotiating position.
A usable scope has three components per deliverable: what, how many, and how often. "Up to 4 long-form articles per month, 1,500–2,000 words, two rounds of revisions each." Now "can you make it 2,800 words?" has an obvious, unemotional answer.
Write the exclusions too. A short "not included in this engagement" list — paid media management, email marketing, GBP, CRO testing, dev implementation, crisis comms — prevents 60% of the awkward conversations before they happen. If you need a foundation for this, our practical guide to client boundary setting goes deeper on structuring the agreement itself.
Sort requests into four buckets
- In scope — just do it, no conversation needed.
- Gray zone — arguably adjacent. Decide once, document the decision, apply it consistently.
- Out of scope, small — under ~15–20 minutes, no specialist required. Absorb it, but name it.
- Out of scope, real — change order territory.
The "name it" part in bucket three matters enormously. Doing the favor silently trains the client that it was always included. Doing it while saying "that one's outside the retainer but it's fast, so I've handled it — flagging so you know for next time" costs you nothing and buys you the precedent.
The four-part script that works on almost everything
Every good "no" has the same skeleton. Acknowledge, anchor, offer, ask.
Acknowledge the request as reasonable. "Good call — GBP is genuinely underleveraged for you right now."
Anchor to the agreement, not to your feelings. "That sits outside our current scope, which is technical SEO and content production."
Offer two or three paths. "Three options: I can quote it as a one-off (roughly 6 hours, $900), we can swap it for one of this month's articles, or we can build it into the Q3 scope when we replan in six weeks."
Ask for a decision. "Which do you want to do?"
That last line is the one people skip, and it's the one that closes the loop. Without it, the message reads as a complaint. With it, it reads as account management.
Scripts for the situations you actually face
"Quick question" that isn't quick
"Happy to dig into this — it's a bit bigger than it looks (probably 3–4 hours once we pull the data). Want me to put it in as an add-on for this month, or park it for the next planning cycle?"
Naming the hours is the whole trick. Clients ask for "quick" things because they genuinely don't know what's underneath. Most people withdraw the request politely once they see it's half a day.
The fifth revision round
"We've got two rounds built in and we're on round four, so we're well past it. I'd rather fix the brief than keep iterating — can we get 20 minutes with whoever's driving the feedback? If we need to keep going after that, additional rounds run at $120/hr."
Dev work that isn't yours
Technical SEO audits generate this constantly: you deliver the fix list, the client's dev team is backed up, and suddenly you're being asked to implement. "We scope the diagnosis and specs; implementation sits with your dev team. If they're capacity-constrained, we can quote implementation separately — we'd need staging access and about two weeks." Running these as structured technical SEO sprints with explicit hand-off points makes the boundary visible on the timeline rather than something you have to argue for.
The new stakeholder with new ideas
A new CMO arrives and assumes you do paid social. "Great to meet you — worth me sending over the current SOW so we're aligned on what's in the engagement? Happy to talk about expanding it once you've had a look."
Send the document. Let the contract be the bad guy.
"Our last agency included this"
"Possible — different agencies package things differently. Our pricing assumes the scope in the SOW. If that work matters to you, let's look at moving to the next retainer tier rather than stretching this one thin."
The Friday 5pm emergency
Distinguish real emergencies (site down, indexing catastrophe, robots.txt disaster) from urgency theater. For the real ones: do it, then follow up Monday with "that was outside scope and outside hours — no charge this time, but let's define what counts as an emergency and what the after-hours rate is, so we're both clear."
You need evidence, not vibes
The single biggest reason agencies tolerate scope creep is that they can't quantify it. "It feels like we're doing a lot of extra work for them" is not a conversation you can win. "We logged 11.5 hours of unscoped work for you in Q2 — here's the breakdown by request" is.
Track time against scope categories, not just against clients. Tag work as scoped, gray zone, or out of scope at the task level. After one quarter you'll have a number, and the number changes the conversation from emotional to operational. This is one of the reasons we built time tracking into PeakKR at the project-phase level rather than as a separate tool — if logging effort against scope takes more than a click, nobody does it, and you're back to vibes.
The same data tells you which accounts to renegotiate and which to let go. A client at 140% of scoped hours isn't a difficult client, they're an underpriced one — and chronic underpricing across the book is exactly how agencies end up in the feast-or-famine cash flow cycle.
Prevent 80% of these requests structurally
Scripts handle the request in front of you. Systems reduce how many arrive.
- One intake channel. Requests that arrive in Slack DMs, email threads, and hallway conversations can't be governed. Route everything through a single request form or board so each ask gets classified before anyone starts work.
- Visible scope in the workspace. If

Nick Quirk

