How to Raise Your Retainer Price Without Losing the Client
Most consultants and agencies let a retainer sit at its launch price for years, absorbing scope creep and rising costs instead of raising the number. I raise mine on a fixed annual cadence, tied to a written scope review rather than a vague 'costs went up' message, with 60 days' notice and no surprise invoice. The clients who leave over a fair, documented increase were already the wrong fit — the ones who stay do so because the increase comes with proof, not an apology.
Every Wednesday. 28,400+ operators. Zero fluff.
✓ Check your inbox — click the confirmation link to complete sign-up.
✓ You're subscribed!
✓ You're already on the list.
[Operator’s read] I run several retainers myself — GEO retainers priced as 15–50%+ of the original audit fee, AI-agent maintenance priced at 3–12% of the build fee — and every one of those numbers is a starting price, not a permanent one. I review and raise them on a fixed schedule. Most consultants don’t, and it’s the single most expensive pricing mistake I see, more expensive than underquoting the first engagement, because it compounds every month it goes uncorrected.
Table of contents
Open Table of contents
Why the price freezes in the first place
Nobody decides to underprice a retainer forever. It happens by default, for three reasons:
- The fear is specific, the cost is abstract. Losing a named client over a price email feels real and immediate. The money left on the table every month for two years is invisible unless you add it up, so it never forces the conversation the way a churn risk does.
- Scope grows and the price doesn’t follow it. A retainer scoped for “monthly reporting and quarterly fixes” quietly turns into “also handle the new integration, also join the Tuesday call, also fix the thing that broke Friday.” None of those individually feels big enough to re-quote over.
- There’s no scheduled trigger. Without a calendar date that forces the review, “raise prices” stays a someday task competing with actual client work, and actual client work always wins that fight.
The fix for all three is the same: make the review automatic instead of optional, and tie the number to something the client can verify instead of something you have to justify from feeling.
Put the increase on a calendar, not a mood
I raise retainer prices once a year, on the contract anniversary, full stop. Not “when I feel confident enough to ask,” not “when a client complains about workload so I quietly accept I’m underpaid.” A fixed annual date does two things a discretionary one doesn’t:
- It removes the awkward decision of when — the date decides, you don’t.
- It sets the client’s expectation from day one. A contract that says “pricing is reviewed annually” makes year two’s increase the thing everyone already agreed to, not news.
Write the review date into the engagement contract at signing, next to the ownership and cancellation terms covered in the agent-pricing contract checklist. A client who sees it in writing on day one has no grounds to call it a surprise on day 366.
Anchor the number to a scope review, not a cost story
“Costs have gone up” is true and it’s also the weakest possible justification, because the client can’t verify it and it invites a negotiation about your expenses instead of their value. The anchor that holds up is a written scope review: a one-page comparison of what the retainer covered at signing versus what it actually covers now.
Build it the same way I build a GEO audit findings document — as a list the client can check against reality, not a paragraph they have to take on faith:
| At signing | Today | |
|---|---|---|
| Monthly deliverables | 1 report, 2 fixes | 1 report, 2 fixes, 1 new integration, weekly Slack support |
| Response time commitment | 48 hours | Same-day (never formally re-quoted) |
| Tools/channels covered | 1 site | 1 site + 1 new location page set |
A table like that does the selling for you. The client isn’t being asked to pay more for the same thing — they’re being shown, in their own words, that the retainer already grew and the invoice never caught up. That’s a fundamentally easier conversation than asking for more money because you want more money.
If the scope genuinely hasn’t grown and you’re raising the price purely because the original number was too low, say that directly instead of manufacturing a scope story: “I under-priced this when we started working together, and I’m correcting it.” Clients respect a stated correction far more than a padded one — it reads as honest, and it’s one sentence instead of a defense.
Give notice, not an invoice
The increase should never arrive as a changed number on the next bill. I give 60 days’ written notice before any increase takes effect, by email, with the new number, the effective date, and the scope-review table attached. Sixty days gives the client enough runway to budget for it, renegotiate scope down if the new price doesn’t work, or exit cleanly — all three are fine outcomes, and all three beat a client discovering a changed charge on a card statement and feeling ambushed into a conversation they didn’t choose the timing of.
The email itself is short. It doesn’t apologize, and it doesn’t over-explain:
Subject: [Account] retainer update, effective [date]
Hi [name],
Our annual pricing review lands this month. Attached is a short
comparison of what's in scope now versus what we started with in
[year] — the short version is [scope grew in two specific ways / I
priced this below market at signing].
Starting [date, 60+ days out], the retainer moves from $[old] to
$[new]/month. Everything else about the engagement stays the same.
Happy to walk through the attached table on our next call, or sooner
if useful. If the new number doesn't work on your end, let's talk
about adjusting scope to fit a number that does.
[Name]That last line matters more than it looks. Offering to trade scope for price, instead of holding the line at “pay more or leave,” is what turns a chunk of “this will churn them” into a renegotiation instead of a cancellation.
How much to raise it
There’s no universal number, but three reference points keep the increase defensible:
- Below-market correction: if a scope review shows you’re charging less than the going rate for the same deliverable, close most of the gap in one move rather than creeping toward it over three years — a slow correction just extends the period where you’re working under-priced.
- Scope growth: price the delta the same way you’d price it if the client asked for it as new work today, not at a discount because it crept in gradually.
- Standing-still increase: absent either of the above, 5–10% a year is a defensible floor that keeps a fairly-priced retainer from quietly becoming underpriced through cost drift alone.
Pick whichever of the three actually applies — most retainers that have gone two or more years without a review qualify for the first one, not the third.
What to do when a client pushes back
“We don’t have budget for this right now.” This is the moment to offer the scope trade from the email template, not a discount. Trim the deliverable list until it matches what they can pay for, keep the new rate on the smaller scope, and revisit the fuller scope at the next review. Discounting the same scope instead just recreates the underpricing problem you’re trying to fix.
“Can we lock in the old price for another year?” Only if you get something for it — a longer minimum commitment, upfront quarterly billing instead of monthly, or a case study and referral in exchange. An unconditional freeze just moves the same conversation, and the same awkwardness, to next year.
“This feels like a lot all at once.” That reaction is usually a sign the review happened too late, not that the number is wrong. It’s the strongest argument for the annual cadence: a 10% review every year reads as routine; a 60% catch-up after four flat years reads as an ambush, even when the math behind it is sound.
The clients who leave
Some will. A client who churns specifically because a fair, documented, well-notified price increase doesn’t fit their budget was very likely already an under-margin account — the increase just made that visible sooner instead of later. Losing that account at the new price is a better outcome than keeping it at the old one; you free the capacity for a client who was never going to be profitable at the rate you were charging.
The tools I use to run this
Notion — the scope-review table and the review-date tracker live here, same place as the scope documents from the audit-pricing side of this.
Airtable — one row per client with the anniversary date, current rate, and last-reviewed date, so the trigger to send the notice is a filtered view, not something I have to remember.
Claude — drafts the first pass of the scope-comparison table from my notes and the original proposal, which I edit down before it goes to the client.
FAQ
Should I ever skip the annual review?
Only in a client’s first year, when there’s been no full cycle of actual scope to compare against. Start the review clock at the one-year mark, not at signing, and hold the date after that.
What if raising the price would put me above what competitors charge?
Check whether that’s actually true with current numbers, not an assumption from when you first set the rate — most underpriced retainers stay underpriced because nobody re-checks the comparison, not because the market moved. If you are genuinely priced above competitors afterward, that needs to be backed by a real scope or outcome difference you can name in the notice email, not left implicit.
Does this apply to one-off project work too, or just retainers?
It’s retainer-specific. A one-off, like a scoping audit or a single agent build, gets re-quoted fresh every time regardless of past pricing, because there’s no standing contract anchoring the client to an old number in the first place.
Next steps: the scope-review method here assumes you’ve already priced the retainer using a defined structure — see GEO audit and retainer pricing and AI-agent build and maintenance pricing for the two I use most. The cowork program is where I work through pricing and scope problems like this one with other operators in real time. If you’d rather have a second pair of eyes on a specific renewal, book a 30-minute session.
Every Wednesday. 28,400+ operators. Zero fluff.
✓ Check your inbox — click the confirmation link to complete sign-up.
✓ You're subscribed!
✓ You're already on the list.
Related posts
AI Agents for SaaS: What to Automate First
The tier-and-ROI framework I use for AI agent decisions, applied to the SaaS workflows actually worth automating first — and the ones I'd leave to a human.
AI AgentsClaude Agents vs. Zapier: What I Actually Use and When
Zapier moves data between apps on a trigger. A Claude agent makes judgment calls on messy input. Here's the rule I use to pick between them.
AI AgentsBest AI Agents for Small Business: What I'd Buy in 2026
A practitioner's buyer's guide to AI agents for small business — the three real tiers (off-the-shelf, DIY, custom), a 5-point rubric for evaluating any tool
Get the AI playbook in your inbox
Every Wednesday. 28,400+ operators. Zero fluff.
Check your inbox.
We sent you a confirmation email — click the link inside to complete your subscription. Check spam if you don't see it within a minute.
You're subscribed.
Welcome — the next edition lands in your inbox soon.
You're already on the list — look for it every Wednesday.