When someone searches "plumber near me" — or "HVAC repair" or "electrician [city]" — Google shows a map with three businesses at the top of the results. That's the Map Pack. It captures 40–60% of all clicks for local service searches. If you're not in those top three, most of those calls go to whoever is.
How the Map Pack actually works
Google uses a different algorithm for local results than for regular search. Three factors decide who shows up:
- Relevance — Does your business match what the person searched for? If they searched "plumber," your primary Google Business Profile category needs to be "Plumber." Not "General Contractor." Not "Home Services." Plumber.
- Distance — How close are you to the searcher? This is the one you can't control. But you can influence it with service area pages and local content.
- Prominence — How well-known and trusted is your business online? This is where reviews, citations, and your website's content come in.
Relevance and prominence are the two you control. Distance is the searcher's problem, not yours.
Step 1: Fix your Google Business Profile
This is the single biggest local ranking factor — 32% of the algorithm. And most contractor profiles are a mess.
The most common mistake we see: wrong primary category. A plumber who lists themselves as "General Contractor" instead of "Plumber." An HVAC company that says "Heating Contractor" but not "HVAC Contractor." Google matches the search term to your category. Get the category wrong and you won't show up no matter what else you do.
Here's what we fix for our clients:
- Primary category: Exact match to their core service (Plumber, HVAC Contractor, Electrician, Roofer, etc.)
- Secondary categories: All 10 slots filled with actual services they offer (Water Heater Repair, Drainage Service, Furnace Repair, etc.)
- Service area: Every city and town they actually serve — not a 50-mile radius, but specific cities (up to 20)
- Services listed: Every individual service with a description — this is how Google matches you to specific searches like "drain cleaning" or "EV charger installation"
- Photos: Real jobsite photos, uploaded regularly. Profiles with 100+ photos get 5x more calls than profiles with fewer than 10
- Weekly posts: Updates, completed jobs, seasonal tips. Each post is a signal that the business is active
Step 2: Build reviews (consistently)
We covered this in our last post — but the short version: 3–5 new reviews per month, every month. Velocity beats volume. A business with 60 reviews getting 5 new ones each month outranks a business with 200 reviews from two years ago.
Step 3: Fix your citations
Citations are your business name, address, and phone number (NAP) listed on other websites — Yelp, BBB, Angi, HomeAdvisor, Apple Maps, Bing Places, Facebook. If your NAP is inconsistent (different address on Yelp vs. Google vs. BBB), Google gets confused and your ranking drops.
We audit every citation for our clients and fix inconsistencies. Same business name everywhere. Same address format. Same phone number. It's boring work, but it matters — and almost no contractor does it.
Step 4: Build local content on your website
Your Google Business Profile gets you into the Map Pack near your base. Your website's content gets you ranked further out.
The mistake most contractors make: one generic "Services" page that lists everything. That doesn't rank for anything.
What works: a dedicated page for each service (drain cleaning, water heater installation, emergency plumbing) AND a dedicated page for each city you serve. Not "we serve Denver and surrounding areas." A real page about plumbing in Aurora. Another about plumbing in Lakewood. With specific content — local landmarks, neighborhoods, regional plumbing issues (hard water, freeze risk, old pipes in historic neighborhoods).
Google reads these pages and uses them to match searches like "plumber Aurora CO" to your business. One generic services page can't do that. Ten specific pages can.
Step 5: Schema markup
Schema is code on your website that tells Google exactly what your business is, where it is, and what services you offer — in a format Google reads with 100% accuracy. We add LocalBusiness schema, Service schema, and FAQ schema to every client site. It's invisible to visitors but it's how Google confirms: "Yes, this is a plumber in Denver that offers drain cleaning and emergency services."
The timeline
Here's what happens when we start working with a contractor:
- Month 1: Google Business Profile fixed, citations audited, website technical fixes, keyword research done
- Months 2–3: Service pages and city pages go live, review generation starts, rankings begin moving
- Months 3–6: Map Pack appearances for lower-competition keywords, organic traffic increasing, calls starting
- Months 6–12: Consistent Map Pack presence, ranking for competitive keywords, 30–80+ organic calls/month
SEO isn't fast. But it compounds. The work we do in month 1 is still paying off in month 12. And unlike ads — which stop the second you stop paying — SEO keeps producing calls long after the initial work is done.
What it costs
All of this — Google Business Profile, reviews, citations, local content, schema, monthly reporting — is included in our $99/month Growth plan. That's $1,188/year for a marketing channel that, once it's working, produces free leads every month for years.
Compare that to Google Ads, where you're paying $20–50 per click for "plumber [city]" — forever. The math is simple: if SEO gets you 50 organic calls a month at $99/month, your cost per lead is $2. If Google Ads gets you 50 calls a month at $30/click, your cost per lead is $30. SEO is 15x cheaper at scale.
But you have to start now. The contractors who start today will be ranking by spring. The ones who wait until January will be ranking by summer. Book a call and we'll get you moving.