The situation
Fence installation is a high-ticket, high-urgency local trade: buyers compare three quotes fast, and the company that answers first usually wins the job. Our client operates crews in two separate media markets — Tampa and Orlando — each with its own competitors, search behavior, and cost dynamics. A single blended campaign was underpricing one market and overpaying in the other, and after-hours inquiries were going to voicemail.
What we did
- Split everything by DMA. Separate Google Ads campaigns per market with independent budgets, bidding, and call tracking — so Tampa performance stopped subsidizing Orlando learning.
- Built topic clusters by fence type. Vinyl, aluminum, wood, chain-link — each with its own pillar page and supporting content per market, targeting how buyers actually search ("vinyl fence installation Tampa").
- Wired call tracking to the ad account. Calls became the optimization signal, not clicks — Google's bidding learned from the thing that fills install calendars.
- Deployed a 24/7 AI chatbot. Trained on the client's fence lines and service areas, feeding qualified leads (name, area, fence type) directly into the sales funnel — including the 11pm quote-shoppers.
The results
Figures from GA4 and Call Tracking Metrics, full-year 2025 vs. prior year. We report sourced numbers only — no projections, no rounding up.
Why it worked
No single tactic did this. The DMA split made spend accountable per market; the topic clusters compounded organic visibility while paid held the front page; and the chatbot converted demand that was previously evaporating after hours. That’s the pattern we repeat across home-services clients: make each channel measurable alone, then make them cover each other's gaps.
