The retainer is the part you negotiate. The contract is the part you sign without reading. That gap is where most of the money goes.
We see it every week in audits of firms leaving a previous agency. The quoted number was $3,500 a month. The actual annual spend, once you add up everything the contract allowed, was closer to $58,000. The difference wasn't fraud. It was line items. Each one was disclosed somewhere, in a schedule or an appendix or a sentence on page nine, and each one was written to be skimmed past.
Here are the seven that show up most often, what each one costs over a year, and the one question that drags each into the light before you sign.
1. The setup fee that wasn't in the monthly quote
You're quoted a monthly number. You budget around it. Then the first invoice arrives with a one-time "onboarding," "discovery," or "strategy setup" charge of $1,500 to $5,000 that nobody mentioned on the sales call. Sometimes it's framed as a build cost. Sometimes it's pure margin dressed up as process. Either way, it lands in month one, when you're least likely to push back because you've already committed.
A setup fee isn't automatically wrong. Building a site costs money, and we charge a one-time build ourselves. The problem is the ones that aren't disclosed up front, or that get charged on top of an ongoing retainer for work that the retainer should already cover.
The question: "What's the total I'll be invoiced in month one, including any one-time charges?" Get the number in writing before you sign, not after.
2. Content "included," everything past it billed à la carte
The contract says two articles a month. Fine. What it doesn't say loudly is the rate for article three. Overage content gets billed à la carte, often at $0.50 to $1.50 a word, which is two to three times what the same writer costs inside the retainer. A single 1,500-word practice-area page you asked for outside the monthly allotment can run $2,000.
This one compounds quietly because content is the thing firms always want more of. You ask for a landing page before a seasonal push. You ask for a quick post about a new statute. Each request feels small. The à la carte rate makes the year's total anything but.
The question: "What's the per-word rate for anything beyond what's included, and is it the same rate you use to cost the included work?" If the overage rate is higher than the implied internal rate, you're being marked up on your own enthusiasm.
3. A license to use the site, not ownership of it
This is the expensive one, and it's almost never on the first page. Many agencies build on a proprietary platform or a locked theme, and the contract grants you a license to use the site while you're paying. Stop paying and the license ends. You don't own the build. You can't export it. The day you leave, the site goes dark or reverts to a template, and you start over from nothing. If you're weighing a specific national agency, our head-to-head comparisons go through how each one handles ownership and contracts.
The annual "cost" here is hard to see until you try to leave, at which point it's the entire price of a new website plus the lost rankings during the rebuild. We wrote a full piece on how to check this before it traps you: who owns your law firm website. Read it before you renew with anyone.
The question: "If I leave, do I keep the code, the content, and the domain, with nothing owed?" The answer should be an immediate yes. Any hesitation is the line item.
4. The auto-renew and the cancellation penalty
The contract is twelve months. You knew that. What you may not have clocked is the auto-renewal clause that rolls you into another twelve unless you cancel in a 30 to 90 day window before the anniversary, plus the early-termination fee if you leave mid-term. Miss the notice window by a week and you owe another year. Leave in month seven of a bad engagement and you owe the balance.
Confident agencies don't need this. The work earns the renewal. Aggressive lock-ins are a hedge against work that won't. Our retainers cancel after month three for exactly this reason, and we wrote about why that math works in why we charge below median and turn down work.
The question: "What's the notice period to cancel, and is there any fee to leave before the term ends?" Then put the cancellation date in your calendar the day you sign.
5. The management fee stacked on your ad spend
If the engagement includes paid search or LSAs, read the ad-spend terms twice. A common structure is a percentage management fee, often 15% to 20%, charged on top of the spend itself. That part is usually disclosed. The part that sometimes isn't: the agency books the media through its own account and pockets the difference between what the platform charges and what it bills you. You're paying a markup you can't see because you never see the platform invoice.
On a $5,000 monthly ad budget, a 20% management fee is $1,000 a month, $12,000 a year, separate from the retainer. Add an undisclosed media markup and the real cost of "we'll run your ads" climbs past what a transparent shop would charge to run the same campaign.
The question: "Do I get direct access to the ad account, and will I see the platform's actual spend, not just your report of it?" If the account lives behind the agency and you only get a summary, you can't verify what you're paying for.
6. Hosting and maintenance you can't leave
Some contracts bundle mandatory hosting at a marked-up rate, $50 to $300 a month for hosting that costs the agency a fraction of that. The markup is annoying. The lock-in is worse. When hosting, the build, and the domain all sit inside the agency's accounts, leaving doesn't mean changing a setting. It means rebuilding and migrating, which is precisely the friction the structure was designed to create.
A firm we audited this spring was paying $200 a month for "premium managed hosting" on a five-page site that would run comfortably on a $20 plan. The $180 monthly difference wasn't the real cost. The real cost was that the site, the email, and the DNS were so tangled in the agency's systems that quoting a clean exit took a developer most of a day.
The question: "Can I host this anywhere I want, and is the domain registered in an account I control?" Both should be yes, with no penalty for moving.
7. The "platform" or reporting fee
The last one is the most modern. A monthly charge, often $99 to $500, for access to a proprietary dashboard, a "marketing platform," or a custom reporting portal. Sometimes it's bundled into the retainer and surfaces only if you ask what you'd save by dropping it. The dashboard almost always re-skins data that already lives, for free, in Google Search Console, GA4, and your CRM. You're renting a prettier window onto numbers you already own.
Worse, the proprietary dashboard is frequently where bad performance goes to hide. Real metrics are awkward when they're flat. A custom portal that controls which numbers you see, and how, is a tool for managing the relationship, not measuring the work. The same red flag shows up in our breakdown of law firm SEO pricing in 2026.
The question: "Can I see the raw Search Console and analytics data directly, without going through your dashboard?" If the answer routes you back to the portal, the portal is the product.
How to read the contract in fifteen minutes
You don't need a lawyer to catch most of this, though having one read it never hurts. You need to read three sections that most people skip: the fee schedule or pricing appendix, the term and termination clause, and the intellectual property or ownership clause. Those three pages hold six of the seven items above.
Then ask the seven questions, in writing, before you sign. A good agency answers all seven in one short email without flinching, because none of the answers embarrass it. An agency that needs a call to "walk you through" the answers is an agency whose answers don't survive being written down.
The cleanest version of this is a contract that doesn't have anywhere to hide a buried cost. Pricing posted on the page, the same numbers for every firm. One build cost, one monthly number, both visible before you ever talk to anyone. Cancellation after month three. The domain in your registrar, the code yours to export, nothing owed when you leave. That's not a generous offer. It's just a contract written to be read instead of skimmed, and you should expect it from anyone asking for your firm's money. See exactly what that looks like on our pricing page, or send us the contract you've already got and we'll tell you what's hiding in it.
