← Blog

How to Find Local Businesses Without Websites (I Found 131 Hair Salons in Chattanooga)

I pulled every hair salon in the Chattanooga area into Google Sheets with Local Lead Finder. 131 of 325 list no website on Google Maps, and in East Ridge it's 11 out of 13.

One way to use Local Lead Finder. Local Lead Finder is a $10 Google Sheets template I built that turns any Google Maps search into a lead list: every business, with phone, website, rating and reviews. This post is one use case for it: finding local businesses without websites to pitch. I’m not a web designer; this is the playbook I’d follow if I were, run for real with the template. Other ways to use it are listed at the end, or see all 18 lead generation ideas.

You build websites, and the hard part isn’t the design. It’s finding the local businesses without websites that would actually pay for one. Search for that and page 1 is mostly tools that build the list for you: lead services like Grape Leads and Webleadr, a no-website scraper on Apify, a PhantomBuster walkthrough on YouTube, and a Reddit thread about a free tool someone built. They all promise leads. What I didn’t find was a real run you can check: how many came back, which towns have the most, and who’s worth calling first.

So here’s exactly what I’d do this week if I were a web designer in Chattanooga. I ran it for real with Local Lead Finder, a $10 Google Sheet I built that pulls every business on Google Maps into a spreadsheet. One “hair salon” search found 325 salons, and 131 of them list no website. By the end you’ll know which towns to start in and the first salon I’d call.

TL;DR

  • One “hair salon” search across 73 Chattanooga-area areas found 325 salons, and 131 of them list no website.
  • An empty Website cell only means nothing is listed on Google, so search each name before you pitch.
  • Don’t call the top of the list blind: two of the top three are “Villages” that may not be salons.

Who this is for

  • Freelance web designer: you get a list of local businesses with no website listed, sorted by reviews, instead of guessing who needs one.
  • Web design agency owner: you can see which towns around your city have the biggest gap before you spend a week on outreach.
  • Local SEO freelancer: businesses with good reviews and nowhere to send people are an easy first conversation about a site.
  • Social media manager for small businesses: 25 of these salons list Facebook, Instagram or Linktree as their website, and you can find them the same way.
  • Someone starting a web design side hustle: you get your first 131 names to call this week, with phone numbers.

Before you start

Don’t have a Places API key yet? How to get one free. Haven’t set up the sheet? Setup takes 5 minutes.

How to find businesses without websites: the setup

Region: Chattanooga, Tennessee. Keyword: hair salon.

I picked hair salons because a lot of them run on Instagram and a booking app, and I wanted to see how many skip a website entirely. I picked Chattanooga because it’s a mid-size city with a ring of small towns around it, some of them across the line in Georgia.

Find Areas pulled 73 areas from OpenStreetMap: Chattanooga itself plus places like Apison, East Ridge, Signal Mountain and Soddy-Daisy.

The AREAS tab with the Chattanooga areas, all ticked

Then Search in All AREAS with “hair salon”. The sheet searched “hair salon in Apison”, “hair salon in Blevins Acre”, and so on for all 73, removed duplicates, and wrote 325 salons to a new tab. It finished in under half a minute.

The Website column is the whole trick

Every result row has a name, phone, address, rating, number of reviews, and a Website column. The Website column is whatever the business put in its Google profile. When it’s empty, the business didn’t list one.

The results tab: salon names, phones, addresses, ratings, reviews and the Website column, with blanks for salons that list no website

To count them I added a tab with a few formulas. The main one:

=COUNTIFS('hair salon (AREAS)'!A2:A,"<>",'hair salon (AREAS)'!I2:I,"")

That counts rows that have a name (column A) but no website (column I).

What it found: local businesses without websites in Chattanooga

Summary: 325 salons found, 131 with no website listed, 40%

131 of 325 salons list no website. That’s 40%.

And that’s the strict count. Another 25 list a Facebook, Instagram or Linktree page as their website, and 38 list a booking page (GlossGenius, Vagaro, Booksy and similar) instead of their own site. Those are leads too, just a different pitch.

It’s not the bad salons

You might expect the salons with no website to be the ones nobody goes to. They aren’t.

  • 117 of the 131 are rated 4.5 or higher.
  • 37 of them have 50 or more reviews.
  • The median salon with no website has 28 reviews. The median salon with a website has 51.

So they’re a bit smaller, but customers like them. That’s a better pitch than “you need a website”: you already have the reviews, you just don’t have anywhere to send people.

“Don’t think innovation; think usefulness.” (Chris Guillebeau, The $100 Startup)

That’s the pitch for these salons. Nothing clever, just a place to send all those happy reviewers.

It depends a lot on the town

No website by town: Chattanooga 32%, East Ridge 85%, Soddy-Daisy 69%

In Chattanooga itself, 56 of 176 salons have no website (32%). Go a few miles out and it flips:

  • East Ridge: 11 of 13 (85%)
  • Whitwell: 4 of 5 (80%)
  • Soddy-Daisy: 9 of 13 (69%)
  • Signal Mountain: 6 of 9 (67%)

If I were a web designer in Chattanooga, I’d start in East Ridge and Soddy-Daisy. Fewer salons, but almost none of them have a site, so nobody’s knocked yet.

The town comes from the address, not from which area found it. I pulled it out with REGEXEXTRACT and grouped it with QUERY:

=QUERY({ARRAYFORMULA(REGEXEXTRACT('hair salon (AREAS)'!C2:C326,"([^,]+), [A-Z]{2} \d{5}")),ARRAYFORMULA(IF('hair salon (AREAS)'!I2:I326="",1,0))},"select Col1, count(Col1), sum(Col2) group by Col1 order by count(Col1) desc")

The list to actually call

The last thing I added was the salons with no website, most-reviewed first:

Salons with no website, sorted by number of reviews

=QUERY('hair salon (AREAS)'!A1:J326,"select A, D, E, B, J where I is null and A is not null order by E desc",1)

HAIR PALACE BEAUTY has a 5.0 rating, 689 reviews, and no website. That’s the first call I’d make.

“You have to go out and get them.” (Paul Graham, Do Things that Don’t Scale)

Graham was talking about startup users, but it’s the same with clients. The sheet gives you the list. Somebody still has to call HAIR PALACE BEAUTY.

Check the top of this list before you pitch it. The first and third rows, Signal Mountain Village (890 reviews) and Creek Plantation Village (402), have names that sound more like a shopping center or a community than a salon. Google listed them under hair salon and I don’t know why.

Step by step

  1. Get a free Google Places API key and paste it into the SETTINGS tab of Local Lead Finder.
  2. Run Find Areas on your region (I used Chattanooga, Tennessee). Untick any areas you don’t want in the AREAS tab.
  3. Run Search in All AREAS with a keyword for the businesses you’d build sites for (I used hair salon).
  4. In the new results tab, look at the Website column. Empty means the business didn’t list a website on Google.
  5. Count them with COUNTIFS on rows that have a name and no website.
  6. Group by town with REGEXEXTRACT and QUERY to see where the gaps are biggest.
  7. Sort the no-website rows by number of reviews, search each name to make sure there’s really no site, and start calling from the top.
  8. Mark each one you contact as Outreached so it stays green in every future search.

Common pitfalls

  • Treating an empty Website cell as proof: it only means the business didn’t list a site on Google. Search the name before you pitch, or you’ll pitch a salon that already has one.
  • Counting Facebook and booking pages as “no website”: 25 salons list a Facebook, Instagram or Linktree page and 38 list a booking page. Their Website cell isn’t empty, so they’re not in the 131. Pitch them separately.
  • Leaving barbershops in: a “hair salon” search brings barbershops along. Filter them out by name, or run “barber shop” as its own search.
  • Calling the two “villages” first: Signal Mountain Village (890 reviews) and Creek Plantation Village (402) are first and third on the no-website list, but their names sound like a shopping center or a community. Check them before you call.
  • Keeping towns outside the region: one result each landed in Knoxville, Madison and Powell. Spot them in the by-town table and delete them.
  • Searching before Find Areas finishes: Find Areas takes a minute or two to pull towns from OpenStreetMap. Wait until the AREAS tab is filled (73 areas here) before you search.
  • Not marking Outreached: without it you’ll call the same salon twice. Outreached rows turn green and stay green in every future search.

Learn the Google Sheets formulas in this post

Better Sheets has hundreds more tutorials like these. If you want to get better at Google Sheets, join Better Sheets.

Other ways to use Local Lead Finder

All 18, grouped by who they’re for: Lead generation ideas: 18 local businesses to sell to.

FAQ

How do I find local businesses near me without a website?

Run Find Areas on your own city or region, search a business type, and look for empty cells in the Website column. Every row also has the area it was found in, so you can see which nearby towns have the most businesses with no site listed.

How many small businesses don’t have websites?

I can only tell you what this one search found: 131 of 325 hair salons around Chattanooga list no website on Google Maps, 40%. It changed a lot by town, from 32% in Chattanooga itself to 85% in East Ridge. Run your own business type and region and you’ll get your own number.

Does an empty Website column mean the business has no website?

No. It means they didn’t list one on their Google profile. Here, 25 more salons list a Facebook, Instagram or Linktree page, and 38 list a booking page. Search the name before you pitch.

Which salons should I call first?

Start outside the city, where the gap is biggest: East Ridge is 11 of 13 with no website and Soddy-Daisy is 9 of 13. Then sort by reviews. HAIR PALACE BEAUTY has a 5.0 rating, 689 reviews and no website, so that’s my first call.

Should I pitch salons that only have a Facebook or booking page?

Yes, they’re leads too, just a different pitch. Here 25 salons list a Facebook, Instagram or Linktree page and 38 list a booking page instead of their own site.

How much does a search like this cost?

You use your own Google Places API (New) key, and Google gives up to 1,000 searches a month free. Each area is one request per results page, so this 73-area search was 73 requests. The sheet shows the most a search could cost before it runs.

Is Local Lead Finder a scraper?

No. It uses Google’s official Places API with your own key. The first time you run it, Google asks you to authorize the script.

Get the sheet

Local Lead Finder is $10, and free for Better Sheets lifetime members. Pick a region, type a keyword, and every result lands in its own tab with a phone number and a one-click WhatsApp link.

Get Local Lead Finder

Ads keep the free stuff free. Members browse ad-free — log in or see pricing.
Big Year 2027 calendar: the whole year on one Google Sheet

Free 2027 calendar.Plan all of 2027 on one Google Sheet, free.

Copy it to your Google Drive.

Get it free