Charlotte Mechanical in Charlotte, North Carolina. 4.9 stars across 575 reviews. After reviewing hundreds of local service accounts, I can tell you that kind of rating is earned. You don’t fake your way to 4.9 across nearly six hundred reviews. That’s technicians showing up on time, doing the work right, and treating homeowners with respect.
But we don’t review the work. We review the marketing. And here’s what most owners never see: a company can be world-class at the trade and still leak jobs every single day online. Not because of some advanced strategy they’re missing. Because of basics. Week-one checks. The stuff anyone paid to run the account should catch in the first seven days.
Here’s what we found.
| Finding | What the audit found | Why it matters |
|---|---|---|
| Running Meta ads but no Google Ads conversion tag found | Meta pixel/active Meta ads detected (0 active ads matching the business name in Meta’s public Ad Library); no AW- conversion tag on the site. | People who NEED a contractor search Google; Meta interrupts people who weren’t looking. Highest-intent channel appears unused. |
| No analytics detected | No GA4/Google Tag Manager script found in the page source. | No way to know which marketing produces leads and which burns money. |
| Missing meta description | No <meta name=description> tag on the homepage. | Google writes its own snippet — usually worse at turning searches into clicks. |
| Slow mobile site (29/100 Google PageSpeed) | Google PageSpeed mobile performance score 29/100, LCP 15.4 s. | Homeowners on phones bounce before the page loads — paid clicks included. |
| H1 heading is not the first heading on the page | A lower-level heading (H2/H3) appears in the HTML before the page’s own H1 tag. | Search engines weight heading order — burying the H1 under other headings weakens it as a ranking signal. |
| Most images missing alt text (455/457) | 455 of 457 <img> tags on the homepage have no alt attribute. | Alt text is a direct on-page SEO signal for image search — and it’s what screen readers use for accessibility. |
| No video content on the homepage | No YouTube/Vimeo/Wistia embed found in the page source. | Video builds trust fastest and keeps visitors on the page longer — a homepage with zero video is a missed, low-cost opportunity. |
| No LocalBusiness structured data | No JSON-LD structured data at all | Structured data is how Google reads your hours, service area, phone and rating. Without it Google guesses — and competitors who publish it get the rich result instead. |
| No service+city pages | No internal links matching a service-in-city URL pattern | People search “emergency plumber in <city>”, not “Charlotte Mechanical”. With one generic services page there’s nothing for Google to rank against those searches, and paid clicks land somewhere too generic to convert. |
| Reviews shown but not marked up for Google | Review content on the page with no aggregateRating/review schema | Marked-up reviews can show star ratings directly in search results, which lifts click-through on a listing you already rank for — free clicks you’re currently leaving behind. |
| No social preview tags (OpenGraph) | No og:title / og:image meta tags in the page source | Every time someone shares your link in a text, Facebook or a group chat, it renders as a bare URL with no title or photo — the least clickable thing on the screen. |
| No sitemap.xml | /sitemap.xml does not return a valid file | A sitemap is how Google finds every page you have. Without one, deeper service pages can sit undiscovered for months. |
The Highest-Intent Traffic There Is — and No Way to Track It
The site has a Meta pixel installed. That’s the tracking code for Facebook and Instagram advertising. Fine. But there’s no Google Ads conversion tag anywhere.
Here’s why that matters more than anything else on this list. People who need a contractor go to Google and search with their wallet out. Someone with a dead AC system and a credit card, ready to book. That’s the highest-intent traffic there is — and from what we can see, it’s unused or untracked.
No Analytics. No Tag Manager. Nothing.
It goes deeper. No Google Analytics. No tag manager. Nothing. If this were my account, I’d want to know which dollar books a job and which one burns. Right now, there’s no way to tell.
Which dollar books a job, and which one burns — that’s the one question your marketing has to answer. Everything else is noise.
Without conversion tracking, you’re not just missing a report. You can’t tell what a booked job actually costs you. You can’t compare channels. You can’t cut the waste, because you don’t know where the waste is. Every budget decision becomes a guess — and guessed budgets get burned.
A 15.4-Second Wait for a Homeowner Who Won’t Wait Five
Google’s own speed test scores the mobile site 29 out of 100. The main content takes 15.4 seconds to appear on a phone.
Picture a homeowner whose AC just quit in a Charlotte summer. Phone in hand. Sweating. Frustrated. They’re not waiting 15 seconds. They hit back and they call the next company. That’s not a hypothetical — that’s how every emergency search goes. The job doesn’t go to the best company. It goes to the first company whose site loads.
And nearly all of your emergency traffic is on a phone. So a slow mobile site isn’t a technical detail for the IT drawer. It’s the front door of your business sticking every time someone tries to open it.
575 Reviews Google Can’t Actually Read
Those 575 reviews are on the site. But they’re not marked up in the code Google reads. With the right markup — it’s called review schema — that 4.9 can appear as stars directly in the search results. Free clicks on a listing they already earned.
Actually, there’s no structured data at all. Nothing telling Google the hours, the phone number, the service area. So Google guesses. And competitors who publish it get the richer listing instead.
Here’s the why. Structured data is you handing Google a filled-in form instead of making it crawl your site and figure it out alone. The companies that hand over the form get the listings with stars, hours, and quick-call info. The companies that don’t get a plain blue link. Same search. Same ranking position. Very different number of calls.
Nobody Searches “Charlotte Mechanical”
There are no pages built for specific services in specific areas. And here’s the thing most owners miss: nobody searches “Charlotte Mechanical.” They search “emergency AC repair near me.” And there’s nothing on this site for Google to rank against that search.
Brand searches come from people who already know you — referrals, repeat customers, the yard sign. That’s demand you’ve already created. Growth lives in the non-brand searches: the service, the problem, the neighborhood. Google ranks pages, not businesses. If you want to show up for AC repair, furnace installs, and every other service across your area, each one needs a page built to rank for it. No page, no ranking. No ranking, no call.
The Basics That Never Got Done
455 of 457 homepage images have no alt text — the label search engines and screen readers rely on. Someone uploaded a lot of photos and nobody tagged them. There’s no sitemap either, so deeper pages can sit invisible to Google for months.
None of this is glamorous. Alt text, sitemaps, schema, tags — it’s plumbing, not poetry. But it’s the plumbing of your online presence, and when it’s installed wrong, everything above it leaks.
Why Agencies Miss This Stuff
Every one of these is a basic check any marketing agency should catch in week one. When they’re missed, it’s usually because agencies collect the monthly retainer while junior staff juggle 80 accounts and nobody actually looks. If someone’s being paid to run this marketing, they should have caught it.
That’s the dirty secret of the typical home service marketing agency: the pitch is senior, the fulfillment is junior, and your account is one tab in a spreadsheet of eighty. Most owners paying for marketing for contractors assume someone is inside the account every week, checking the fundamentals. Often, nobody is.
The Part Most Owners Don’t Know Yet
Here’s what most owners don’t know yet. With AI, these exact fixes can now run automatically. Conversion tracking, structured data, alt text, sitemaps, service pages — the whole checklist. And with a bit of guidance, you can bring this in-house and own the whole thing, never depending on an agency again.
That’s the entire reason Local Service Mastery exists: service business owners running their own lead generation, with AI doing the grunt work and real coaching behind it. No retainer. No junior account manager. No guessing which dollar worked.
Run a local service business? We’ll find what’s leaking in your marketing — free audit. Link below the video.
Local Service Mastery








