Most agency case studies are a screenshot and a number you cannot check. This one is different in one specific way: it is rebuilt from the client’s own Google Search Console and Google Analytics 4 accounts every 30 days, and the date it was last rebuilt is printed above. If a number here gets worse next month, it will say so.
The client is a personal injury firm in Los Angeles with five offices and a bilingual English and Spanish site. Everything below is exactly as the source platforms report it.
Two months in. This engagement began in late July 2026, so everything measured on this page was produced in roughly the first two months of work. Results vary by firm, market and starting point, and nothing here is a promise of future results.
Where the numbers come from
Three sources. The first two are first-party and belong to the client:
- Google Search Console for search visibility: clicks, impressions, click-through rate and average position. This is Google reporting on itself, not a third-party estimate.
- Google Analytics 4 for what happens after the click: sessions by channel, engagement rate, time on site and key events, which is GA4’s term for a tracked conversion.
- SE Ranking for rank tracking against a chosen keyword list. This one is a third-party tool rather than a Google product, and it is used only for keyword positions, never for traffic or value estimates.
No traffic projections and no “value of organic traffic” arithmetic. Only what the platforms actually report, with the disagreements between them shown rather than smoothed over.
Search visibility
Google Search Console, 9 September to 6 October 2026, 28 days, compared with the 28 days before it (12 August to 8 September 2026).
This is the first update with a full month to compare against, and every headline number moved the right way. Clicks rose 29% and impressions 24%, but the change that matters most is average position, which went from 11.9 to 9.0. Position 11 is the top of page two, where click-through collapses. Position 9 is page one. That single move explains most of the extra clicks.
It is still early. A site averaging position 9 sits at the bottom of page one, where a small move up is worth more clicks than a new page would be, which is why the work below now focuses on the pages that already rank.
Where the visibility sits
Content pages, not service pages, are carrying it. The ten best-performing pages in the period:
| Page | Clicks | Impressions | Avg. position |
|---|---|---|---|
| Home page | 391 | 10,025 | 17.9 |
| Attorney roster page | 199 | 6,649 | 11.8 |
| Guide: subrogation claims | 148 | 9,264 | 5.0 |
| Guide: settlement check timing | 115 | 7,221 | 4.8 |
| Guide: fault in rear-end collisions | 113 | 6,553 | 4.0 |
| Guide: dog bite consequences | 80 | 3,897 | 4.5 |
| Guide: California Good Samaritan law | 54 | 13,187 | 6.4 |
| Guide: California crosswalk law | 47 | 10,306 | 7.1 |
| Guide: dog bite liability | 37 | 7,447 | 6.7 |
| Guide: uninsured at-fault drivers | 28 | 4,388 | 11.3 |
280 separate pages earned at least one impression in the period, up from 237. Search Console also listed another 114 rows that are jump links into sections of those pages, which Google now shows as results in their own right; that is the in-article navigation added in September being picked up. Eight of the top ten are explanatory articles, and every one of them ranks better than the home page: the articles average roughly position 6, the home page 17.9. The two guides that grew fastest were subrogation claims, with impressions up 85%, and settlement check timing, up 139%.
The honest caveat on this section. This Search Console property holds no data before 4 August 2026, so every comparison on this page is month over month inside the engagement, not a before and after of it. Both windows are 28 days, so the comparison is like for like.
Brand searches against everything else
Splitting every named query into people searching for the firm by name and people searching for help with a problem, 9 September to 6 October 2026. Google withholds some queries for privacy, so these rows add up to less than the site total:
| Query type | Clicks | Impressions | CTR |
|---|---|---|---|
| Firm name and attorney names | 338 | 2,623 | 12.9% |
| Everything else | 166 | 71,128 | 0.23% |
Brand search held steady: 338 clicks against 341 the month before, at a healthy 12.9% click-through rate. The movement is in the second row. Non-brand clicks rose from 119 to 166, up 40%, on impressions up 6%, so more of the existing visibility is turning into visits. Last month this table used only the top 1,000 queries; both months here use the same method, so 119 and 166 compare directly. It is still the biggest opportunity on the account: about 71,000 impressions from people looking for help produced 166 clicks.
One finding from that tail is worth naming because it costs nothing to fix and nobody looks for it: a meaningful slice of those non-brand impressions come from searches naming cities hundreds of miles outside the firm’s service area. Those impressions will never convert. They also drag the site’s average click-through rate down, which is the metric a lot of firms judge their SEO by.
Where the tracked keywords actually sit
SE Ranking rank tracking, Google USA, 17 September to 8 October 2026. This is a third-party tracker checking a fixed list of keywords, so it answers a different question from Search Console: not “what did Google show us for anything” but “where do we stand on the terms we chose to compete for”.
| Position band | Keywords | Change on the month |
|---|---|---|
| Position 1 | 10 | no change |
| Positions 2 to 3 | 9 | no change |
| Positions 4 to 5 | 20 | up 7 |
| Positions 6 to 10 | 55 | up 10 |
| Positions 11 to 30 | 29 | down 3 |
| Top 10, cumulative | 94 | up 17 |
Another 17 keywords entered the top 10 since the last update, from 77 to 94, and the gains are again in the middle of the table: positions 4 to 10 went from 58 keywords to 75, while position 1 held at 10. The tracked list also grew this cycle, from 415 to 523 keywords, almost all of them city lawyer terms added for the city pages built in October. Those groups hold just 1 of the 94 top 10 positions, so the growth comes from keywords that were already being tracked.
Two numbers from this tracker are deliberately not published here, and the reason matters more than the numbers.
The tracker also reports average position and a count of keywords ranking beyond position 100, and both got dramatically worse this month. They are not comparable month over month, because the tracked keyword list itself grew substantially during the period. Every newly added keyword enters the list unranked, which mechanically drags the average down and inflates the beyond-100 count without a single existing ranking having moved.
The cross-check that settles it: if 200 keywords had genuinely fallen out of the top 100 in a month, search impressions would have collapsed. Search Console, measuring the same site over the same weeks, shows no such collapse. So the tracker’s average position is an artifact of a changed list, not a result. Quoting it either way, as a win or as a loss, would be misleading, so it is left out and explained instead.
What happens after the click
Google Analytics 4, 10 September to 7 October 2026, 28 days, compared with 13 August to 9 September 2026.
Channel by channel, which is where this gets useful:
| Channel | Sessions | Engagement rate | Avg. time | Key events |
|---|---|---|---|---|
| Organic Search | 2,271 | 57.0% | 57s | 42 |
| Direct | 1,028 | 31.1% | 17s | 5 |
| Paid Search | 626 | 62.0% | 44s | 34 |
| Unassigned | 101 | 1.0% | 1s | 0 |
| Referral | 57 | 59.7% | 38s | 4 |
| Organic Social | 17 | 64.7% | 8s | 0 |
| Cross-network | 16 | 93.8% | 55s | 2 |
| AI assistants | 5 | 60.0% | 19s | 0 |
| All channels | 4,116 | 50.2% | 43s | 87 |
Three things in that table decide what gets worked on next.
Organic search is now the firm’s largest channel by a wide margin. It brought 55.2% of all sessions, up from 39.4% a month earlier. Its visitors stay 57s against a site-wide 43s, and organic sessions rose 23% while total sessions fell.
Direct traffic fell by almost half, and that is a cleaner number, not a lost audience. Direct sessions dropped from 1,889 to 1,028 once the bot guard (8 September) and the staff exclusion (2 September) were in effect for the whole window, which is why total sessions are down 12% even as organic grew. What remains still leaves after 17 seconds on average, so any headline traffic figure for this site that does not separate Direct from Organic overstates the audience.
Organic now produces more key events than paid search. In the prior 28 days paid search produced 33 key events and organic 15. This period organic produced 42 against paid search’s 34, out of 87 in total. That is the conversion-path work below starting to show: the gated guide, the answer blocks and the case evaluation form added to practice and city pages in early October. At 42 events it is a direction, not yet a conversion rate worth quoting.
Two caveats that change how these figures should be read.
A GA4 internal-traffic filter excluding staff and vendor visits was activated on 2 September 2026, and a bot guard was added to the site’s tracking on 8 September 2026. GA4 filtering is never retroactive. The current window starts after both corrections and the comparison window does not, so part of the fall in Direct and total sessions is cleaner measurement rather than fewer people.
What was actually done
Numbers without the work behind them are decoration. The following was carried out on the site during and before the measured period. It is the unglamorous half and it is the half that makes the other half possible.
Added since the last update, 17 September to 8 October 2026
- Sixteen new city landing pages published, from Torrance and Santa Monica to San Diego, Sacramento and Oakland, each built from official city, police, court and transit sources and fact-checked before going live, plus an Areas We Serve page with a clickable service map.
- Short, quotable answer blocks with FAQ structured data added to 15 practice pages, 10 in English and 5 in Spanish, with every statute in them checked against the code text on the day they went live.
- An advertising-rules sweep of all 41 practice pages in English and Spanish: 39 sentences on 22 pages that implied an outcome or compared the firm to others were rewritten.
- Five Spanish pages were found carrying a settlement carousel that paired dollar figures with unattributed client quotes. It was removed, and the Spanish navigation was repointed so Spanish visitors stay on Spanish pages.
- Lead source capture extended to every page-level form on the site, 71 of them, which until then recorded leads with no source at all. Five past leads were recovered from GA4, three of them traced to a single legal directory listing.
- The site audit score had slipped from 100 to 87 as new pages, video and Spanish content shipped. One cleanup pass took it back to 98 on the 7 October crawl of 272 pages, with zero errors and zero metadata issues.
Measurement made trustworthy
- Staff, vendor and internal traffic identified from server logs rather than guessed, then excluded at the analytics level once the correct access was in place. Before this, internal visits were being counted and reported as prospects.
- Automated traffic diagnosed as the cause of a falling engagement rate, rather than accepting the obvious reading that visitors had lost interest. The signature was in the data: impossible screen dimensions and an automation flag in the browser. A filter now drops those hits before they reach analytics.
- A dead tag manager container, deleted at some point in the past but still being requested on every page of the site, found and removed. The live container was left untouched.
Technical health
- Site health score taken from 78 to 100 on the platform’s own audit, with 113 separate issues cleared and none new found on the 12 August 2026 report. Errors and warnings both at zero, 110 pages healthy.
- Metadata problems reduced from 66 pages to 4. Redirect chains and redirect loops eliminated entirely.
- Orphaned pages, meaning pages with no internal link pointing at them, brought to zero across a 153-page crawl, with every page holding at least one link from within body content rather than only from navigation.
- Old URLs from a previous site design, still collecting traffic and returning errors, mapped and redirected to their current equivalents.
- An indexing alert from Search Console traced to a single mistyped filter name in a code snippet, one word wrong, which had been quietly keeping a page out of the sitemap. Fixed and verified against the live sitemap.
- Footer navigation links found pointing at blog category archives instead of the firm’s actual service pages, so every page on the site was passing internal authority to the wrong destinations. Repointed to the service pages.
Authority and off-site
- A cumulative spam link disavowal programme, built so each batch carries forward everything previously disavowed rather than replacing it, which is the mistake that silently un-disavows old domains.
- Directory, citation and bar-association listings audited and corrected for consistency.
- Editorial and bylined-article placement pitched to legal trade publications, with the firm’s registered entity name used on bylines rather than its trading name.
Conversion and content
- A gated guide and exit-intent offer built to capture visitors who read an article and would otherwise leave with no next step.
- A frequently asked questions page rebuilt from 7 questions to 12, every legal citation in the new answers verified against current California code rather than copied from secondary sources, and structured data added so the answers are eligible for rich results.
- Spanish-language pages given correct language attributes, matching navigation, and properly paired hreflang tags, so Spanish pages can rank for Spanish searches instead of competing with their English equivalents.
- Form conversions wired into analytics as tracked key events, which is the reason there is a conversion column in the table above at all.
What is being worked on next
- Click-through rate on the ranked pages. Roughly 71,000 non-brand impressions produced 166 clicks. Titles and descriptions on the pages already sitting at positions 4 to 10 are still the cheapest available win, ahead of any new content.
- The page-two cluster. Pages at positions 11 to 15 are one internal-linking and content-depth pass away from page one. They are a better investment than starting new articles.
- Keep organic ahead on conversions. Organic passed paid search on key events this month, 42 to 34. The next step is giving the highest-traffic guides a clear next action, so the trend holds once the numbers are larger.
- The new city pages. Sixteen city pages went live in October and their keywords are now tracked. They have no rankings to report yet; the next update will say where they landed.
- Geographic relevance. Cutting impressions from cities outside the service area will raise measured click-through rate without touching a single ranking.
Method, and what this page does not claim
Every figure above is read directly from the client’s own Google Search Console and Google Analytics 4 properties, and from the SE Ranking project tracking that site, on the date stamped at the top, and rebuilt on the same sources every 30 days. Search Console and GA4 count different things over different windows and will never agree with each other; both windows are stated wherever a number appears. Search Console data lags roughly two days behind the present, so the window ends short of the measurement date.
This page makes no before-and-after claim, because the Search Console property holds no data predating this engagement and inventing a baseline would be dishonest. Results vary, and past results do not guarantee future results. It makes no revenue, signed-case or cost-per-lead claim, because those figures belong to the client and are not ours to publish. Every trend figure is a 28-day window against the 28 days before it, read from the platform itself, and the next update will compare against this one, including any month where the numbers go the wrong way.
Want this kind of reporting on your own site?
If you run a law firm and you cannot currently tell how many of last month’s visitors were real people, that is the conversation worth having. It usually takes about a week to find out and it is the work everything else depends on.
Book a call