Your competitor has 3.8 stars. You have 4.6. They show up in the map pack. You don’t. It feels unfair — and the reason behind it is almost never what business owners assume.
Google isn’t judging who is better. It’s judging who it can understand. The business above you hasn’t necessarily earned more trust from customers. It’s simply more legible to a search engine. Here’s what that means, and how to fix it.
Why reviews alone don’t decide your Maps ranking
Google’s own guidance states that local results are based on three factors: relevance, distance, and prominence. Reviews feed into prominence — but only one of those three pillars. A competitor can win on relevance and distance while losing on prominence, and still outrank you overall.
That matters because most advice about local rankings points straight to reviews. Get more reviews, respond to reviews, ask every customer for a review. Reviews do matter. But if your listing is sending Google conflicting signals about who you are, where you are, and what you do, no volume of four-star ratings will push you into the top three.
What Google actually needs to rank you
Think of Google as someone filling out a form on your behalf. Before it can recommend your business to a nearby searcher, it needs to be certain of a few things:
- Who you are — your business name, your category, what services you offer
- Where you are — a consistent, verifiable address that matches across every place it appears online
- When you’re open — current hours that haven’t changed since you set up your profile three years ago
If any of those answers conflict from one source to the next, Google’s confidence drops. And when confidence drops, your ranking drops with it.
The before/after a search engine actually sees
Here’s a concrete example of what Google reads from two competing listings — not what customers see, but what the underlying data signals say.
The listing Google can’t trust
- Business name on Google Business Profile: “Acme Plumbing”
- Business name on Yelp and a local directory: “Acme Plumbing & Heating Co.”
- Address on website footer: 14 Station Road (no suite number)
- Address on Google Business Profile: 14 Station Road, Suite 3
- Hours on profile: Last updated in 2022, still show old Saturday hours
- Website schema markup: None — the site contains no structured data at all
- Primary category: “Contractor” (too broad to match what searchers are looking for)
What Google reads from this: Possibly two different businesses at a similar address, operating under similar but not identical names, with hours I cannot verify, in a category that doesn’t clearly match plumbing searches. Confidence: low.
The listing Google trusts
- Business name: Identical everywhere — Google, Yelp, every directory, the website footer
- Address: Identical everywhere, including the suite number
- Hours: Updated, accurate, including special holiday hours
- Website schema markup: LocalBusiness structured data in JSON-LD format naming the business, address, phone, and opening hours — matching the Google Business Profile exactly
- Primary category: “Plumber” — the most specific match to the searches it wants to win
- Additional categories: Up to four set, covering related services
What Google reads from this: One clearly identified business, at a confirmed address, open at verifiable hours, in a category that directly matches this search query. Multiple sources agree. Confidence: high.
The second business doesn’t need more reviews to outrank the first. It just needs to be legible.
NAP consistency: the silent ranking killer
NAP stands for Name, Address, Phone. When these three details are scattered inconsistently across the web, Google’s algorithms can interpret the business as multiple entities — or simply lose confidence in the data and push the listing down. Research cited by Whitespark found that businesses with consistently accurate NAP data rank 28% higher in the Local Pack than those with inconsistent listings.
The problem most businesses don’t anticipate: this isn’t a one-time setup issue. Third-party directories regularly re-scrape and overwrite data. A listing that was clean when you set it up a year ago may now show an old phone number, a previous address, or a slightly different business name — because a data aggregator quietly updated it. Your profile decays without you touching it.
Inconsistent NAP can even trigger a Google Business Profile suspension, because Google’s system may flag conflicting address or phone data as a sign of an unverifiable or duplicate listing.
Outdated hours cost you more than a ranking position
Stale business hours are one of the most common — and most damaging — profile problems. 76% of consumers check business hours before visiting a location. That means three out of four potential customers are relying on your listed hours to decide whether to make the trip. If those hours are wrong, you lose the visit and you signal to Google that your listing isn’t being maintained.
Hours change. Public holidays shift. Seasonal adjustments happen. Each time yours go out of date on your profile, Google’s confidence in your listing edges down.
What structured data does (and why a mismatch is worse than nothing)
Structured data — specifically LocalBusiness schema markup added to your website — tells search engines your business details in a format they can read directly, without guessing. Structured data now acts as a trust signal, helping Google determine whether your business information is accurate enough to reuse across local search results, the map pack, and increasingly, AI-generated recommendations.
Google recommends JSON-LD as its preferred format for LocalBusiness markup, and using it correctly helps your details appear more prominently in local search and Google Maps.
Here’s the part most guides miss: having schema markup that conflicts with your Google Business Profile is actively worse than having no schema at all. If your website’s structured data lists a different phone number, an old address, or different opening hours than your GBP shows, you’ve created a contradiction. Google now has two authoritative-looking sources disagreeing with each other. That doesn’t split the difference — it reduces confidence in both.
Check that every value in your schema markup matches your Google Business Profile exactly: same name format, same address including suite or unit, same phone number, same hours.
The primary category problem
According to the 2026 Local Search Ranking Factors survey, the primary Google Business Profile category is the single top factor influencing rankings in the Local Pack. Not reviews. Not photos. Category.
Many businesses choose a category that’s close but not specific enough — “Contractor” instead of “Plumber”, “Health” instead of “Physiotherapist”. Google matches categories to search queries. If your category is broad, you’re competing for broader, more contested terms while missing the specific searches that would actually bring customers through the door.
Adding additional categories helps too. Businesses using four additional categories alongside their primary one average a map ranking of 5.9 — meaningfully better than those using fewer.
What this looks like as a practical checklist
Run through these for your own listing and note every gap you find:
- Primary category — Is it the most specific, accurate match to what you do, not just the closest available option?
- Name consistency — Is your business name identical on your GBP, your website, Yelp, Facebook, and every directory listing?
- Address consistency — Does every source show the same address format, including suite or unit numbers?
- Phone consistency — Same number everywhere, no tracking numbers on directories that differ from your GBP?
- Hours currency — When were your hours last updated? Do they reflect today’s actual opening times, including seasonal changes?
- Website structured data — Does your site have LocalBusiness schema in JSON-LD format? Do the values match your GBP exactly?
- Additional categories — Have you set up to four additional categories covering your other services?
If you found gaps in more than two of those seven points, you’ve found your ranking problem — and it has nothing to do with your review count.
This requires ongoing maintenance, not a one-time fix
The final thing worth understanding is that this isn’t work you do once and forget. Data aggregators overwrite your directory listings. Staff update your website address without touching your GBP. You add a new service but forget to update your categories. Hours change for a bank holiday and never get changed back.
A competitor with worse reviews showing above you on Google Maps is almost always a business that has kept its data clean and current — not a business that has outcompeted you for customers. The gap between you isn’t quality. It’s maintenance.
Insight Dezign’s Business Listing plans are built around exactly this: getting your listing data consistent, accurate, and verified across every source Google checks — and keeping it that way. If you’d like to know where your listing currently stands, get in touch and we’ll run an audit.
