Short answer
Often because the Business Profile isn't verified or is incomplete, or because other businesses are a closer match or simply closer to the person searching. Google ranks local results on three things: relevance, distance and prominence.How Google decides who shows up
Google names three factors (Google Business Profile Help):
- Relevance: “how well a Business Profile matches what someone is searching for.”
- Distance: “how far each business is from the customer who's searching.”
- Prominence: “how well-known a business is.”
Distance is why you can appear for one person and not another. Search from your shop and you may be first; search from across town and you may not appear at all.
Common reasons, and what to do
- Not verified. Google says to verify “so it's more likely to show up in search results.”
- Incomplete. “Businesses with complete and accurate info are more likely to show up in local search results.” Fill in categories, hours, services, website and photos.
- Wrong category. Google asks you to “choose the fewest number of categories it takes to describe your overall core business”, so pick the one that matches what customers search.
- Few reviews or replies. Prominence includes what others say about you. Google also notes that “when you reply to customer reviews, it shows that you value their feedback.”
- A rule problem. Stuffing extra words into your business name can backfire: “Including unnecessary information in your business name isn't permitted, and could result in the suspension of your Business Profile” ( Google's guidelines).
No storefront?
If you travel to customers rather than having them come to you, you can still have a profile; you hide your address and list the areas you serve. Here is how that works.