Skip to main content
Agency

Why we charge below median and turn down work weekly

The two reasons FirmForte's retainer is roughly half the industry median, the four situations that produce turn-downs, and the three signals that consistently show up in firms that become long-term clients.

FirmForte field-guide hero card for the article: Why we charge below median and turn down work weekly

A firm called us last month. Estate planning practice, six attorneys, two offices in the Pacific Northwest, $3.2M in annual revenue, sustained 8% YoY growth, well-run. They had been with their current agency for two years at $5,400 per month and were unhappy with the work. They wanted to retain us. They were prepared to sign at $5,000 per month.

We turned them down.

The firm was, on paper, an ideal FirmForte client. The senior partner was personally involved in the conversation. They understood that marketing was an investment, not an expense. They paid invoices on time. They wanted serious work. The business case for taking the engagement was obvious.

We turned them down because in the second call, the senior partner asked us to commit to "ranking number one in Seattle for estate planning attorney within twelve months." We tried to explain that no honest agency can commit to a specific ranking on a specific timeline because rankings depend on a hundred variables the agency doesn't control. He didn't want to hear it. He wanted the commitment in the contract. He had it from the previous agency, in writing. The fact that the previous agency hadn't delivered on it didn't change his expectation that we would.

This is the most common reason we turn down work. The firm wants something we don't sell. The right move is to not sell it to them.

We publish our pricing on the website. Launch tier is $3,500 one-time. Launch + Grow is $3,500 plus $1,750 per month. Multi-Attorney is $7,500 plus $3,500 per month. The published industry median for law firm SEO is $4,083 per month per our 2026 pricing breakdown; the average is $4,889. Our retainer is roughly half of the median.

People ask us why we don't charge more. Some of them are well-meaning friends in the industry who think we're underselling. Some of them are potential clients who don't trust below-median pricing in a category where most agencies overcharge. Both groups get the same answer.

The first reason: pricing reflects what's deliverable

Most legal marketing agencies charge for activity. Hours logged. Tasks completed. Reports generated. The retainer is calibrated to keep an account manager and a couple of contractors busy. The price reflects the agency's cost structure, not the client's outcome.

We charge for shipped outcomes. The Launch tier ships a website in 21 days. Launch + Grow ships ongoing AEO and SEO work in monthly cycles that produce visible artifacts: the new schema deployed, the new page published, the new citation captured. The price reflects what we ship, not what we do.

When pricing reflects outcomes, the math is different. The cost of shipping a high-quality law firm website is bounded. Once it's bounded, the price has to be defensible against that cost plus a fair margin. $3,500 for a Launch site reflects what it actually costs us to build a Launch site (about 80 hours of focused work) plus a reasonable margin. There's no room for inflated pricing because there's no inflated cost to justify it.

The same logic applies to the retainer. $1,750 per month buys roughly 20 hours of senior work per month, which is enough to ship two new content pages, audit and fix one structural issue, and run the citation tracking and reporting. That's the actual scope. Charging $4,000 per month would mean charging for 45 hours of work we wouldn't actually deliver. The work would dilute, the firm would notice, and the contract would end at month nine.

This is also why the AEO and SEO work we ship is bounded in scope rather than open-ended. The retainer covers the layers that compound (schema, content, citation tracking) and nothing else. Adding scope without adding price is the agency-side mistake that produces all the other mistakes. We don't make it.

The second reason: price filters for fit

Below-median pricing does two things to inbound. First, it filters out firms that equate price with quality. A senior partner who has been told for years that any agency under $5,000 per month must be cutting corners will not take a meeting with an agency at $1,750. That's fine. Those firms aren't a fit for our model anyway, because our model assumes the client values our judgment, and someone who outsources their pricing judgment to "what the industry charges" won't trust our other judgment calls either.

Second, it brings in firms that respect the work because they had to look at it. Below-median pricing in a high-priced category triggers scrutiny. Prospects read the website carefully. They ask why we charge less than the market. They want a real answer. They engage with the work product rather than the brand. The conversation that results is a better conversation than the one a $5,000-per-month agency would have with the same firm, because the prospect has been thinking instead of accepting.

The trade-off is volume. We get fewer inbound inquiries than we would at market pricing. The inquiries we do get convert at a higher rate, and the engagements last longer, because the fit was vetted up front.

Why we turn down work, specifically

Four situations produce turn-downs almost every time. Worth naming them because the signals are often visible from the firm's side too, and a firm seeing them in an agency conversation should treat them as warnings.

When the firm wants guaranteed rankings. No honest agency can guarantee a specific ranking on a specific timeline. Rankings are a function of Google's algorithm changes, competitor behavior, off-site factors, and the firm's own content choices, almost none of which a single agency controls. Any agency that promises a ranking guarantee is either lying or planning to refund. We don't do either. So if a firm needs the guarantee in the contract, we're not a fit.

The corollary signal for firms hiring: if your current agency promised you "page one rankings in 90 days," you're with an agency that lies. The work they're doing may still be useful; the promise was never honest.

When the firm wants to "test" us for 30 days. AEO and SEO work compounds. Month one ships the schema and the structural fixes. Month two ships the first new content pages. Month three is when the first new citations start appearing. The compounding curve is steep at first and steeper later. A 30-day test captures the first month of work, which by design produces minimal visible movement. Firms that frame the engagement as a test are setting themselves up to fire us on day 31 for not having delivered something we never promised to deliver on that timeline. The mechanics of why this work compounds rather than spikes are covered in the schema types reference and the Google-vs-AI-Overviews diagnostic.

The honest framing is "12-month engagement, cancellable after month three." That's how all our retainers actually work. A firm that needs a 30-day proof point is a firm whose expectations are mismatched with the work, and either we'd disappoint them or they'd disappoint themselves.

When the firm is on a proprietary CMS that won't allow custom code. A handful of legal-industry vendors (we won't name them) sell websites on proprietary platforms that don't allow custom HTML, custom schema, or custom JS injection. The vendor's pitch is "we handle the website so you don't have to think about it." The reality is the firm is locked out of the AEO layer entirely. We can't ship schema we can't deploy. We can't fix content we can't edit. The right answer is to recommend the firm migrate off the proprietary platform, and the right partner for that migration is usually not us. It's a developer specifically experienced in the migration path.

This turn-down happens roughly twice a month. The firm is usually a good fit on every other dimension. The technical constraint is binding.

When the firm has two existing agencies and wants us to be the third. Sometimes a firm has an SEO agency, a PPC agency, a separate web design firm, and a fractional CMO consultant. They're considering adding us as the "AEO specialist" to round out the stack. We always pass. The work doesn't compound when four agencies are touching the same site. The schema we ship gets undone by the SEO agency's next CMS update. The content we publish gets duplicated by the PPC agency's landing pages. The strategy we propose gets contradicted by the fractional CMO. The firm is paying four agencies to fight each other.

The honest counter-proposal is "fire two of the four agencies, consolidate the work, and call us back when there's room to actually ship." Most firms in this situation are not ready to consolidate, which is fine. They're not ready for us either.

What we say yes to

Three signals show up consistently in firms that become long-term clients.

One: they want one website partner, not three. When the senior partner says "we want one team responsible for the site, the content, and the citation work," the engagement works. When they say "we want you to handle AEO while our existing agency handles SEO and PPC," it doesn't. The clarity of single-vendor accountability matters more than any specific deliverable.

Two: they read the pricing page and ask one question. The pricing is published. The tiers are explicit. The retainer cap is named. A firm that has read the pricing and shows up with one substantive question ("does Launch + Grow include the bar association profile work, or is that separate?") is a firm that takes the engagement seriously. A firm that opens with "what's your best price?" before reading anything is a firm whose first instinct is to negotiate, and the negotiation usually never ends.

Three: the senior partner is the decision-maker. The work matters most to the person whose firm name is on the door. When the senior partner is in the room for the kickoff call, the engagement compounds. When the firm has a marketing director three levels down who reports to a managing partner who isn't in the conversation, every decision gets staged and re-staged and the work loses 60% of its velocity. We say yes when the senior partner is in the room. We say no, politely, when they aren't. The related opinion piece on why we stopped building location landing pages — linked here — is part of the same broader stance about what compounds and what doesn't.

The honest cost of saying no

We turn down somewhere between four and eight engagements per month. The math says we leave $200,000 to $400,000 per year on the table by not taking those.

That's the price of the model. The remaining work is sustainable. The client base stays small enough that the senior team is involved in every account. The retainer scope holds firm. The work compounds because the firms we say yes to compound it themselves.

Going for everything would ruin this. We'd hire more people to take more work. The new people would be less senior than the founders. The retainer scope would drift to accommodate the lower senior involvement. The price would drift up to fund the headcount. We'd become the agency we've been competing with.

The version of this firm that takes every engagement at $5,000 per month exists. We could be them. We chose not to be.

What this means for you

If you're a senior partner reading this and thinking about whether your current agency is the right fit, the questions to ask are these.

Is the pricing tied to outcomes you can see, or to activity you can't verify?

When the agency commits to deliverables, are the deliverables specific enough that a partner could walk through the site and check them?

If you asked the agency to turn down a piece of work because it wasn't the right fit, would they? Or would they take it because the revenue was good?

The right agency, for any firm, is the one whose answers to those questions match the firm's own values. If you have those answers from your current agency and you're happy, stay. If you don't, the conversation might be worth having. Send us your URL and tell us what's not working. We'll either tell you honestly how we'd think about fixing it, or we'll tell you honestly why we're not the right fit. Both answers are useful.

Share