Referrals dried up, your portfolio is solid, and you still have empty slots on the calendar. Waiting for inbound leads is slow when your own agency site is still climbing the rankings. The fastest lever you control is outbound: finding businesses that clearly need SEO and telling them, specifically, what you noticed.
This guide covers one intent: getting your next few SEO clients through direct outreach to local businesses. Every step can be started today.
Step 1: Pick one niche you can speak to
"We do SEO for any business" gives a prospect no reason to pick you. A narrow niche lets you write emails that sound like you already understand their customers.
Good niches for SEO outreach tend to share three traits:
- High customer value. One new client is worth a lot to them, so a monthly retainer makes sense. Think clinics, law firms, contractors, plastic surgeons or wedding venues.
- Local search intent. Their buyers type "near me" searches and compare results on Google Maps.
- Visible gaps. Many have thin websites, few reviews or no location pages.
Pick one niche and two or three cities for your first batch. You can expand once you know what message works.
Step 2: Build a list of businesses that actually need you
A good list beats a big list. You want businesses that exist, have a website, and show signs of weak search presence.
Google Maps is the natural source because it shows exactly what a searcher sees. Search your niche plus a city, then note:
- Business name, website, phone and category
- Number of reviews and rating
- Whether the site loads, works on mobile, and has a clear page per service
- An email address and, ideally, the owner's name
Doing this by hand works for 20 or 30 businesses. Beyond that, a scraper saves hours. In GetClient, the Google Maps scraper searches live by keyword and location, handles several keywords and cities at once, and returns emails, owner name and title with a confidence score, and social profiles where these are public. If you're weighing whether to pay for a ready-made list instead, read buy lead lists vs build your own.
Filter before you write a word
Remove businesses that already rank in the top three map results for their main term. They're the hardest sell. Keep the ones on page two, with few reviews, or with an outdated site. Those owners can see the problem when you point at it.
About generic addresses like info@: they often reach the owner at small businesses, but not always. See role emails: send or skip to decide case by case.
Step 3: Find one specific observation per prospect
This is what separates your email from the dozen generic SEO pitches they deleted this month. Spend two minutes per prospect and find one concrete thing:
- "You don't show up in the map pack for 'emergency dentist [city]', but two competitors with fewer reviews do."
- "Your services page lists five treatments on one page, so Google has no single page to rank for each."
- "Your site title just says 'Home'."
One real observation is enough. Don't send a full audit unasked. It's long, rarely read, and gives away your work.
Step 4: Write a short first email
Keep it under about 100 words as a rule of thumb. Structure:
- Observation about their business.
- Why it costs them in plain terms (calls going to a competitor).
- A small offer, such as a free 5-minute screen recording explaining the fix.
- A low-effort ask: "Want me to send it?"
Example:
Subject: {{params.name}} on Google Maps
Hi {{params.firstname}},
I searched "{{params.category}} in {{params.city}}" and {{params.name}} didn't appear in the top map results, while two nearby competitors did. From a quick look at {{params.website}}, a couple of fixes stood out that are usually quick to make.
I can record a short video walking through them. Free, no call needed. Want me to send it?
The merge tags fill the basics, but add your personal observation line by hand for each prospect. That line does the real work.
Step 5: Follow up, and know when to stop
People miss emails. A polite follow-up is normal. A reasonable sequence:
- Day 3 or 4: a short nudge adding one more detail you noticed.
- Day 8 to 10: offer something different, like a competitor comparison.
- Then stop. A final note saying you'll close the loop is fine.
If your tool can branch, adjust the message: someone who opened but didn't reply might get a shorter nudge, while someone who never opened might get a new subject line. GetClient's flow builder supports If Opened and If NOT Opened branches with delays in days, hours and minutes, and you can preview each step before it sends.
Step 6: Protect your sender reputation
An SEO agency that lands in spam looks bad. A few habits help:
- Verify emails before sending so you aren't bouncing off dead addresses.
- Send from a separate domain or account at modest daily volumes, and increase slowly.
- Include a clear opt-out. See unsubscribe links in cold email for why it helps you as much as the recipient.
- Watch complaints. Read up on spam complaint rate so you know what to monitor.
Cold email rules differ by country. Check the laws that apply to you and your recipients; this isn't legal advice.
Step 7: Do the math and set a weekly rhythm
Decide how many clients you want, then work backward. If you expect a certain reply rate and close rate from your own past results, you can estimate how many prospects you need each week. The lead generation calculator helps you run those numbers with your own inputs instead of guesses.
A sustainable rhythm for a solo owner or small agency:
- Monday: build and filter 50 to 100 prospects in one niche.
- Tuesday: write observation lines and launch.
- Daily: answer replies within a few hours.
- Friday: review which subject lines and offers got replies, then tweak one thing.
If you'd rather keep the list, sending and replies in one place instead of juggling a scraper, verifier and sender, GetClient does that, with 100 free credits to start and no card needed. Plans are on the pricing page.