Quick Summary
- Under 5% of local small businesses are in the big B2B databases. Build your list from Google Maps and find the owner yourself.
- Buy domains and inboxes on day one. They need two to three weeks of warm-up, and bounce has to stay under 2%.
- Score every business before you pay for data, then work all four contact buckets for each one.
- Lead with a free, audit-style lead magnet and a 40 to 80 word email with one ask. Three emails, then stop.
- Reply by email and call within the hour. A pre-call page is what takes a 50% show rate to 70% or better.
On this page
Start Here
If you sell to plumbers, dentists, landscapers, contractors, restaurants, clinics, gyms or any other local business, this guide is for you.
It is the exact system we use at Legacy GTM to book meetings with local business owners. It has booked 2,157 meetings so far, built on more than 20 million cold emails.
Most of the owners you want to reach are not in Apollo or ZoomInfo. Under 5% of local small businesses appear in the big B2B databases (LocalPipe comparison).
That sounds like a problem. It is actually the opportunity. The owners your competitors cannot find are the ones nobody else is emailing.
This page walks you through the whole system, step by step. If you want the full version with every template, worksheet and calculator, grab the complete Notion guide below.
Free download
Get the Full Local Legend Guide (Free)
Every template, worksheet and calculator from this system, in one Notion guide.
| Step | What you do | The rule that matters most |
|---|---|---|
| 1 | Decide if you sell locally or to local businesses everywhere | Your territory sets your market size |
| 2 | Buy domains and inboxes on day one | Keep bounce under 2% |
| 3 | Score your market before you spend on data | Cut the businesses that will never buy |
| 4 | Build the list from Google Maps | Never size a market from a database export |
| 5 | Work all four contact buckets | One business can give you two routes to the same owner |
| 6 | Build an offer and a free lead magnet | Deliver the lead magnet live as much as possible |
| 7 | Write the email | 40 to 80 words (more if it makes sense), one ask |
| 8 | Launch and fix what breaks | Check deliverability before you touch the copy |
| 9 | Work the replies | Email and call within the hour |
Watch the Full Workshop
Prefer to watch? This is the full Local Legend workshop I recorded with Dylan Bond, founder of LocalPipe. It covers everything below, with real examples.
Why Local Businesses Are a Different Problem
The tools most people use to build B2B lists were made for companies with LinkedIn pages, funding rounds and org charts.
A twelve-person plumbing company has none of that. So it barely shows up.
That causes two problems at once.
Problem one: coverage. Under 5% of local small businesses are in the big databases. For home service businesses, 80 to 90% are missing completely (LocalPipe comparison).
You search for plumbers in your city, get 200 results, and plan a campaign around 200 plumbers.
There are probably several thousand. That 200 was a sample.
Problem two: saturation. The few businesses those databases do hold are the same ones every other seller is emailing.
In LocalPipe's analysis of about 7.2 million emails to local businesses, owners who were not in the big databases replied positively about 1.6 times more often. Same offer. Same copy.
An owner who gets four cold emails a week has learned to ignore them. An owner who gets four a year has not.
Here is what that looks like for one business: a commercial cleaning company selling to dental and medical offices in one city.
| Stage | Standard B2B database | Built from Google Maps |
|---|---|---|
| Businesses found | 340 | 2,900 |
| Records with an email address | 310 | 1,220 |
| Records with an owner name | 95 | 915 |
| Months of sending it supports | Under one | Six to eight |
The numbers are illustrative, based on the ratios in LocalPipe's comparison.
The point is simple. In corporate outbound, everyone has the same data, so the copy decides who wins. In local, the data is the lever.
The old databases still work in one place: franchise head offices and bigger commercial, industrial and construction firms. They have real job titles and LinkedIn profiles, so reach them the normal way.
For owner-operators and small businesses, use the method below.
Step 1: Know Which Kind of Local Seller You Are
You sell to local businesses either way. The question is whether you have to be local too.
That one answer decides how big your market is and what proof you lead with.
| Selling in your own area | Selling to local businesses from anywhere | |
|---|---|---|
| Examples | Commercial cleaning to restaurants, a landscaper to property managers, an HVAC company to dental offices | Software for trades, coaching for contractors, a lender to small business owners |
| Market size | One metro, with a hard ceiling | Close to unlimited |
| Best proof | "We already look after three offices on your street" | Volume: "Used by 400 contractors across the US" |
| Biggest risk | Running out of businesses to contact | Sounding like every other vendor |
If you sell in your own area, treat your market as finite from day one.
Every badly written email burns a business you cannot contact fresh again for months. So you test carefully.
If you sell from anywhere, you can test faster and go wide across cities. But you need proof that works without being nearby.
One check before you start. Cold outbound to local businesses is the wrong call if your deal is too small to justify a sales conversation, or if nobody on your team can pick up the phone when a reply comes in.
Fix the second one first. It matters more than anything else in this guide.
Step 2: Set Up Your Sending Infrastructure on Day One
Buy your domains and inboxes before you do anything else.
New inboxes need two to three weeks of warm-up whether you are ready or not. Start that clock now and build everything else while they warm.
The Basics
Never send cold email from your main domain. Buy a few lookalike domains, like getbrightcleaning.com if you are brightcleaning.com, and send from those.
Set up SPF, DKIM and DMARC on every domain. These records prove to receiving servers that the mail is really from you.
The easiest way to do all of this is a managed inbox provider. We use InboxKit. You bring the domains and they set up the records, create the inboxes and run warm-up. It costs around $3 per inbox per month with code GTMLAUNCHPAD.
Then connect the inboxes to a sequencer. We use Sendkit, and code 10GTMLAUNCHPAD gets you 10% off.
Warm-Up and Ramp
Warm-up and ramp are two different things. Almost everyone skips the second one.
Warm-up is your inbox trading emails with a pool of real inboxes that open, reply and mark them as important. Receiving servers see that engagement and start to trust you. Give every inbox 14 to 21 days before it sends anything cold.
Ramp is how you add cold volume once it is warm. Start small and climb slowly.
| Platform | Start at | Add each week | Full volume | Warm-up emails per day |
|---|---|---|---|---|
| Google Workspace | 2 to 3 cold a day | 2 to 3 | About 15 a day | About 25 |
| Microsoft 365 | 2 to 3 cold a day | 2 | About 10 a day | About 20 |
Warm-up never stops. It keeps running alongside your cold sending, permanently.
Skip warm-up and you kill inboxes 5 to 10 times faster. A warmed inbox lasts three months or more. An unwarmed one often dies in two to four weeks.
These numbers change every few months, so check the current protocol with whoever sells you the inboxes.
| When | What happens |
|---|---|
| Day 1 | Buy domains and inboxes. Warm-up starts |
| Days 1 to 14 | Warm-up only. No cold sending. Build everything else |
| Day 15 | First cold sends, 2 to 3 per inbox per day |
| Weeks 3 to 6 | Ramp toward full volume while watching bounce |
| Week 6 onward | Steady state, with warm-up still running |
The 2% Bounce Rule
General cold email advice says 3% bounce is fine. On a local list it is not.
You build local data yourself, so anything above 2% is a step you skipped and can fix.
Between 2% and 3%, check the list. At 5%, pause. At 10%, stop everything.
Watch spam complaints too. Google tells bulk senders to keep reported spam under 0.3% (Google Email Sender Guidelines).
Gmail and Outlook Addresses Need Their Own Setup
On a corporate list, a Gmail address usually means bad data.
On a local list it usually means the owner. They set it up when they started with one truck and never changed it.
These addresses are often your best leads. But they bounce about 32% more often and wear out sending domains 3 to 5 times faster.
So they get their own domains and inboxes, never mixed with your main setup:
- Buy the domains and let them sit for at least 30 days, ideally 90. Older domains are trusted more.
- Warm them on a pool that includes real personal inboxes. Standard warm-up pools only use business inboxes, so they do nothing for Gmail. We use Warmy for this.
- Run two batches in rotation. One batch sends for two weeks while the other rests. Then they swap. Nothing gets pushed hard enough to burn.
It takes about two months from buying the domains to steady sending. If you need to launch this month, start your main setup now, buy these domains today, and add the Gmail lane later.
Never delete those addresses. Keep them aside until the setup is ready.
Step 3: Decide Who to Email
A list without a score treats every business as equal. They are not.
Some businesses deserve a phone call and a postcard. Some deserve one email. Some should never hear from you at all.
Score Before You Spend
Finding owner names and emails is the expensive part. It makes no sense to spend the same on a business that scores 85 as on one that scores 45.
So score everything first, using fields you get for free on every Google Maps record. Then cut the bottom tier. That alone usually saves about a third of your data budget.
Pick five to eight things you can see on a record and weight them out of 100. Here is a working example for a commercial cleaning company:
| What you score | Points | How |
|---|---|---|
| Category match | 25 | Core category 25, related category 15, edge case 5 |
| Size | 20 | Use review count and number of locations as a stand-in for headcount |
| Distance | 15 | Within 30 minutes 15, within 45 minutes 10, further 0 |
| Years in business | 10 | Five years or more 10, three to five 7, under three 3 |
| Website | 10 | Current site 10, dated site 5, no site 0 |
| Review replies | 10 | Owner replies to reviews 10, unanswered reviews 5, no reviews 0 |
| A live signal | 10 | Any current trigger (see below) 10, none 0 |
The weights are yours. Base them on what your best customers had in common.
| Tier | Score | What it gets |
|---|---|---|
| A | 80 to 100 | Full owner data including phone. Custom personalization. Email, phone and direct mail |
| B | 60 to 79 | Standard data. Owner name and location personalization. Email and phone |
| C | 40 to 59 | Cheap data only. A generic inbox is fine. Templated email |
| D | Under 40 | Nothing. Don't enrich, don't send |
Cutting the D tier feels like making your list smaller. It is. A business with no use for your offer is not a weak lead. It is the wrong one, and it is the fastest route to a spam complaint.
A few things not to score on: star rating on its own (a 4.2 with 400 reviews beats a 5.0 with six), how nice the website looks, or whether you like them.
Find a Reason to Email Today
A signal is something that makes a business more likely to buy today than yesterday.
The usual signals, like funding rounds and new hires on LinkedIn, do not exist for a business with eleven employees. Local businesses have their own:
| Signal | Where to find it | What it tells you |
|---|---|---|
| Hiring | Indeed, local job boards, a careers page | The strongest everyday signal. The role tells you the gap |
| A recent bad review | Their review feed, sorted by newest | Especially about missed calls or slow quotes |
| Reviews going unanswered | Their review feed | Nobody owns the reputation. Usually means admin overload |
| Ads running | Meta Ad Library, paid search results | They have budget and are buying growth |
| New location | A new Maps listing under the same name | What worked at one site breaks at two |
| Permit filings | City and county permit portals | They are spending on the premises right now |
| Storm or weather events | Local news | A demand spike for roofing, restoration and plumbing |
| Seasonal window | The calendar | HVAC before summer, landscaping in spring |
| Ownership change | A new owner name or rewritten About page | Everything is up for review in the first few months |
The same signal does two jobs. It raises the score, and it writes your opening line.
Signals expire. A storm is useful for days. A bad review for two to four weeks. A new location for three to six months. So run signal campaigns as a steady trickle rather than one big batch.
Start with one signal, not eleven. Hiring is the easiest and most common. Then try unanswered or recent bad reviews, then ads running.
Step 4: Build Your List From Google Maps
Google Maps lists almost every local business. But it was built so someone could find a plumber at 9pm.
It tells you a business exists. It never tells you who owns it or how to email them.
| Field | On the Maps record? | What it is good for |
|---|---|---|
| Business name and category | Almost always | Targeting and personalization |
| Address | Usually, hidden for businesses that serve an area | Location targeting and proximity proof |
| Phone number | Usually | The follow-up call. Often the owner's mobile on small businesses |
| Website | About 70 to 80% | The starting point for finding the owner |
| Review count | Usually | A rough guide to business size |
| Email address | Never | You have to find it |
| Owner name | Never | You have to find it |
Those last two rows are the whole job.
Work the List in This Order
- Search. Run category searches across a geography you deliberately break into smaller pieces.
- Export. Pull the raw records and remove duplicates using the listing ID, never the business name.
- Clean. Remove closed businesses, duplicates, franchises and anything out of scope.
- Score. Rank what is left using Step 3, and cut the D tier.
- Enrich. Find the owner's name, email and phone. This is where the money goes.
- Sort. Put every contact into one of the four buckets in Step 5.
Everything before enrichment is cheap. Get the order wrong and you pay to enrich businesses you were about to throw away.
Search Deeper Than One Query Per City
This is the most common and most expensive mistake.
Google Maps has about 4,000 business categories, and the businesses you want are spread across many of them. In LocalPipe's controlled test, three simple changes grew the market without changing the target:
- Going deeper through the result pages found about 84% more businesses.
- Stacking related searches ("emergency plumber", "drain cleaning", "water heater repair") added about 23%.
- Splitting busy areas by ZIP code roughly doubled the results.
Also, do not throw away businesses without a website. About 20 to 30% have none. They are harder to enrich, but they are often the smallest, most owner-run businesses on the list, and they hear from almost nobody.
Find the Owner
Expect to find the owner's name on about 75% of records and a direct owner email on about 42%.
That only works if you cross-check several sources: the website, social profiles, state business filings and review sites. One source on its own lands far lower.
About 40% of records will return nothing from any provider. Plan for that instead of fighting it.
You have three ways to do this:
- Use a local data tool. LocalPipe does the Maps search, owner lookup and email verification for you. It is built for local owner data, with triple-verified emails (LocalPipe feature summary).
- Use Clay if you want to build the workflow yourself in a visual tool.
- Build your own scrapers if you are technical and want full control.
If you don't know how to build scrapers, use LocalPipe. It is what this whole guide runs on.
Before any big run, pull five to ten records by hand and estimate the full cost. Ten minutes here can save a few hundred dollars.
Step 5: Work All Four Contact Buckets
One business does not mean one contact.
Most sellers email one address per business and leave half their market untouched. Instead, put every contact into one of four buckets, and give each bucket its own campaign.
| Bucket | Looks like | Who reads it | How to write to it |
|---|---|---|---|
| 1. Owner direct | dan@brightcleaning.com | The owner | Name, location and category. Highest intent, lowest volume |
| 2. Generic inbox, owner known | info@brightcleaning.com, and you know Dan runs it | The owner or someone close to them | Mention the owner by name, in the third person |
| 3. Generic inbox, no name | contact@brightcleaning.com | Whoever is on the desk | Use the business name and what you can see. Usually the biggest bucket |
| 4. Personal Gmail or Outlook | brightcleaningdan@gmail.com | The owner personally, about 9 times in 10 | Write it like a text to a person. Send from separate inboxes |
Why generic inboxes are worth it. At an eleven-person business, nobody else reads info@. The owner does, or their partner does. Deleting those addresses removes a third to half of the market you can actually reach.
Why the Gmail bucket is often your best. On a local record, a Gmail address is usually the inbox on the owner's phone. It gets the most direct replies you will see. It just needs its own sending setup (Step 2).
It is the cheapest volume you have. Take 2,000 businesses. One address each, at a 42% find rate, gives you about 840 sends. Every usable bucket on the same businesses gives you about 1,200, for no extra sourcing cost.
This does not break the "five contacts per company" rule. That rule stops you emailing the CEO, CFO and three VPs at the same company. Here, dan@ and info@ are two routes to one person who expects mail at both.
Our rule is two to three routes per business, spaced out over time, never the same day. It works for us, but there is no controlled study behind it, so watch your complaint rate.
How to sort them: free email providers go to bucket four first, no matter what. Owner emails on the business domain go to bucket one. Generic inboxes with a confirmed owner name go to bucket two. Everything else goes to bucket three.
If you are not sure about an owner's name, use bucket three. A wrong name is worse than no name.
Step 6: Make an Offer an Owner Will Give You 15 Minutes For
You need two offers, not one: what you sell, and a free lead magnet that earns fifteen minutes of an owner's day.
Most sellers only build the first.
On local, the lead magnet that wins is an audit of something public, or a free trial of something valuable. It is a lead magnet that solves a small problem or surfaces a bigger one.
Local businesses have visible, checkable problems. Showing an owner something true they did not know proves you are good at this. Telling them does not.
It also qualifies them. If the audit comes back clean, they are not a fit, and you found out before the call.
Pick the one that leads into what you sell:
- Google Business Profile audit: missing categories, wrong hours, no photos, unclaimed listing.
- Review response gap: how many reviews they have, how many they answered, and what the unanswered bad ones say.
- Missed call analysis: how many calls go unanswered and what that costs in lost jobs.
- Competitor check: who ranks above them for the searches their customers use.
- Quote response test: send an enquiry as a customer and time the reply. This is the most common reason local businesses lose work.
- Service area map: where their jobs cluster compared to where the demand is.
A cleaning company should not run a Google profile audit. A marketing agency should. The free lead magnet has to lead naturally to the thing you sell.
Make it sound like you noticed something. "I had a look at your Google listing and three of your service categories are missing. Happy to walk you through it, takes ten minutes" sounds like a person. "Download our free 2026 Local Visibility Audit" sounds like a funnel.
Deliver it live as much as possible. If you email the audit, you have given away the reason for the meeting. Offer the finding in the email, walk through it on a short call, and send the document afterwards either way.
Some owners will want to see it first no matter what you say. That is fine in those cases.
What does not work with owner-operators: ebooks, discounts, generic industry reports and webinar invites. Nobody with a van has ever downloaded an ebook.
Step 7: Write the Email
Every cold email answers four questions, in this order: why me, why should I care, why should I believe you, and what now.
Each one earns the right to the next. Skip one and the reader stops there.
Most weak emails break in two places.
The opener gives no real reason for reaching out, so the owner decides it is a mass email in the first line.
Or the proof is a claim nobody can check, like "we help businesses like yours grow revenue." A small, specific, checkable claim always beats a big vague one.
The First Email, Line by Line
Forty to eighty words (more if it makes sense). Plain text. One ask.
| Line | Its job | Example |
|---|---|---|
| Subject | Get the open without promising anything | "quick question" |
| Opener | Why this business, today | "Saw you're hiring a second install crew." |
| Problem | Why they should care, in their money | "Usually that means quotes are going out slower than they should." |
| Proof | Why believe you, in a way they can check | "We do this for two other HVAC firms in the county." |
| Ask | One small next step | "Worth a quick look at yours?" |
| Sign-off | Be a person | First name only. No title, logo or banner |
Write only with information you will actually have. A local record always has the business name, category, city and review count. It usually has the owner's first name, website and opening hours.
It almost never has reliable headcount, revenue or tech stack, so do not build emails on them unless it's validated.
Write a fallback for every merge field. On local lists, missing fields are common, and a broken merge field is the fastest way to show you are mass mailing.
If there is no specific detail, use a version that works for the whole category.
Then blank each field on a test record, send it to yourself and read it.
Four Real Examples, One Per Bucket
Use these as structure, not as templates. What makes them work is that each one is specific to one business.
Hi Dan,
Saw you're hiring a second front desk person. Usually means the practice is growing faster than the back office, and cleaning is the first thing that slips.
We look after two practices on Whiteladies Road, both on evening schedules so nobody's waiting around.
Worth ten minutes to see if we'd fit?
Harvey
The opener is public, recent and tied to the pitch. The proof is a named road they can check in thirty seconds. The ask is small. 62 words.
Hi,
Hoping to reach Tom, or whoever handles the building.
We service the two units either side of yours on Mill Road. Both moved to a quarterly schedule after a breakdown in the middle of a heatwave, which is the expensive way to learn.
If Tom's the right person, could you pass this on? If not, who should I be asking for?
Harvey
It names the owner without pretending to know him, and gives the reader an easy job: forward it.
Hi,
We deliver linen to four restaurants in the Old Town, all on Tuesday and Friday runs.
Adding one more on the same route means we can do it cheaper than you're likely paying now, and you get the same driver each week.
Is that something worth a look?
Harvey
No fake personalization. Location carries the whole email, and the offer is better because of it.
Hi Sam,
We run linen deliveries to four places in the Old Town, Tuesdays and Fridays.
Is that something you sort yourself, or does someone else handle it?
Harvey
It reads like a text. The ask is a question, not a meeting. 38 words.
What Not to Send
Here is the opposite: a subject line promising "Boost Your Efficiency by 40%!", "Hi there", "I hope this email finds you well", a paragraph full of words like innovative, leverage and seamless, a 30-minute discovery call ask, and a signature with a title, logo and three links. 168 words.
None of it is badly written. It is written for the wrong reader. That email is for someone at a desk. Your reader is on a job site.
The Sequence
Three emails, two to three days apart. That is the cap.
| Its job | |
|---|---|
| 1 | The full argument: why them, why care, why believe, what now |
| 2 | A new angle. The same offer from a different problem or different proof |
| 3 | Name the silence ("guessing this isn't a priority right now, happy to leave it") or try something completely different |
There is no email four. If three emails to the right person with the right offer get nothing, a fourth will not fix it. Something upstream is wrong.
Send early morning or early evening. Owners read email before jobs start and after they finish, not at 2pm. Tuesday to Thursday works best for the first send.
Subject Lines
One to three words, lowercase, and it should look like a note from a colleague: "quick question", "your Mill Road job", "Tuesdays".
Avoid numbers, questions that promise value ("Want more customers?"), first-name tokens in the subject, and fake RE: or FW: on a first email.
The Cut List
Before anything goes out, strip these:
- Hype words: revolutionary, game-changing, cutting-edge, unlock, supercharge, seamless.
- AI tells: "I hope this email finds you well", "I wanted to reach out", delve, leverage, solutions, streamline.
- Jargon: synergy, bandwidth, circle back, touch base, best-in-class.
- Hedges: "just", "sorry to bother", "I know you're busy".
- Compliments from a stranger: "I love what you're doing."
Then read it out loud. Any sentence you would never say to someone's face gets cut.
Step 8: Launch and Fix What Breaks
When replies are bad, most people rewrite the copy. On local, that is the right fix about one time in ten.
The problem is almost always lower down. Check these four things in order, and do not move up until the one below checks out.
| Order | Check | The question | How often it is the cause |
|---|---|---|---|
| 1 | Deliverability | Is the email reaching the inbox at all? | Common, and invisible unless you test |
| 2 | Prospects | Are these the right people, and is this the whole market? | The most common cause by far |
| 3 | Offer and copy | Is the pitch right, and is it written well? | Sometimes, and usually the offer, not the copy |
| 4 | Volume | Have you sent enough to know anything? | Often, and almost never noticed |
Deliverability first. Run a real inbox placement test. Check bounce against the 2% bar. Read the actual bounce messages. If reply rates fell across every campaign at once, the problem is your inboxes, not any one campaign.
Then prospects. Did you search deep enough, or did you run one query per city? Are you working all four buckets? Are your A-tier businesses replying better than your C-tier ones? If not, your scoring is off.
Then the offer and copy. Test the offer first. It is the bigger lever. Look at what people say when they reply no. "Not interested" points to the offer. "Not relevant" points to targeting.
Then volume. Have at least 500 contacts gone through the campaign? If not, you do not have a result yet. At one positive reply per 50 to 100 contacts, 300 contacts might give you three replies. Three is noise.
| What you see | Look here first |
|---|---|
| Bounce above 2% | Your list quality, then your sending reputation |
| Replies dropped across every campaign | Your inboxes |
| Replies are mostly "not relevant" | Who you are targeting |
| Replies are mostly "not interested" | Your offer |
| Good replies, but few meetings booked | How fast you respond (Step 9) |
| Meetings booked, but nobody qualified | Who you are targeting |
| Everything flat and volume is low | You do not have a result yet |
Whatever you find, change one thing and rerun. Change four things at once and you will never know which one worked.
Step 9: Turn Replies Into Meetings That Actually Happen
On local, a positive reply is not a booked meeting. It is a cue to pick up the phone.
Call Within the Hour
Someone replies to a cold email because for about ninety seconds they were curious.
Within the hour, they remember writing to you. The same day, they are still warm. The next day, they have to remember why they replied. After two days, you are cold again.
Local owners are on job sites, not at desks. They would rather talk than type, and every extra email is another chance for the deal to go cold. You already have their number from the Maps record.
The rule: reply by email and call, within the hour. The email is the receipt. The call is what books the meeting.
To make that happen:
- Send reply alerts to a phone by text or push, not to the inbox that just got the reply.
- Name one person who calls. "Whoever sees it first" means nobody.
- Put the phone number in the alert.
- Write the opening line of the call in advance.
- Track time from reply to first call. If you don't track it, it drifts to a day within a month.
If fewer than half your positive replies become meetings, the problem is almost never your wording. It is the gap between the reply arriving and someone calling.
Get Them to Show Up
The booking is not the win. The held meeting is.
A van breaks down, a job runs over, and your call is the easiest thing to drop. So book within 24 to 48 hours. Four days is the outer limit. "Sometime next month" is a polite no.
Then run these five steps on every booking:
- Send them to a pre-call page, not a generic thank-you screen. That moment right after booking is when they are paying the most attention to you. More on the page below.
- Confirm in the email thread and send a calendar invite. Put the phone number in the invite and a line about what you will cover.
- Send a personal note from whoever runs the call, the same day. "Looking forward to Thursday. I'll have pulled up your listing before we speak so we can get straight into it."
- Remind them by text on the morning of the call. "Hi Dan, we're on for 2pm today. Calling this number unless you'd rather I use another one."
- Ask one short question the day before. "Quick one before Thursday, roughly how many quotes are you sending a week at the moment?" An answer confirms they are coming.
The Pre-Call Page
This page is what separates a 50% show rate from a 70% or better one.
Build it as a checklist, not a wall of text. Five numbered steps with a done button on each:
- Start here: a short video, about five minutes, explaining the page.
- Confirm your call: click the confirmation link in the email.
- The full breakdown: a longer video, with chapters and timestamps, explaining how your system works. If they only do one step, it should be this one.
- Proof: named results from real customers.
- Questions answered: short videos on the questions people ask most, including price.
Answer the price question on the page. Someone who sees your price and still shows up has half decided already.
Keep it to one page with no other links, and make it work on a phone. Our own version is live at legacygtm.com/thank-you.
Win Back No-Shows
With a simple process, you recover 20 to 30% of no-shows. Without one, almost none.
| When | What you do |
|---|---|
| Within the hour | Call, then a short text. "Guessing something came up, happy to grab another slot" |
| Day two | One email with two new times. Nothing about the missed call |
| Day four | Offer to leave it and come back later. This one often gets the reply |
| After that | Move them to a follow-up date three months out |
Never make them feel bad about it. A job ran over. It happens.
| What good looks like | Target |
|---|---|
| Time from reply to first call | Under an hour, ideally 3 to 5 minutes |
| Positive replies that become meetings | Around half |
| Show rate | 70 to 80% |
| No-shows recovered | 20 to 30% |
Beyond the Inbox
Email is the engine. But local owners respond to more than email.
Direct mail with QR tracking. A handwritten-style postcard to the business address, with a QR code that tells you who scanned it. It reaches owners who never check email. Treat a scan like a reply and call.
The phone. You already have the number on every Maps record. Use it after a reply, after a postcard scan, and alongside the email sequence for your A-tier businesses.
Referrals. Local owners know each other. A happy customer on one street is your best proof on the next one, so ask every new customer who else they know.
What to Buy, and in What Order
Buying the optional tools too early is how a program costs three times what it should before it sends a single email.
| Order | What | When | Notes |
|---|---|---|---|
| 1 | Domains | Day one | Spaceship or Dynadot. Not the same registrar as your main domain |
| 2 | Managed inboxes | Day one | InboxKit, about $3 per inbox per month with code GTMLAUNCHPAD |
| 3 | Sequencer | Days one to three | Sendkit, 10% off with code 10GTMLAUNCHPAD |
| 4 | Local data | Day three | LocalPipe |
| 5 | Personal inbox warm-up | When you add the Gmail lane | Warmy |
| 6 | Enrichment tool | Only if you need it | Clay or Claude Code. Many programs never do |
| 7 | Booking tool and reply alerts | Before launch | Alerts must reach a phone |
| 8 | CRM | Only if you don't have one | A spreadsheet is fine at a few thousand sends a month |
The minimum you need on day one is four things: domains, inboxes, a sequencer and a local data source.
Skip AI SDR platforms, intent data tools, enterprise sales platforms and corporate contact databases. They are built for a different kind of buyer.
A Worked Example: One Program Over 90 Days
Here is how the whole system fits together, using a commercial cleaning company.
The numbers are illustrative, built from the benchmark ranges in this guide. Your own numbers will differ.
The business has eleven staff and works in one city. It sells recurring cleaning contracts worth about £1,500 a month, or £18,000 a year. The goal is five new contracts in a year.
Start with the maths, before spending anything. Work backwards from the goal:
| Stage | Number needed |
|---|---|
| Contracts | 5 |
| Qualified conversations (30% close rate) | 17 |
| Meetings held (60% qualify) | 29 |
| Meetings booked (75% show rate) | 39 |
| Positive replies (half book) | 78 |
| Contacts to reach (one positive per 75) | 5,850 |
That is about 490 new contacts a month.
Then check the market can hold it. A proper search across every relevant category found 24,000 businesses. After cleaning, finding emails, working all four buckets and verifying, about 7,095 were ready to send. Enough for over a year.
If they had run one search per city, they would have started near 5,000 businesses and ended under 1,500 sendable contacts. The honest answer would have been no.
Then the first 90 days:
| When | What happened |
|---|---|
| Weeks 1 to 2 | Inboxes warming. Phone and direct mail to the A tier |
| Weeks 3 to 4 | Bounce at 1.6%. First two positive replies, both called within the hour |
| Weeks 5 to 6 | Full volume. First three meetings held. One no-show, won back on day two |
| Weeks 7 to 12 | About 1,500 contacts reached. 19 positive replies. 10 meetings. First contract signed in week nine |
| Day 90 | Two contracts closed. £36,000 of yearly contract value from about £540 of tools and thirty hours |
Four things moved the numbers most: searching deep enough, working all four buckets, calling within the hour, and putting a nearby street name in the opener.
The lesson most people miss: month one produced nothing, and it was working perfectly. Judge at day 90, not day 30.
Benchmarks for a Well-Built Local Campaign
These are reference ranges, not promises.
Plan against the find rates, which come from a controlled test. Replace the rest with your own numbers within 90 days. And don't average across industries: plumbers and dental practices behave differently.
| Measure | Range | Where it comes from |
|---|---|---|
| Bounce rate | Under 2% | Legacy GTM programs |
| Owner name find rate | About 75% | Controlled test across four data providers |
| Owner direct email find rate | About 42% | Controlled test across four data providers |
| Combined email coverage | About 60% | Controlled test across four data providers |
| Owner phone find rate | About 20% | Controlled test across four data providers |
| Reply rate | Roughly 3 to 4% | LocalPipe analysis of about 7.2M emails |
| Contacts per positive reply | 1 in 50 to 100 | Legacy GTM programs |
| Positive replies that book | Around half | Legacy GTM programs |
| Show rate with a pre-call process | 70 to 80% | Legacy GTM programs |
| Monthly sends | Roughly 2,000 to 4,000 for a smaller market, 10,000 to 20,000 for a bigger market | Legacy GTM programs |
| Qualified meetings per month | Roughly 8 to 12 at the smaller-market volume | Legacy GTM programs |
| Contacts needed before a test means anything | 500 to 1,000 | Legacy GTM programs |
The controlled test and the 7.2M email analysis come from LocalPipe, who co-authored the list building method in this guide (LocalPipe comparison). Legacy GTM figures come from our own programs across more than 20 million cold emails. None of it is independently audited.
Frequently Asked Questions
What is the best way to get leads from local businesses?
Build your list from Google Maps instead of a standard B2B database. Find the owner behind each business. Then contact them with short, specific cold emails, and call when they reply.
Most local businesses are missing from the big databases, so this reaches owners your competitors are not contacting.
If you don't know how to build your own scrapers, use LocalPipe instead.
Why can't I just use Apollo or ZoomInfo for local businesses?
They were built for companies with LinkedIn profiles and org charts. Under 5% of local small businesses are in them, and the few that are get emailed by everyone else.
They still work for franchise head offices and larger commercial or construction firms.
How do I find the owner's email for a local business?
Start from the Google Maps record. Then cross-check the website, social profiles, state business filings and review sites.
Using several sources, expect a name on about 75% of records and a direct owner email on about 42%.
LocalPipe does this for you automatically, but you can also use Clay or build your own scrapers.
Should I send cold email to Gmail addresses?
On a local list, yes, but from separate domains and inboxes. A Gmail address on a local record usually belongs to the owner, which makes it one of your best segments.
It bounces more often, so never mix it with your main sending setup. Use a warm-up provider that includes real personal inboxes, like Warmy.
How many emails should a cold email sequence to local businesses have?
Three, two to three days apart. The first one does about 80% of the work. If three emails get nothing, a fourth won't fix it.
How many meetings can cold email to local businesses realistically book?
If you sell locally, a healthy program sending roughly 2,000 to 4,000 emails a month typically books about 8 to 12 qualified meetings, with around one positive reply for every 50 to 100 contacts.
It also depends on your niche. Some niches realistically need more contacts per positive reply.
How long until I see results?
Plan on two to three weeks of inbox warm-up before your first real sends, then 500 to 1,000 contacts per test before you judge the results.
Some Legacy GTM clients see their first booking within 3 days of launch. Others take 2 to 3 weeks, depending on niche and offer.
Sources
Want the Meetings Without Building Any of This?
On the call, we will:
- Build you a free campaign, not a pitch deck.
- Map a path to 15 to 30 qualified meetings a month with local businesses.
- Show you how to run it yourself, or run the whole thing for you so you never touch the software.
You keep the strategy either way, whether you work with us or not.
Book a free campaign session with Harvey

