You know the businesses you want to work with are on Google Maps. The hard part is getting from a map full of pins to a clean list of people you can email, without spending a weekend copying phone numbers into a spreadsheet.
This guide walks you through the whole process in order. Follow the steps, tick the checklist at the end, and you will have a list worth sending to.
Step 1: Decide who you are looking for before you search
A scrape is only as good as the question you ask it. Write down three things first:
- The category. Be specific. "Roofing contractor" beats "construction".
- The places. Cities, suburbs or regions you can actually serve.
- The fit signal. What makes a business a good prospect for you? No website, a slow website, few reviews, a missing booking link, running ads, and so on.
The fit signal matters most. It decides what you check later and what you say in your first email.
Step 2: Build your keyword list
Google Maps matches how businesses describe themselves, and they do not all use the same words. Search one term and you miss a chunk of the market.
For each category, list the main term plus variations:
| Category | Keyword variations to try |
|---|---|
| HVAC | hvac contractor, air conditioning repair, heating repair, furnace installation |
| Pest control | pest control, exterminator, termite control, rodent removal |
| Dermatology | dermatologist, skin clinic, cosmetic dermatology |
| Wedding venues | wedding venue, event venue, banquet hall, barn wedding venue |
If you work in one of these niches, the pages for HVAC, pest control and wedding venues cover what those owners care about.
Tip: run a quick manual search on Google Maps for each keyword. If the top results look wrong, drop the keyword.
Step 3: Run the scrape
Whatever tool you use, the setup looks the same:
- Enter your keywords (in bulk if the tool allows).
- Enter your cities. Large cities often return more results if you split them into neighbourhoods or nearby towns.
- Choose which fields you want.
- Start the search and let it finish before judging the list.
In GetClient, the Google Maps scraper searches live by keyword and location, takes bulk keywords and several cities at once, and can return business name, category, address, phone, website, emails found, the owner's name and title with a confidence score, and social profiles, where these are public. Leads save straight into My Leads folders, so the same list feeds your campaign without exporting.
Fields worth keeping
- Business name and category (for merge tags and segmenting)
- City (for merge tags and send timing)
- Website (for personalising and checking fit)
- Email (obviously)
- Owner first name, if the confidence is reasonable
- Phone, if you also call
Step 4: Clean the list
Raw scrapes contain duplicates, closed businesses, chains and wrong categories. Spend 15 minutes here; it saves embarrassment later.
- Remove duplicates. The same business often shows up under two keywords.
- Remove chains and franchises unless you sell to them. Head office decides, not the local branch.
- Remove wrong categories. A "pest control" search can return garden centres.
- Check owner names. Only use a first name where confidence is good. A wrong name is worse than none.
- Generic inboxes are fine. info@ addresses at small businesses often reach the owner. Keep them, but write the email so it works without a name.
Step 5: Verify emails before sending
Sending to dead addresses hurts your sender reputation. Run verification on the whole list and remove anything marked invalid. Treat "risky" or "unknown" results with care: send to them in a separate, smaller batch, or skip them on a new sending account.
Step 6: Segment, then write
Split the list by category and, if useful, by your fit signal. A list of "dermatology clinics with no online booking" lets you write one sharp email. A mixed list forces you into a vague one.
Here is a ready-to-paste starter sequence. Every merge tag must be written exactly as shown.
Email 1 (Day 0)
Subject: quick question about {{params.name}}
Hi {{params.firstname}},
I was looking at {{params.category}} businesses in {{params.city}} and came across {{params.name}}.
I had a look at {{params.website}} and noticed [one specific thing tied to your fit signal]. I help businesses like yours fix exactly that, usually without a full rebuild.
Worth a short call next week to show you what I would change?
[Your name]
Email 2 (Day 3, If NOT Opened)
Subject: {{params.name}}
Hi {{params.firstname}}, sending this once more in case it got buried. I noticed [specific thing] on {{params.website}} and have a couple of quick ideas for {{params.name}}. Open to hearing them?
[Your name]
Email 2 (Day 3, If Opened)
Subject: Re: quick question about {{params.name}}
Hi {{params.firstname}}, happy to put the ideas for {{params.name}} in a short written note instead of a call if that is easier. Want me to send it over?
[Your name]
Email 3 (Day 7)
Subject: closing the loop
Hi {{params.firstname}}, I will leave it here. If improving [outcome] for {{params.name}} becomes a priority, just reply and I will pick it up.
[Your name]
If there is no owner name, change the greeting to "Hi there" for that segment. For more niche-specific copy, see the marketing agency templates. Plain text tends to suit this kind of message; plain vs designed cold emails explains the trade-off.
Step 7: Send carefully
- Start with a small daily volume per sending account and raise it slowly.
- Set send days to weekdays when the businesses are open.
- Include an unsubscribe link and honour it.
- Preview each step with real data so a broken merge tag never goes out.
- Check the rules for commercial email where you and your recipients are; the outreach compliance checklist covers the basics. This is not legal advice.
When replies arrive, answer quickly. The reply handling templates help with the common ones.
The checklist
- Category, places and fit signal written down
- 3 to 5 keyword variations per category, sanity-checked
- Large cities split into smaller areas
- Duplicates, chains and wrong categories removed
- Low-confidence owner names cleared
- Emails verified, invalid removed
- List segmented by category or fit signal
- Sequence written, merge tags in {{params.x}} form
- Every step previewed with real data
- Unsubscribe link in place
- Daily volume and send days set
For a full pre-send run-through, use the cold email launch checklist.