3,400 clicks for a Brooklyn firm in 28 days.
A Brooklyn law firm earned 3,400 clicks and 300,000 impressions on Google over a single month, climbing to average position 6.3 from a cold local-SEO baseline. Real GSC dashboard from the firm’s property. Client name withheld.
3.4K
Clicks
in 28 days
300K
Impressions
delivered
1.1%
Click-through
rate
6.3
Average
position
Strong firm, weak local signal.
The firm had a respectable Brooklyn practice with established reputation in the neighborhood, but the Google footprint did not reflect it. Practice-area pages were thin and treated location as an afterthought. Google Business Profile was claimed but underused. The map pack was dominated by aggregator sites and competitors with better local signals.
The engagement window for this snapshot was 28 days. The objective was simple: stop letting aggregator sites siphon every Brooklyn practice-area query and get the firm’s domain into the consideration set for residents searching from within the borough.
28 d
Snapshot window covered by the dashboard
Local
Brooklyn-specific intent, not statewide queries
Cold
Baseline before engagement was effectively zero local visibility
Google Search Console, 28 days.
First-month dashboard for the Brooklyn property. Clicks, impressions, click-through rate, and average position across all tracked queries.
3,400
Organic Google clicks in the first 28 days of the engagement.
300K
Total search impressions, weighted toward local Brooklyn queries.
1.1%
Click-through rate, higher than typical for position 6.3 because of the local intent match.
6.3
Average ranking position across tracked queries, weighted by impression volume.
Local signals first, cluster work next.
For a domain that already had baseline authority, the fastest way to add Brooklyn-specific visibility was to fix the local-pack signals and rewrite the practice-area pages around neighborhood-level intent.
A Brooklyn firm should not have to fight aggregators on Brooklyn queries. Local signals are the moat.
Google Business Profile rebuild
Primary and secondary categories aligned to the firm’s actual practice areas. Service list expanded with Brooklyn-specific naming conventions. Posts published weekly. Q&A seeded with the questions Brooklyn prospects actually search.
Neighborhood content matrix
Practice-area pages rewritten with neighborhood-level context: Park Slope, Williamsburg, Bay Ridge, Crown Heights, and the rest of the firm’s actual catchment. Local landmarks, courthouse references, and statute citations specific to Kings County integrated into the prose.
Citation cleanup and expansion
NAP consistency audit across every existing legal directory. Removed duplicate or inaccurate listings. Added citations on the directories Google actually weights for legal, including state bar, Avvo, FindLaw, Justia, and Brooklyn-specific local directories.
Review acquisition workflow
Built a post-engagement review request flow with SMS and email follow-ups timed to natural client touchpoints. Velocity, recency, and review-to-response ratio all matter for the local pack ranking algorithm.
Local schema and entity wiring
LegalService and LocalBusiness schema deployed across the site with Brooklyn-specific address, area-served, and serviceType properties. Attorney schema connected each named attorney to bar admission and education entities Google can resolve.
Internal linking from generic to local
Existing generic practice-area pages updated with prominent links into the Brooklyn-specific landing pages. The authority that the site already had on generic queries pushed into the neighborhood-level pages where the conversion intent actually lives.
Local visibility moves faster than organic.
Local pack and map results respond to signals on a weekly cadence, not a monthly one. A firm with even modest existing authority can light up local queries inside a single month if the signals are aligned.
Map pack is a separate game
Organic and local pack use overlapping but distinct signals. A firm can rank 6.3 organically while sitting in the 3-pack for the same query if local signals are strong.
CTR above the position average
1.1% CTR at position 6.3 is above the legal-vertical average for that position, which means the title and meta match the local intent well enough to pull above-baseline clicks.
28 days is just the start
The compounding really begins at month 3 once reviews, citations, and content depth catch up. The 28-day snapshot is the leading indicator, not the destination.
Can the same approach work for any city?
Is 28 days a typical timeframe?
What about competition from aggregator sites?
How are reviews acquired without violating bar rules?
Why prioritize map pack over straight organic?
Want local visibility in your city?
Start with a free audit. Map pack diagnostic, GBP review, citation health check, neighborhood content gap analysis, and a 28-day priority list.
Or email directly: contact@hey-ash.com