Case study · Fence contractor

Fence Contractor Local SEO Case Study

In five months, a single-location fence contractor in the Fort Worth metro went from invisible across most of its service area to top-three map positions on 59% of a 95-pin grid for its highest-intent keyword, while monthly Business Profile views more than tripled.

Fort Worth metro5 months95-pin geo-gridReal client data
16.33 → 4.79Average grid rank, "fence rental"
7% → 59%Grid pins in the top 3
309 → 1,132Monthly Business Profile views
4,640 → 48,100Monthly organic impressions

Results at a glance

Baseline Against Month Five

The engagement ran from January to May 2026. Every figure comes from the client's own Search Console, Business Profile and geo-grid exports, comparing 1 to 31 January against 1 to 31 May.

MetricBaselineMonth fiveChange
Business Profile views (monthly)309 (Jan 2026)1,132 (May 2026)+823 views, +266%
Calls from the Business Profile0 (Jan 2026)5 (May 2026)10 calls across the engagement
Geo-grid average rank, "fence rental"16.33 (12 Jan 2026)4.79 (3 Jun 2026)11.54 positions better
Grid pins ranking top 3, "fence rental"7% of 95 pins59% of 95 pins+52 percentage points
Grid pins outside the map pack, "fence rental"38% of 95 pins0% of 95 pinseliminated
Organic clicks (monthly, Search Console)53 (Jan 2026)125 (May 2026)+72 clicks, +136%
Organic impressions (monthly)4,640 (Jan 2026)48,100 (May 2026)+43,460, +937%

The work ran alongside the client's own sales activity and normal spring seasonality, so these are results observed after the work shipped rather than isolated causes.

The client

One Yard, Two Revenue Lines

A single-location fence contractor in the southern Fort Worth metro, Texas, running two revenue lines that search very differently: fence installation (wood, cedar, wrought iron, chain link) and temporary fence rental.

Service Area

Roughly a 5 mile trading radius from the yard, covering nine named towns across the southern half of the metro.

Measurement

A 95-pin geo-grid, 1.6 km pin spacing, 5 mile radius, Google Maps on mobile. Identical parameters on every capture from January to June 2026, so every comparison is like for like.

Starting Position

A top-three map position on just 7% of the 95 pins for its strongest keyword, and none for its broader installation terms. On 6 January the rental grid showed the business outside the map pack on 95% of pins. It was not fourth or fifth. It was absent.

The starting situation

Findable By Name, And Almost Nothing Else

Organic search carried 53 clicks a month, and 24 of them came from a single branded query.

Baseline metric (January 2026)Value
Organic clicks53
Organic impressions4,640
Organic CTR1.1%
Average position, all queries39.5
Business Profile views309
Business Profile interactions23
Website clicks from the profile23
Calls from the profile0
Search terms surfacing the profile17
Geo-grid average rank, "fence rental" (12 Jan)16.33
Geo-grid average rank, "fence contractor in [city] tx" (6 Jan)9.66
Query (January 2026)ClicksImpr.Avg. position
[brand] fence company241252.4
fence installation [metro]019371.2
fence company [metro]018373.6
[metro] fence company016360.2
[metro] fence016271.7
fence companies [metro]015480.4
temporary fencing rental [metro]08231.9
chain link fence contractors08116.5

Every commercial non-brand term generated impressions and zero clicks, because none of them ranked on a page a human ever reaches. The business name and city names are redacted as [brand] and [metro].

What the audit found

Four Things Holding The Account Down

The root cause underneath all four: the site and the profile were built around the brand name, and the brand name was the only thing the business ranked for.

1. An Under-Worked Profile

Only 17 search terms surfaced it in a month, and it was producing no calls at all.

2. No City Pages

A contractor selling into eight or nine named towns had nothing on the site for any of them.

3. Pages Built To Look At, Not Convert

No clear conversion path, and thin on-page signals for the service-plus-city terms that matter.

4. No Structured Data

Nothing on the site told Google what the business was, where it operated, or what it sold.

The strategy

Map Pack First, Website Second

For a fence contractor with a yard and a 5 mile radius, the map pack is the shorter path to a phone call. Five bets, in the order they were placed.

1. Profile And Proximity First

Grid rank falls away with distance from the pin, so month one went into profile optimization plus map citations, driving-direction assets and a geo network. It is the lever that moves 95 pins at once.

2. Fix The Money Pages

At 53 clicks a month, more traffic to a home page that does not convert changes nothing. The home page and core service pages were rebuilt for conversion in month one.

3. Eight Small Markets

A city page layer was built two towns at a time from February, so each named town had a page written for it rather than a mention on a generic page.

4. A Constant Authority Rate

50 foundational links and 30 local citations every month, unchanged from January to May. Consistency beats bursts, and a flat rate makes results readable.

5. Schema Once There Was Something To Mark Up

Held to month three, after the pages existed, then implemented across LocalBusiness, FAQPage, Product and ImageObject and validated clean.

Why “Fence Rental”

The lead grid target converts fastest, repeats, and faces a weaker local field than installation, which was treated as the slower compounding play.

Geo-grid

What Moved On The Map

On the lead keyword, average grid rank went from 16.33 to 4.79 and top-three coverage went from 7 pins in a hundred to 59. The 38% of the grid outside the map pack in January was gone by June. Coverage matters more than average rank: a business can hold a decent average and still be invisible across half its territory.

KeywordBaselineLatestGainCoverage change
fence rental16.33 (12 Jan)4.79 (3 Jun)11.54Top 3: 7% to 59%. Out of pack: 38% to 0%
fence contractor in [city] tx9.66 (6 Jan)5.16 (1 Apr)4.50Top 10: 69% to 100%
cyclone fence14.73 (1 Mar)12.51 (1 Apr)2.22Mid tier: 14% to 39%
fence installation near me17.57 (1 Mar)15.66 (1 Apr)1.91Low tier shrinking, mid tier growing
fence company near me17.31 (1 Mar)15.72 (1 Apr)1.59Low tier shrinking, mid tier growing
iron and wooden privacy fence17.52 (9 Apr)16.38 (3 Jun)1.14Mid tier: 1% to 9%. Low tier: 67% to 58%
fencing contractor19.05 (9 Apr)18.66 (3 Jun)0.39Outside top 20: 64% to 58%

Keywords were added to tracking as the campaign widened, so baseline dates differ by term. Every capture for a given keyword uses the same grid size, spacing, radius and device.

The Lead Keyword, Five Months Apart

The January grid is a small red core with a grey ring: ranking badly near the yard and not ranking at all further out. By June the green centre reaches the edge of the 5 mile radius in every direction except the northern edge, where a band of red pins is still holding.

Fence contractor geo-grid before and after for the keyword fence rental: average rank 16.33 on 12 January 2026 improved to 4.79 on 3 June 2026
Geo-grid before and after for the keyword "fence rental": 95 pins, 1.6 km spacing, 5 mile radius, Google Maps on mobile

The City-Intent Keyword

This one never produced a green pin, and that is worth saying plainly. What it did produce was consistency: 100% of the grid inside the top 10 by April, up from 69%, with the red tier eliminated. For a rental-and-installation business, being reliably fourth to sixth everywhere is a better commercial position than being first in one suburb and absent in the next.

Fence contractor geo-grid before and after for a city keyword
Geo-grid before and after for the city-intent keyword "fence contractor in [city] tx"

The Keyword That Underperformed

Privacy fence installation barely moved: 17.52 to 16.38 in two months, with a third of the grid still outside the map pack. It was added to tracking late, in April, and two months of city pages and links were not enough to shift a term this competitive. It is the honest counterweight to the rental numbers, and it is the work queued first for months six to nine.

Fence contractor geo-grid before and after for the keyword iron and wooden privacy fence: average rank 17.52 to 16.38
Geo-grid before and after for the keyword "iron and wooden privacy fence"

Google Business Profile

Views More Than Tripled, Calls Started

Monthly profile views went from 309 in January to 1,132 in May, and the profile started producing calls it had not produced before.

Bar chart of Business Profile views by month in 2026: 309 in January, 483 in February, 707 in March, 948 in April and 1,132 in May
Business Profile views by month, 2026. Calls from the profile over the same months: 0, 1, 2, 2, 5
Business Profile metricJan 2026May 2026Change
Profile views3091,132+823, +266%
Search terms surfacing the profile1736+19 terms
Calls from the profile0510 across five months

The Search Terms Changed

In January the term that surfaced the profile most often was the company's own name. By May the most frequent term was “chain link fence”, with the brand second and “cyclone fence” third. The profile stopped being a way for people who knew the business to find it and became a way for people who did not know it to find a fence.

What Did Not Move

Website clicks from the profile stayed flat, 99 in total. Discovery grew almost fourfold and almost none of it passed through to the website. That is normal for a map-led gain, and it is the argument for treating the profile itself as a conversion surface.

Search Console

The Section That Rules Out Seasonality

Average position went from 39.5 to 15.1 and monthly impressions went from 4,640 to 48,100. That is not a busier spring. It is the site becoming eligible for roughly ten times as many queries.

Google Search Console organic performance for a fence contractor, January 2026 baseline against May 2026
Google Search Console performance, January 2026 baseline against May 2026
MonthClicksImpressionsCTRAverage position
Jan 2026534,6401.1%39.5
Feb 2026722,5802.8%16.6
Mar 20266511,4000.6%17.4
Apr 202611630,6000.4%16.7
May 202612548,1000.3%15.1

Read The CTR Honestly

CTR fell from 1.1% to 0.3%. In January the impression base was small and heavily branded, and branded impressions click at a high rate. By May the base was ten times larger and dominated by non-brand terms on page two, which click at almost nothing until they reach page one. Clicks still rose 136%, because a small share of a very large number beats a large share of a tiny one.

February Needs Explaining

Impressions dropped to 2,580 while average position improved from 39.5 to 16.6. Our reading is that the site stopped being surfaced for a long tail of irrelevant queries and started being surfaced for fewer, closer ones. We cannot prove that from Search Console alone, so it is an interpretation, not a finding.

The Three-Month View

Across the rolling three months to 1 June, the property recorded 312 clicks and 91,700 impressions at an average position of 15.8, with both curves rising week on week rather than spiking and falling back.

Google Search Console rolling three month performance to 1 June 2026
Google Search Console, rolling three months to 1 June 2026

Query-Level Movement

The clearest single result: in January, every non-brand query in the top ten earned zero clicks. In May, eight of them earned clicks.

Top query, May 2026ClicksImpressionsNote
[brand] fence company74321Brand demand, up from 24 clicks in January
wrought iron fence cost3357Absent in January. Follows the April cost blog
fence rental3119The lead grid keyword, now earning organic clicks too
fence company2478Head term, first clicks of the engagement
wrought iron fence cost per foot283Long-tail sibling of the same blog
fence company [metro]1900183 impressions and position 73.6 in January
[metro] fence contractors1627New to the top ten
[metro] fencing companies1476New to the top ten
metal fence contractors1112New to the top ten

The Cost-Content Effect

Two blog posts on fence cost were published in April. By May, “wrought iron fence cost” and its long-tail sibling were the second and fifth highest-click queries on the property, on 440 combined impressions from a standing start. Cost queries are the cheapest commercial intent to win in this trade, because the established players rarely publish prices.

The Head-Term Base

“fence company [metro]” went from 183 impressions at position 73.6 to 900 impressions and a first click. It is still nowhere near page one, but a term that was invisible now has an impression base worth optimizing, which was the point of the city-page layer.

Leads and business impact

What Was Measured, And What Was Not

No call tracking was installed on this account, so there is no verified lead-to-revenue figure, and we are not going to manufacture one.

Form Submissions

The website's enquiry form numbers submissions sequentially. The January report captured submission 83. The May report captured 113 on 5 May and 117 on 14 May. If that counter runs site-wide without resetting, roughly 34 enquiries arrived through the site in the intervening four months. Treat that as an estimate read off a sequence, not a measured figure.

Calls

Alongside the form, the Business Profile produced 10 calls across the five months against zero in January.

The change in what those enquiries asked for is the more useful signal: rental enquiries at the start, installation enquiries with short timelines by month five. Installation is the higher-ticket line, and a three-week timeline is a proxy for a buyer rather than a researcher.

EnquiryCaptured in JanuaryCaptured in May
TypeTemporary fence rentalWrought iron installation, and a vinyl or metal installation
Scope1,260 ft of 6 ft fence with privacy screenAbout 200 linear ft with self-closing gates, and 230 linear ft
TimelineFour month hire starting in four monthsInstallation needed within three weeks

Next time: call tracking from day one and a lead-source field in the client's CRM, so nobody has to guess how grid rank connects to a signed job.

What actually made the difference

Four Levers Carried It, One Did Not Pay For Itself

1. Profile And Proximity In Month One

The rental grid moved from 20.71 to 6.47 between 6 January and 1 March, before a single city page or blog post was live. Only profile optimization, map citations, driving-direction assets, the geo network and the first foundational links were in flight. That timing is the strongest causal evidence in the account.

2. The City-Page Layer

Its effect shows up in impressions, not rankings. As pages went live two towns at a time, monthly impressions ran 2,580, 11,400, 30,600, then 48,100. City pages did not win those terms. They made the site eligible to compete for them.

3. Cost-Intent Content

Two fence-cost posts published in April were the second and fifth highest-click queries by May, on 440 combined impressions from nothing.

4. A Deliberately Boring Authority Rate

50 foundational links and 30 local citations every month, 250 and 150 across the engagement. Every monthly grid capture improved on the one before. A constant input rate also makes a result readable.

What Underperformed: Schema Markup

Structured data was implemented in March and validated clean at 0 errors and 0 warnings. We expected visible rich results and a CTR lift. Across the two months that followed we could not isolate any effect in Search Console. It remains worth doing as hygiene, but on an account at this stage we would spend that build time on reviews instead.

How the work was done

A Fixed Monthly System, Not Heroics

Every month, regardless of what else was happening: 4 Business Profile posts, offers or events, 50 foundational links, 30 local citations, 5 geo-network Web 2.0 properties and 1 G-stack content update. Everything below sat on top of that baseline.

MonthFocusShipped on top of the baseline
JanuaryAudit and foundationKeyword, competitor and geo analysis. Profile and competitor audit. Citations audit. Site quality audit. Profile optimization. Home page and core service pages rebuilt for conversion. Map citations, driving-direction assets, site mirroring. 12 G-stacks, 20 brand profiles, 5 video stacks, 5 podcast stacks.
FebruaryPages and reputation2 service pages redesigned, 2 location pages built. Review management started. Image optimization. Competitor monitoring.
MarchStructure and cost content2 city pages. 2 fence-cost blog posts. Schema across LocalBusiness, FAQPage, Product and ImageObject, validated at 0 errors and 0 warnings. 30 brand profiles. Map citations and driving directions refreshed. 2 content marketing assets.
AprilService-area expansion2 further city pages. 2 further cost blog posts. 10 images optimized. Location-based Web 2.0 build. 2 content marketing assets.
MayService-in-city pages2 service-in-city pages (iron fence installation, cedar fence installation). Continued blog publishing. 30 brand profiles. 2 content marketing assets.

One report a month, with the geo-grid captured on the same keywords, grid size, spacing, radius and device every time. Location pages were built two at a time so each pair could be checked against the grid before the next. The link and citation rate never varied, so when the grid moved we could tell what moved it.

The takeaway

Map Pack First, Content Second

For a service business with a yard and a tight trading radius, the map pack is the cheaper half of local SEO and it moves first. Grid rank on the lead keyword improved by 14 positions in eight weeks on profile and proximity work alone, before a single page or post was published.

If a contractor like this has one quarter of budget, it goes into the Business Profile and its proximity signals, not content. Content is what you buy with the second quarter, once the map pack is already sending calls.

The second lesson is about how to read a grid. Average rank is the number everyone quotes and coverage is the number that pays. This account started with an average of 16.33 and nothing at all on 38% of the map.

FAQ

Fence Case Study Questions

Is this a real client?
Yes. This is a real single-location fence contractor in the southern Fort Worth metro. The business name and city names are redacted as [brand] and [metro] because the work is delivered white label.
Where do the numbers come from?
Every figure is read directly from the client's own Search Console, Business Profile and geo-grid exports, comparing 1 to 31 January against 1 to 31 May 2026.
Does this prove the work caused the results?
No. The work ran alongside the client's own sales activity and normal spring seasonality, so these are results observed after the work shipped rather than isolated causes. The page explains which signals point most strongly to cause, such as the timing of the early grid movement.
What did not work?
Privacy fence installation barely moved, click-through rate fell as impressions grew, website clicks from the Business Profile stayed flat, and schema markup showed no measurable effect. We publish those on purpose.
Why is the lead keyword "fence rental"?
It converts fastest, repeats, and faces a weaker local field than the installation terms, so it was the best target for early grid movement.
Can you run a grid audit for my agency's client?
Yes. The first deliverable we recommend is a 95-pin grid on the client's three highest-intent keywords. We run that audit, and the fulfillment behind it, white label.

Want This Read On Your Client Account?

If a local client of yours is invisible outside a mile of their own pin, the first deliverable worth paying for is a 95-pin grid on their three highest-intent keywords. We run it white label.

Chat on WhatsApp
Book A Partner Call