If you can’t answer the question “how many signed cases did SEO produce for us last quarter?” — with a number, not a shrug — then you don’t have a measurement problem. You have an accountability problem. And whoever is taking your retainer is enjoying it.
This page is about the actual mechanics of measuring SEO ROI for a law firm. What metrics matter. What tools you need. What numbers to ignore — and there are a lot of those. The math of cost-per-case and why it’s the only ROI number that should matter to a firm owner. And the attribution challenges nobody likes to talk about, because they make the conversation harder.
The metrics that actually matter
There are four metrics worth tracking. Everything else is either a leading indicator that supports these four, or it’s noise. The four:
1. Qualified inbound calls from organic search
Not all calls. Not unique website visitors. Qualified inbound calls — meaning people who are looking for the kind of legal service you offer and who reached out because of organic search visibility. This is the top of the SEO funnel that actually matters to a law firm.
To track this, you need call tracking with dynamic number insertion — the phone number shown on your site changes based on traffic source, so you know whether the caller came from organic, paid, direct, referral, or something else. The two tools most firms use are CallRail and CallTrackingMetrics. Either works. The setup is straightforward, takes about a day, and costs $50–$150 a month depending on volume.
Without call tracking, every conversation about SEO ROI is theoretical. You’re guessing. With it, you can say “we got 47 qualified calls from organic last month, up from 22 a year ago.” That’s a measurable outcome.
2. Qualified inbound form submissions from organic search
Some prospects fill out a contact form instead of calling. You need to attribute those form fills to the traffic source too. GA4 conversion events can do this with a little setup — your developer tags the form, GA4 captures the source dimension, and your monthly report can show form fills by acquisition channel.
Form submissions tend to be a smaller volume than calls for most law firms — legal is a high-stress, high-stakes purchase, and stressed buyers usually call — but for some practice areas (estate planning, business law, employment), form fills are a meaningful chunk of the pipeline. Don’t ignore them.
3. Signed retainers attributable to SEO
This is the one that makes the math real. A call is a lead. A signed retainer is a case. The lag between those two is your intake process, your consultation-to-retainer close rate, and your case-type sales cycle.
Tracking signed retainers from SEO requires either CRM integration (Clio, MyCase, Lawmatics, Lead Docket, or whatever you use) or a manual matching process where your intake team tags each new matter with the inbound source. The first option is cleaner; the second works fine for smaller firms.
Most firms I audit are not tracking signed cases by source. They’re tracking calls, maybe. They’re rarely closing the loop on which of those calls became revenue. This is the single biggest measurement gap in legal marketing — and it’s the gap that lets agencies bill for vanity metrics indefinitely.
4. Revenue attributable to SEO
Signed retainers × average case value = revenue from SEO. For some practice areas (PI on a contingency, criminal defense on a flat fee), case value is a known number. For others (family law, business law, estate planning), it varies and you’ll need to use either an average or a lifetime case value if matters tend to recur.
This is the one number that lets you answer the question “did SEO produce revenue exceeding what we paid for it?” Without it, you can’t.
What to ignore
Most agency reports lead with these. They are not bad metrics — some of them are useful diagnostically — but none of them is a measure of whether SEO is producing cases.
An agency that reports on impressions and Domain Authority but can’t tell you how many signed cases their work produced is measuring what makes them look good, not what makes you money.
Domain Authority (DA). A Moz score, not a Google ranking factor. Goes up when low-quality backlinks accumulate. Means almost nothing for actual rankings or cases. Reported by every agency that wants you to feel like things are progressing without commitment to specific outcomes.
Raw organic traffic. A volume number that goes up when any kind of content publishes — including content that doesn’t bring cases. A firm can double its traffic without changing its case volume by ranking for irrelevant queries. Traffic by itself is a vanity number.
Impressions. A useful leading indicator in months 2–5 of an engagement (because they show whether the work is producing visibility before clicks catch up), but a poor outcome metric. Impressions can be massively up without a single new case. Don’t pay for impression reports as if they were results.
Keyword rankings as the headline number. Rankings matter, but only as a means to clicks and calls. A keyword in position 1 that nobody searches isn’t worth a keyword in position 4 that gets meaningful intent traffic. Reporting on “we improved 47 keyword positions” without context is theater.
“Share of voice” reports. Visibility relative to a defined competitor set. Sometimes diagnostically interesting. Almost never a result. Often used to make a flat engagement look like it’s gaining ground.
Bounce rate, session duration, page views per session. Engagement metrics. They tell you something about content quality but they don’t tell you whether you’re getting cases. They’re easy to game and easy to misinterpret.
Backlink counts. The number of backlinks pointing to your site is a noisy signal. Quality matters more than quantity, by an order of magnitude. A report that highlights “got you 47 new backlinks” without showing what kind of sites and at what cost is a report designed to look impressive, not be informative.
The tooling stack you actually need
Real measurement requires a small set of tools. Not 30. About six. Here’s what:
Call tracking
CallRail or CallTrackingMetrics. Roughly $50–$200/month depending on volume. Set up with dynamic number insertion so the phone number shown on your site changes based on the visitor’s traffic source. The result: every call is tagged with where it came from. CallRail also offers call recording and AI transcription, which is useful for quality auditing but optional.
This is the single highest-leverage investment in measurement infrastructure for a law firm. Without it, all the rest of this is theoretical.
Form attribution via GA4
Google Analytics 4 is free and adequate for legal-firm-scale traffic. Tag your contact forms as conversion events. Configure your channel groupings to separate organic from paid, direct, referral, and social. Set up a simple report that shows form fills by source over time.
This is a one-time setup that costs nothing and takes a developer a few hours. Most firms either don’t have it or have it set up poorly.
CRM with lead source tracking
Whatever you use — Clio, MyCase, Lead Docket, Lawmatics, Filevine, Litify, HubSpot — it needs to capture lead source on every new intake. If your CRM doesn’t natively support it, your intake form should. If your intake is a person on the phone, that person needs a script that asks “how did you find us?” and a field where they record it.
The CRM is where the case-level data lives. Without lead source in the CRM, you can’t connect the calls you tracked to the cases you signed.
Search Console
Free, from Google. Tracks how your site shows up in Google Search — queries, impressions, clicks, average position. This is the source of truth for leading indicators. Anyone running SEO on your site should be checking it weekly. You should be able to check it monthly without help.
A keyword ranking tool
Ahrefs, Semrush, or a lighter alternative. Used to track ranking changes over time on the specific keywords your firm cares about. Useful for the agency, useful for the firm. Costs $100–$400/month depending on the tier.
A reporting layer that pulls it together
Looker Studio (free, from Google) is enough for most firms. The dashboard shows: organic traffic over time, qualified calls from organic, qualified form fills from organic, signed cases from organic, and revenue from organic. One page. Updated monthly. Reviewed quarterly.
That’s the stack. Total cost: $200–$700/month including the keyword tool. Most firms either don’t have this set up or have it set up incompletely, and that’s why most firms can’t answer the ROI question.
The cost-per-case math
Cost-per-case is the cleanest way to evaluate any marketing channel for a law firm. Here’s how to calculate it:
Cost per case = total SEO spend in a period ÷ signed cases attributable to SEO in that period
Example. A mid-sized PI firm pays $6,000/month in SEO retainer over a quarter — total spend $18,000. In that quarter, they sign 6 new PI cases attributable to organic search. Cost per case = $18,000 ÷ 6 = $3,000 per case.
Is $3,000 per case good? Depends entirely on case value. If the average PI case at that firm produces $30,000 in revenue, then $3,000 of marketing spend per case is 10% — excellent. If the average is $10,000, it’s 30% — borderline. If it’s $5,000, it’s 60% — bad.
For most practice areas, marketing cost-per-case in the 8–20% of case value range is healthy. Anything significantly higher is a sign the channel isn’t earning its cost, or that the firm isn’t tracking it well enough to know.
A fully loaded ROI example
Let’s build out a real example end-to-end. Hypothetical firm: family law practice doing $2M in revenue, paying $5,000/month in SEO ($60,000/year).
Inputs from year one of SEO work:
- Qualified calls from organic, full year: 240 (up from 110 in the prior year baseline — net new attributable to SEO improvement: 130)
- Consultation-to-retainer close rate at this firm: 30%
- Signed cases attributable to SEO uplift: 130 × 30% = 39 cases
- Average case value in family law at this firm: $7,500
- Revenue attributable to SEO uplift: 39 × $7,500 = $292,500
The math:
- SEO spend: $60,000
- Revenue produced: $292,500
- Gross ROI ratio: ~4.9× (every dollar of SEO spend produced about $4.90 in attributable gross revenue)
- Cost-per-case: $60,000 ÷ 39 = $1,538 per case
- Marketing cost as percentage of case value: $1,538 ÷ $7,500 = ~20.5%
Is this engagement working? Yes. Gross ROI is healthy. Cost-per-case is in the reasonable band for family law. The firm should keep going.
What if the same firm at month 12 had: 145 calls (up from 110 — only 35 net new), 30% close rate (11 cases), $7,500 average case value ($82,500 in revenue), against $60,000 in spend? Gross ROI 1.4×, cost-per-case $5,455 — 73% of case value. That engagement is underperforming and needs a hard look. Either the work, the agency, or the market needs to change.
The math is not complicated. The hard part is having the data to do it.
Lifetime case value, when it applies
Some practice areas have meaningful repeat business or expansion within a matter. Business law clients tend to come back. Estate planning clients often refer family. Family law clients sometimes return for modifications. In those cases, average case value undersells what a signed retainer is actually worth.
Lifetime case value is the total revenue you expect from a signed client across all matters and referrals they generate. It’s harder to calculate precisely, but a rough average — based on your firm’s historical data — is usually accessible. If your average matter is $5,000 but the average client returns or refers another matter at a 25% rate at the same value, lifetime case value is closer to $6,250.
When you do the SEO ROI math, lifetime case value tends to make the numbers look better — and rightfully so, because the work is producing relationships, not just transactions. Just be honest about the multiplier. Inflating lifetime case value to make a struggling engagement look successful is the kind of accounting sleight-of-hand agencies sometimes pull.
Attribution challenges nobody wants to admit
Honest measurement requires acknowledging that attribution is messy. The clean math above is the ideal case. Real life is harder. The challenges:
Multi-touch journeys
A prospect may find your firm through a Google search, leave, see a Facebook ad later, come back via a direct search of your firm name, and call. Was that case “from SEO” or “from Facebook”? Most attribution tools default to last-touch (give the credit to the last channel) or first-touch (give it to the first). Neither is fully right.
For most law firms, last-touch is fine in practice. The misattribution that occurs is consistent across channels, so the relative performance comparison still holds even if the absolute numbers are slightly off. Don’t get lost in the technical debate. Use last-touch, track honestly, and look at trends over time rather than absolute single-period numbers.
Branded vs. unbranded organic
Some of your “organic” calls come from people searching your firm name — they already knew about you, they just used Google to find your phone number. Those calls aren’t really attributable to your SEO work; they’re attributable to whatever drove brand awareness (referrals, billboards, prior advertising).
Segment branded organic from unbranded organic in your reporting. Branded organic is a useful indicator of brand strength. Unbranded organic is what SEO work actually produces. Conflating the two inflates the ROI numbers in a way that mostly fools you.
Offline conversions
Someone walks into your office. Did they find you online? Did they hear about you from a friend? Both? The walk-in case isn’t going to be cleanly attributable. Some firms ask new clients during intake — “how did you find us?” — and capture the answer in the CRM. Others give up on attributing walk-ins. Either approach is defensible as long as you’re consistent.
Long sales cycles
Estate planning prospects sometimes research for months before booking. Business law engagements can take weeks of conversations. The call that happened in March might convert to a signed retainer in July. If you only look at the same-month cohort, you’ll under-count SEO’s contribution.
The fix: look at cohorts. The calls from March, tracked through to signed retainers over the following 90 days. This is more work to set up but produces honest numbers for practices with long sales cycles.
What your monthly report should look like
If we ran your agency, here’s what your monthly report would contain. One page. Five sections.
- Leading indicators. Impressions and average position on your top 20 target queries, month over month and year over year.
- Traffic and calls. Organic sessions, organic-attributable phone calls, organic-attributable form submissions. Trends, not just current numbers.
- Case-level outcomes. Signed retainers attributable to organic search this month. Trailing 3-month average. Year-over-year comparison.
- Cost-per-case and ROI. Current cost-per-case. Trailing 3-month average. Marketing cost as percentage of case value.
- What we did this month. Specific work product. Pages rewritten, content published, technical fixes made, citations corrected. Plain English. Vague reporting is a red flag — more here.
If your current report has 40 pages of charts and you can’t find any of these numbers in it, the report is theater. A good monthly report is short, specific, and answers the question “is the work producing cases?”
The bottom line
Real SEO ROI measurement requires two things most firms don’t have set up: a measurement stack that connects calls to cases, and an agency willing to report on the case-level metric instead of hiding behind impressions and DA.
If you have both, the math is straightforward. If you don’t, you’re guessing about whether your SEO spend is working — and “give it more time” becomes harder to push back on because you don’t have the data to push back with.
Build the stack first. Even before you change agencies, even before you re-scope, even before you re-budget. The measurement is the leverage. The firm that can say “you produced 4 cases this quarter and we paid $18,000 — that’s not working” has a defensible conversation. The firm that can only say “I feel like calls are flat” has nothing to negotiate with. More on the budget side of this conversation here.
If you want help setting this up — or you want me to look at the data you do have and tell you honestly what it says about your current engagement — the free audit covers that. Reach out here. The first thing I’ll usually look at is whether you have call tracking installed correctly. If you don’t, that’s the day-one fix regardless of who you ultimately work with. More on how we think about this here.
— The owner, PHX Search Co.