Phase 1: Pick your ICP carefully
The single biggest mistake new agencies and freelancers make is going after "all small businesses." That's not an ICP — that's a wishlist. The narrower your target, the easier every other step becomes.
Good ICP definition includes:
- Vertical: Restaurants? Dentists? Roofers? Pick one or two.
- Size: Under 10 employees? Multiple locations? Solo owner-operated?
- Geography: Single ZIP, single city, or regional?
- Signal: Already running ads? No website? Stalling reviews?
Example: "Independent dentists in Austin, TX with 4.5+ star reviews and websites built before 2020." Narrow. Concrete. Easy to source.
Phase 2: Build the data list
You have four options here, ranked by speed/cost:
Option A — Lead-gen tools (fastest)
Tools like ZipLead (built for local SMB), Apollo (built for tech), and Clay (technical) pull business data at scale. Cost: $59-$200/mo. Time to first list: under 60 seconds.
Option B — Google Maps + spreadsheet (manual)
Search Google Maps by category in your area, copy names + phones + reviews into a sheet. Free. Slow — figure ~20 leads per hour.
Option C — Local directories
Yellow Pages, Better Business Bureau, local chamber listings. Free but variable data quality.
Option D — Custom scraping
Write your own scraper (or pay a freelancer). Cheap-ish but requires technical skill or budget.
For most service providers, Option A is the best ROI — your time is worth more than $59/mo.
Phase 3: Qualify before contacting
Not every business in your list is worth your time. Qualification before outreach is the difference between a 3% reply rate and a 30% reply rate.
Key qualification signals:
- Site quality — outdated, broken, missing = opportunity for web services
- Review velocity — slowing = struggling business, more receptive to outreach
- Ad spend trend — rising = budget available, growth-oriented
- Mobile page speed — over 3 seconds = losing customers, will pay to fix
- Contact reachability — verified email + active phone = real business
ZipLead's scoring bundles the signals it can observe — site quality, review velocity, whether they're running ads, reachability — into a 0-99 score so you can sort instantly. If you're doing this manually, build a simple weighted spreadsheet.
Phase 4: Multi-channel outreach
Single-channel outreach is dead in 2026. Email-only campaigns top out at 3.43% reply (per Instantly's 2026 Benchmark Report). Layered outreach is the way.
The 2026 stack for local biz outreach:
- Cold email — 5-step sequence over 14 days. 42% of replies come from follow-ups, not the initial send.
- Phone — One call after Email #2 lands. Reference the email.
- LinkedIn DM — If the owner has a profile, send a personalized note after Email #1.
- Google review reply — Comment on a recent review of the business. Soft warming.
- Local visit — For high-value prospects, drop in. Old-school but works.
Phase 5: Track + iterate
Most service providers ship outreach into a black hole. Then can't tell what's working.
Track these per prospect:
- Date added to pipeline
- Outreach channels used
- Response (any)
- Stage: cold → warm → meeting → won / lost
- Notes (what did they say)
ZipLead's built-in pipeline does this. So does HubSpot, Pipedrive, Close, Folk. Or a simple Notion board. Pick anything — just track.
The realistic numbers
A well-run prospecting motion for a local SMB freelancer looks like:
- 100 prospects in pipeline (one good search session)
- 30-40 hot leads (score 80+)
- ~5-8% reply rate across full 14-day sequence
- 3-5 actual conversations from those replies
- 1-2 closes per 100 prospects, depending on offer + price point
That's one search session = 1-2 clients. Do this weekly and you'll never have a dry month.
Where most people fail
They quit after week 2. Cold outreach has a 14-day tail. If you give up at day 5, you missed 42% of your replies. Set the sequence, commit to running it through the full cycle.
They don't qualify.Spraying 1,000 unqualified prospects gets fewer replies than 200 well-qualified ones. Quality > quantity, always.
They don't track. Without data, you can't iterate. Without iteration, you don't improve.