Exact Temp Heating & Cooling in Charlotte, North Carolina. 4.9 stars across 366 reviews. After reviewing hundreds of local service businesses, I can tell you a rating like that is earned, not bought. The techs are doing their job. The customers are happy. The hard part — building a reputation people actually trust — is already done.
So this review has nothing to do with their work. It’s about their online marketing, because that’s where the leaks are. And when I pulled this account apart, I found leak after leak — the kind of basics anyone paid to run marketing should catch in the first month. Here’s the full breakdown, in the order I’d fix it.
| Finding | What the audit found | Why it matters |
|---|---|---|
| No click-fraud protection (click here) detected alongside Google Ads | Site carries a Google Ads conversion tag but no ClickCease/CHEQ script was found in the page source. | Competitors and bots clicking ads burns budget with zero leads — typically 10-20% of local-service ad spend. |
| No call tracking (click here) detected | Google Ads tag present, but no call-tracking/DNI script found on the site. | Most local-service leads CALL. Without call tracking, Google can’t optimize for the calls that actually book jobs. |
| 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. |
| Slow mobile site (32/100 Google PageSpeed) | Google PageSpeed mobile performance score 32/100, LCP 7.2 s. | Homeowners on phones bounce before the page loads — paid clicks included. |
| No Facebook/Meta pixel detected | No fbq(‘init’) / connect.facebook.net script found in the page source. | Without a pixel, there’s no way to retarget people who already visited the site — one of the cheapest ad channels available goes unused. |
| Multiple H1 tags on the homepage (3) | 3 <h1> tags found in the page source. | Multiple H1s dilute the page’s main topic signal instead of reinforcing one clear keyword focus. |
| 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 service+city pages | No internal links matching a service-in-city URL pattern | People search “emergency plumber in <city>”, not “Exact Temp Heating & Cooling, Inc”. 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. |
| Site looks abandoned — copyright still says 2012 | Footer copyright reads 2012; current year is 2026 | It is the first thing a careful customer checks to see if you are still in business. A stale year quietly tells them the site — and maybe the company — is neglected. |
The ads are running. Nobody’s watching the gauges.
They’re running Google Ads. We found the conversion tag on the site, which means someone, at some point, set up the bare minimum. But here’s where it gets strange: there’s no analytics installed at all. None. No Google Analytics. No Tag Manager.
Think about what that means for a second. Money goes out every single month, and there’s no way to see which of it produces a single lead. No way to tell which keywords pull their weight, which ads get clicked by real homeowners, which pages people land on and immediately leave. It’s like running a truck with the dashboard ripped out — you just keep refilling the tank and hoping it’s going somewhere useful.
Money goes out every month and there’s no way to see which of it produces a single lead. That’s not marketing. That’s gambling.
No call tracking on an HVAC account
Here’s the part that really hurts. Most homeowners with a dead AC don’t fill out a form. They call. That’s the nature of an emergency trade — the phone is the funnel. An HVAC account without call tracking is blind to its own best leads.
And it’s not just about counting calls. Without call tracking, Google can’t learn which clicks actually turn into booked jobs. The algorithm has no idea which searchers became customers and which ones bounced, so it can’t optimize toward the people who actually pick up the phone. You’re paying for clicks while Google guesses.
If this were my account, call tracking would be the first thing I’d install — before I touched a single keyword, bid, or ad.
Up to 20% of the budget could be fake clicks
There’s also no click fraud protection running alongside those ads. In local services, bots and competitors typically burn 10-20% of an ad budget on fake clicks. On a serious HVAC budget, that is a painful amount of money going to clicks that were never a customer and never will be.
And here’s the kicker: with no analytics on this account, they wouldn’t even see it happening. No reports, no suspicious patterns, nothing. The budget just quietly shrinks every month and everyone assumes that’s simply what HVAC clicks cost.
A 7.2-second wait with a dead AC
Now the site itself. Google’s own speed test scores the mobile site 32 out of 100, and the main content takes 7.2 seconds to appear.
Picture a homeowner in a Charlotte summer. The AC just quit. Phone in hand, they tap a result that looks promising — and wait. Seven seconds of loading. They’re not waiting. They’re hitting the back button and calling the next company on the list. Speed isn’t a technical nicety in this trade; it’s the difference between a booked job and a bounced visitor.
And here’s the insult: if they came from an ad, Exact Temp still paid for that click. They paid real money for the privilege of handing that customer to a competitor. A slow site doesn’t just lose organic visitors — it taxes every single ad dollar that touches it.
No pages built for the way homeowners actually search
Then there’s the search structure. There are no pages built for a service in a city. No “AC repair in Charlotte” page. Nothing like that.
This matters more than most owners realize, because people don’t search a company name. They search the problem plus the city. “AC repair Charlotte.” “Furnace repair near me.” With one generic services page, Google has nothing to rank for those searches — so the free traffic goes to whatever competitor bothered to build the pages. And the paid clicks? They land somewhere too generic to convert. A homeowner searching for AC repair who lands on a page about “all of our services” feels like they’re in the wrong place, and they leave.
The stars they earned but can’t show
This one stings, because the hard part is already done. The reviews are displayed on the site — but they’re not marked up in the format Google reads. So those 4.9 stars can’t show up as actual stars in the search results.
That’s free clicks on a listing they already earned, left behind. When two companies appear side by side and one has visible stars and the other doesn’t, the homeowner’s choice makes itself. Exact Temp spent years earning that rating one job at a time. A simple markup fix is what it takes to put it on display — and nobody’s done it.
A footer stuck in 2012, and a pixel that isn’t there
Two smaller items that round out the picture. The footer copyright still says 2012. It’s 2026. Maybe it’s not even them — maybe it’s a web designer from 14 years ago who hard-coded the year and vanished. But that date is the first thing a careful customer checks, and a stale year quietly tells them the company might be gone. Right or wrong, that’s the signal it sends.
And there’s no Facebook pixel anywhere on the site. That means they can’t retarget people who already visited and left — and retargeting is usually one of the cheapest ad channels there is. These are warm people who already know the name and already have a broken system in the house. That channel is sitting completely unused.
Why this keeps happening
None of this is advanced stuff. Analytics, call tracking, fraud protection, page structure, review markup — these are the basics. Anyone paid to run marketing should catch every one of them in the first month.
So why are they missed? In my experience, it’s usually the same story. The typical home service marketing agency collects monthly retainers while junior staff juggle 80 accounts, and nobody actually looks. The report goes out, the invoice goes out, and the account runs on autopilot. I don’t know who runs this account. But if someone’s being paid to run it, they should have caught every one of these.
The fix isn’t another agency — it’s ownership
Here’s what most owners don’t know yet. With AI, these exact fixes can now run automatically. Call tracking, analytics, review markup, retargeting — the whole checklist. With a bit of guidance, an owner can take this in-house, own the whole thing, and never depend on an agency again.
Most owners respond to a breakdown like this by shopping for better Google Ads management for contractors. Same model, new logo — and six months later, the same 80-account juggling act. The better move is owning the asset: your data, your tracking, your ad account, your lead flow.
That’s exactly why I built Local Service Mastery. Coaching that teaches you to run Google Ads, local SEO, and Facebook Ads yourself — plus LSM AI, the done-for-you platform that keeps the boring-but-critical basics running automatically, so nothing on this list ever leaks again. No retainer. No junior account manager. No autopilot.
Local Service Mastery








