About this sample. Northshore Comfort Heating & Cooling doesn't exist. I wrote this excerpt to show the structure, detail and tone of a real audit. Every name, number and finding below is invented for the example. None of it describes work done for a client, and none of it is a result anyone achieved.
Scope and access (p. 3)
| Business | Northshore Comfort Heating & Cooling, Barrie, ON. Residential furnace, air conditioning and heat pump installs, repairs, and a maintenance plan |
| Audit period | June 1 to August 31, 2026 |
| Reviewed | Website and booking form, Google Analytics 4, Google Ads, Google Business Profile, Facebook page and boosted posts, email platform, call-tracking log, office booking sheet |
| Access | Admin on GA4 and Google Business Profile; read-only on Google Ads (held by the agency); exports of the call log and booking sheet |
| Not reviewed | Truck wraps, flyers, pricing and margins, technician scheduling |
| Interviews | Owner, office manager, customer service rep (30 minutes each) |
Summary (p. 4)
Northshore doesn't have a demand problem in peak season. It has a capture problem. People are finding the company, mostly through Google Business Profile and paid search, and too many of them never reach a person.
Three things matter more than everything else in this report:
- Almost a third of inbound calls go unanswered, and most of those arrive in the evening or on weekends, exactly when a furnace or AC unit fails.
- Nothing is tracked past the page view. GA4 can't see forms or calls, so neither the agency nor the owner can say which spend produces jobs.
- The maintenance plan is the most valuable thing the company sells, and the website barely mentions it.
Fix the first two in the next 30 days and the rest of this report becomes much easier to act on, because you'll be able to see what's working.
Severity scale used below
| Rating | Meaning |
|---|---|
| High | Losing enquiries or money now. Fix within 30 days |
| Medium | Limits growth. Fix this quarter |
| Low | Worth doing when there's capacity. Not urgent |
What's working (p. 4)
An audit that only lists problems isn't honest. These are real strengths in this fictional picture, and the plan should protect them:
- Google Business Profile is the biggest single source of calls, with a 4.7 average across 212 reviews.
- Customers who've used Northshore once come back. Roughly 40% of summer bookings in the booking sheet were repeat customers.
- Reviews mention technicians by name, often. The team is the brand, whether or not the website says so.
Findings (pp. 5–6)
| # | Area | Finding | Severity | Recommended fix | Effort |
|---|---|---|---|---|---|
| 1 | Phone handling | 355 of 1,146 calls (31%) went unanswered. After-hours and weekend calls reach a voicemail box that was full on 11 days | High | After-hours answering service or on-call rotation; clear voicemail daily; new greeting with a callback promise | Low |
| 2 | Analytics | GA4 records page views only. Form submissions and tap-to-call aren't set up as key events, so no enquiry can be traced to a source | High | Create key events for form submit, tap-to-call and booking confirmation; import them into Google Ads | Low |
| 3 | Google Ads | About $5,000 of $13,200 in spend (38%) went to search terms I'd class as irrelevant or DIY, such as "ac capacitor price" and "furnace filter sizes" | High | Negative keyword list; tighter match types; separate campaigns for install and repair | Medium |
| 4 | Maintenance plan | Sold only by technicians on site. The website mentions it once, with no price, no inclusions and no way to sign up | Medium | A dedicated page with price and inclusions, online sign-up, renewal reminders | Medium |
| 5 | Website | Service-area pages for Innisfil, Orillia and Midhurst are near-copies with the town name swapped | Medium | Rewrite with local specifics, or merge into one service-area page | Medium |
| 6 | Google Business Profile | Only one category set ("HVAC contractor"). Last photo added 14 months ago. 9 reviews from the last 90 days have no reply | Medium | Add relevant secondary categories; add photos monthly; reply to every review | Low |
| 7 | 2,300 past customers on the list. Last campaign sent 11 months ago | Medium | Two seasonal emails a year plus maintenance-plan renewal reminders | Low | |
| 8 | Website speed | A background video on the mobile homepage; page weight about 6.8 MB | Low | Replace with a compressed still image | Low |
| 9 | Posts boosted ad hoc, about $150 a month, targeting "Barrie + 40 km" only | Low | Pause boosts until tracking works, then decide whether to keep them | Low | |
| 10 | Reviews | Review requests depend on technicians remembering to ask | Low | Automatic text request when a job is closed | Low |
Finding 1 in detail: unanswered calls (p. 7)
Evidence. From the call-tracking export for June 1 to August 31, 2026:
| When the call came in | Calls | Unanswered | Unanswered rate |
|---|---|---|---|
| Weekdays, 8 a.m. to 5 p.m. | 820 | 115 | 14% |
| Weekday evenings | 164 | 118 | 72% |
| Saturdays | 118 | 84 | 71% |
| Sundays | 44 | 38 | 86% |
| Total | 1,146 | 355 | 31% |
Why it matters. A homeowner with no heat at 7 p.m. doesn't leave a voicemail and wait. They call the next company in the results. Even in business hours, 14% goes unanswered, mostly between 11:30 a.m. and 1:30 p.m. when the office covers lunch with one person.
What I recommend.
- This week: clear the voicemail box daily and record a greeting that promises a callback time. Owner: office manager.
- Within 30 days: get quotes from at least three after-hours answering services with HVAC dispatch experience, or cost out a paid on-call rotation. Owner: office manager, decision by the owner.
- Within 30 days: stagger lunch breaks so two people never leave the phones at once. Owner: office manager.
How we'll know. Unanswered rate, split the same way as the table above, reported every two weeks for 90 days.
Finding 2 in detail: tracking (p. 8)
Evidence. In GA4 the only events recorded are the automatic ones (page views, scrolls, sessions). No form submission or tap-to-call event exists. The agency's monthly report shows clicks and cost per click, which is all the account can currently measure.
Why it matters. Without this, nobody can say whether Google Ads, Google Business Profile or the website produces booked jobs. Every budget decision is a guess, including the decision about the agency.
What I recommend. Set up three key events: form submitted, phone number tapped, booking confirmed. Import them into Google Ads as conversions. Add a "How did you hear about us?" column to the booking sheet and make it required. About 2–3 hours of setup work, shared between the agency and me.
How we'll know. A test form submission and a test tap-to-call both appear in GA4 within 24 hours, and the booking sheet has a source recorded for at least 90% of new jobs by the end of the first month.
The full audit continues with findings 3 to 10 in the same format, a prioritized action list and a 90-day plan. See how that plan looks in the illustrative 90-day plan for the same fictional company.
Illustrative sample. Northshore Comfort Heating & Cooling is a fictional business, not a client. The numbers are invented to show the format and are not results achieved.
