How ChatGPT and Google actually pick a local plumber (or clinic, or contractor)

Google and ChatGPT match messy local questions to public facts. Here is how to make yours line up.

When someone in Logan types "plumber near me," or asks ChatGPT who to call for a leaking water heater, neither system is flipping a coin. They match a messy question to public facts. Your job is to make those facts easy to find, easy to trust, and hard to mix up with the shop two towns over.

That is the whole game. The rest is unglamorous.

Google is still a map problem first

For a plumber, dentist, HVAC tech, roofer, or electrician, the map listing often gets the click before the website does. Google weighs:

  • Your Google Business Profile: name, address, phone, categories, hours, service area
  • How far you are from the person searching
  • Reviews, and whether new ones still show up
  • Whether the website agrees with the profile
  • Whether you actually serve that town

If you are in Smithfield and someone searches from Hyde Park, you can still appear. If a template listed you in Salt Lake City, you have a problem you can fix this afternoon.

ChatGPT does not drop a pin the same way. It reads what it can crawl: your site, snippets from your profile, directories, and other public pages. If those sources disagree, the model hedges. Hedge is how the job goes to the competitor whose facts line up.

NAP means name, address, and phone. Same ones.

Write them once. Reuse them everywhere.

  • Website header and footer
  • Contact page
  • Google Business Profile
  • Any directory you still control

"Cache Valley Heating LLC" on the site and "Cache Valley Heating" on Google is a small mismatch. "(435) 555-0100" versus "435-555-0100" is usually fine. "123 Main St" versus "123 Main Street, Suite B" is not.

If you do not have a storefront, say so in plain language. "We are based in Brigham City and serve Box Elder and Cache County. There is no public waiting room." Then set the Google profile as a service-area business. Do not drop a pin on a house you do not want strangers visiting.

Hours belong in a sentence, not only in a picture

A crawler cannot reliably read a photo of your hours. A language model might skip the image or invent a closing time.

On the contact page, write it out: "We answer the phone Monday through Friday, 7:30 a.m. to 5 p.m. After-hours calls go to voicemail. Emergency plumbing is available nights and weekends."

That sentence helps a person at 9 p.m. It is also a fact an answer engine can quote without guessing.

Same idea for towns. A shaded map of northern Utah looks nice. A list is what gets used: "We serve Logan, Smithfield, Hyde Park, North Logan, Providence, Nibley, and Hyrum. We also take jobs in Brigham City and Tremonton when the schedule allows."

One service per page beats a junk drawer

Google and ChatGPT both do better when a page has one job.

A plumber who piles drain cleaning, water heaters, re-pipes, and sewer cameras onto one long scroll is asking the system to guess. A clinic that mentions family medicine, sports physicals, and same-day sick visits is easier to cite if each has its own short page.

You do not need twenty pages. You need the services you actually sell, written the way a customer would ask for them.

Fog: "We offer comprehensive residential solutions."

Cite-able: "We replace gas and electric water heaters in Cache Valley homes, usually the same day if you call before noon."

The second sentence can be repeated. The first one cannot.

Schema is a label, not a ranking spell

Schema is extra markup that tells a machine this is a local business, this is the phone, these are the hours, this page is about HVAC repair.

It does not hoist you to the top of anything. It cuts down on mix-ups. If the visible page already has those facts in text, schema is a second copy. If the page is vague and the markup lists towns you do not serve, you are lying to a parser. Skip that.

For most shops, a LocalBusiness type (or Plumber, Dentist, HVACBusiness) plus Service markup on service pages is enough. Ten schema types on a one-page site is theater.

The profile lists you. The website explains you.

The Google Business Profile should have:

  • The right primary category (Plumber, not Home Improvement)
  • Real hours
  • A service area or a real address
  • Photos of your work, not stock kitchens
  • The same phone number as the site

The website should have:

  • The same name, address, and phone
  • Pages or sections for the services you sell
  • Towns you actually cover
  • A way to call or book without hunting

If the profile says you close at 5 and the site says 6, one of them will win and the other will look sloppy. ChatGPT may mention both and sound unsure. Unsure loses jobs.

For a Utah plumber or clinic, this mismatch shows up more often than any clever keyword plan. It is usually a copy-paste problem, not a mystery.

What ChatGPT is actually looking for

When someone asks, "Who is a dentist in Ogden who takes new patients on Saturdays?", the model looks for pages that state those facts in the open. If your site never says "new patients" or "Saturday hours," you will not be the answer, even if both are true.

You cannot prompt your way around a blank page. You can write the sentence. Same pattern for a roofer in Provo, an electrician in Ogden, or a landscaper in Logan. Specific, true, and on the page.

Do this week

  1. Open the site and the Google profile side by side. Make the name, address, and phone match.
  2. Put a clickable tel: link in the header. People on phones should not have to copy digits.
  3. Write hours as a sentence on the contact page.
  4. List towns in text, not only on a graphic.
  5. Give each main service its own heading or page, with one plain paragraph: what you do, where, how to start.
  6. If you already have schema, check that it repeats the same facts. If you do not, add it the next time the site gets touched.

None of this is secret. The shops that show up in both Google and ChatGPT are the ones whose public facts agree with each other.

A one-page site can hold NAP, hours, towns, and a couple of services. Pricing is public if you are rebuilding anyway.

[ Want it handled ]

We build these for a living.

Book a 15-minute call