Golden Rule
CEO Strategic Intelligence Dashboard
Strategic Intelligence
March 2026
TLDR FOR MARK
  • $4,912 in Google Ads spend with zero conversions. Every dollar wasted.
  • 6 landing pages getting 770 sessions/month with zero leads — ad black holes eating the budget.
  • 11 pages that DO convert at 5–16% prove the model works — city+service pages are the answer.
  • Phase 1 (stop the bleeding) takes 2 hours today. Phase 2 (fix site) takes 2 weeks. Phase 3 (scale) starts when conversion rate hits 5%.
Google Ads ROI
$4,912 spent, 0 conversions
BROKEN
Main Landing Page
0.59% conversion rate — 2,560 sessions wasted
BROKEN
Brand Terms
Paying $40/click for own name, should be $1–2
BROKEN
Competitor Waste
$2,415 paying for people searching competitors
BROKEN
LSA Leads
9.4/month — should be 25–30
UNDERPERFORMING
City Pages
11 pages converting 5–16% — the proven model
WORKING
GA4 Analytics
Live API connected, pulling data
CONNECTED
Account Autopilot
ZERO campaign changes in 12 months
NEGLECTED
Data Connections
GA4 Analytics — LIVE API Ads Search Terms — CSV Ads Campaigns — CSV LSA Leads — CSV Change History — CSV Ads API — Blocked (MCC access needed) GBP — Need Greg access GSC — LIVE
🔓 Access Required — What Greg Needs To Do
1Google Ads: Go to MCC (448-550-2333) → Admin → Access and Security → Add diraj@getfreshventures.com as Standard or Admin access. Currently this email is NOT listed as a user on the MCC, which is why the API returns no data.
2GBP: Go to Google Business Profile Manager → Select Golden Rule location(s) → Users → Add diraj@getfreshventures.com as Manager or Owner.
3GTM: Share container ID if Google Tag Manager is being used.
✅ Already connected: Google Analytics (GA4 Property 319584840) — LIVE  |  Google Search Console (goldenrulephc.com) — LIVE
📋
How this plan works: Checkboxes persist between visits using cookies. Items connected to live data (GA4, GSC) will eventually auto-verify. Manual items need Greg or the team to check off once complete.
Phase 1

Stop the Bleeding — Do Today

No-brainer actions. Every day delayed costs real money. Total: ~2 hours in Google Ads. Zero additional budget required.

Gate: None — start immediately
0 of 5 complete
🔧 Greg Romans / MediaSpark
#1 Pause Utah-Plumbing-Search Campaign 5 min Saves ~$1,870/mo Not Started

This campaign spent $12K at $239 CPA. Benchmark is $65. Every day it runs = ~$174 overpaid per lead. PMax Plumbing runs alongside it at $85 CPA and should absorb the budget.

Steps (Greg or MediaSpark, ~5 min):
  1. Open Google Ads → 448-550-2333 account
  2. Campaigns → find "Utah-Plumbing-Search"
  3. Toggle status to Paused
  4. Go to Utah-PMAX-Plumbing → increase daily budget by the amount freed from Plumbing Search
  5. Confirm PMax Plumbing is absorbing spend within 48 hours
LIVE — Google Ads Export | Est. savings: ~$1,870/month
#2 Fix Conversion Tracking — Demote Junk Conversions 20 min 20–40% CPA improvement Not Started

Google counts YouTube subscriptions and page views as "conversions." The algorithm optimizes toward video watchers instead of people who need a plumber. This single issue corrupts every campaign's bidding.

Steps (Greg or MediaSpark, ~20 min):
  1. Google Ads → Goals → Conversions → Summary
  2. Find "YouTube Channel Subscriptions" → Edit → Change to Secondary
  3. Find "Page View: Book Urgent Repair" → Edit → Change to Secondary
  4. Find "YouTube Follow-On Views" → Edit → Change to Secondary
  5. Create NEW Primary conversions:
    • "Service Request Submitted" (form submission on contact/booking pages)
    • "Phone Call from Ad" (call extension clicks, 60s+ duration)
    • "Schedule Service Booking" (booking widget completion)
  6. Wait 48 hours for Smart Bidding to recalibrate against real signals
LIVE — MediaSpark Audit | Impact: 20–40% CPA improvement within 2 weeks
#3 Disable AI Max 3 min Prevents surprise spend spikes Not Started

AI Max is enabled with minimal delivery. Low delivery + unpredictable behavior = risk of surprise spend spikes that blow the daily budget with no return.

Steps (Greg or MediaSpark, ~3 min):
  1. Google Ads → Campaigns → each active campaign
  2. Settings → "AI Max" or "Automatically created assets"
  3. Toggle OFF
  4. Re-evaluate only after conversion tracking is clean (Phase 2 complete)
LIVE — MediaSpark Audit | Risk: surprise spend spikes
#4 Add Negative Keywords — Stop Wasting Clicks 45 min Stops $4,912 waste Not Started

$4,912 total spend across 100 search terms with ZERO conversions. Breakdown: $2,415 on competitor names (Smedley, Genuine Comfort, Anytime, etc.), $980 on your own brand name (Golden Rule, Golden Rule Plumbing — you're paying for clicks you should own organically), and $346 on supply/parts searches (HVAC supply, Goodman distribution, etc.).

Steps (Greg or MediaSpark, ~30 min):
  1. Google Ads → Keywords → Search Terms tab
  2. Sort by cost, descending — see the full list in the Search Terms Deep Dive section
  3. Create shared negative keyword list: "Golden Rule Negatives"
  4. Add all competitor names as negatives: Smedley, Genuine Comfort, Anytime, Comfort Systems, SOS, Anderson, Jerry's, Standard Plumbing, Lennox, Royal Plumbing, One Hour, etc.
  5. Add supply/parts terms: HVAC supply, Goodman distribution, Rheem, HVAC parts, plumbing supply, Daikin, Johnstone supply, carrier
  6. Apply list to ALL active campaigns
LIVE — Google Ads Search Terms Export | Total waste: $4,912 | Brand waste: $980 | Competitor waste: $2,415
#5 Create Brand Protection Campaign 30 min ~$300/mo investment Not Started

No campaign bids on "Golden Rule" or "Golden Rule Plumbing." Competitors can bid on your brand name and steal traffic for pennies. You're paying for brand awareness through other channels and competitors harvest it at the search level.

Steps (Greg or MediaSpark, ~45 min):
  1. Google Ads → New Campaign → Search → Leads
  2. Campaign name: "Utah-Brand-Protection"
  3. Budget: $10/day ($300/month) — brand clicks cost $1–2
  4. Ad group keywords:
    • [golden rule plumbing] (exact match)
    • [golden rule heating] (exact match)
    • [golden rule hvac utah] (exact match)
    • "golden rule plumbing salt lake" (phrase match)
  5. Write 3 responsive search ads emphasizing: family-owned, 27 years, no surprise fees
  6. Expected: 30–40% CTR at $1–2 CPC. Cheapest insurance in the account.
LIVE — Keyword Export confirms zero brand bidding | Cost: ~$300/mo
Phase 1 Summary — Same Day, ~2 Hours Total

Who does it: Greg Romans or MediaSpark in the Google Ads account (448-550-2333).
Total new spend: $300/month (brand campaign only — everything else is pausing waste).
Expected savings: $1,870+/month in wasted CPA from Plumbing Search pause alone.
Expected CPA improvement: 20–40% within 2 weeks from conversion tracking fix.
Confirmation: Check back in 48 hours — Smart Bidding needs time to recalibrate. CPA should start dropping within 5–7 days.

Phase 2

Fix the Site & Tracking — Week 1–2

Rebuild the broken landing pages and fix the data pipeline. Don't scale spend until conversion rates confirm the foundation works.

Gate: Phase 1 complete (campaigns paused, tracking fixed)
0 of 7 complete
💻 Web Developer
#6 Rebuild Main Ad Landing Page (0.59% → target 5%+) 4–6 hrs Recover 100+ leads/mo Not Started

/location-utah-urgent-repair — 2,560 sessions, 15 conversions. Iowa pages convert at 13%. This single page is the biggest leak in the funnel. 43% of all Utah ad traffic lands here and bounces.

Steps (Web developer in WordPress backend, ~4–6 hours):
  1. Model the rebuild after /location/utah/north-salt-lake (5.64% conversion, 48s engagement)
  2. Above the fold: Utah phone number (801) 218-2225 as click-to-call button, NOT Iowa number
  3. Hero section: "Utah's Family-Owned HVAC Experts — No Surprise Fees, Guaranteed"
  4. Add scheduling widget or form (ServiceTitan booking embed)
  5. Trust badges: BBB, Google Guaranteed, "Family-Owned Since 1999"
  6. 3 localized testimonials from Utah customers (pull from GBP)
  7. Service cards with pricing transparency: "Diagnostic: $49 | AC Tune-Up: $49 | Gold Club: $99/yr"
  8. Sticky mobile CTA bar (phone + schedule) — 85.5% of ad traffic is mobile
  9. Duplicate structure for /location-utah-urgent-repair-plumbing-ppc (409 sessions, same issues)
LIVE — GA4 Landing Pages | This single fix could recover 100+ leads/month
#7 Redirect/Rebuild 10 Dead Pages (855 sessions → 0 conv) 3–4 hrs Recover 855 sessions Not Started

These pages receive real traffic and produce zero conversions. Every visit is wasted ad spend or wasted organic opportunity.

Steps (Web developer in WordPress, ~2–3 hours):
  1. /location-utah-hvac-estimate (194 sessions, 0 conv) → 301 redirect to rebuilt urgent repair page
  2. /utah-hvac-system-check (154 sessions, 0 conv) → 301 redirect to rebuilt urgent repair page
  3. /sump-pump-inspection-utah (119 sessions, 0 conv) → 301 redirect to /location/utah/
  4. /utah-pe (114 sessions, 0 conv) → DELETE or redirect to main Utah page
  5. /location-utah-urgent-repair-plumbing (102 sessions, 0 conv) → redirect to PPC plumbing page
  6. 5 additional city pages with traffic but 0 conversions → rebuild with city+service model (see #8)

Use Redirection plugin in WordPress for 301s. Check Google Ads to make sure no ads point to the deleted URLs.

LIVE — GA4 Landing Pages | Recovers 855 wasted sessions
#8 Build City+Service Landing Pages (the proven model) 1–2 weeks 8 new pages Not Started

Data proves localized pages convert 3–10x better: Kaysville plumbing 16.1%, Eden 15%, North Salt Lake 5.64%. The generic "urgent repair" pages fail because they're not specific to any city or service.

Steps (Web developer or AI-assisted, ~1 hour per page):
  1. Template: /location/utah/{city}/{service}-services
  2. Priority cities (highest traffic + population): Salt Lake City, Ogden, Layton, Bountiful, Sandy, West Jordan, Provo, Draper
  3. Each page: city name in H1, local landmarks/neighborhoods, city-specific weather callouts, (801) number prominent
  4. Services per city: plumbing, HVAC, electrical, drain (4 pages per city)
  5. Phase 1 batch: top 8 cities × 1 primary service each = 8 pages. Expand to 32 pages in Phase 3.
  6. Use AI (Claude/ChatGPT) to generate 800–1,200 word content per page. Human review for accuracy.
LIVE — GA4 proves model works | Target: 8 pages in 2 weeks, 32 by month 2
#9 Fix Utah Phone Number — Sitewide 1–2 hrs Every misrouted call = lost lead Not Started

(801) 218-2225 only appears in body text on /location/utah/. No geo-detection. Utah visitors see Iowa number (515) 393-4526 on every other page, header, and footer. Every misrouted call is a lost lead.

Steps (Web developer in WordPress, ~1–2 hours):
  1. Option A (Quick): Hard-code (801) 218-2225 on ALL Utah landing pages — header, footer, CTA buttons, mobile sticky bar
  2. Option B (Better): Add JavaScript geo-detection snippet:
    • Use fetch('https://ipapi.co/json/') to detect visitor state
    • If Utah → swap all phone number elements to (801) 218-2225
    • If Iowa → keep (515) 393-4526
    • Add to WordPress header via Code Snippets plugin or theme functions.php
  3. Verify: test from Utah VPN/mobile to confirm number swaps correctly
LIVE — Site Audit | Every misrouted call = lost lead
🔧 Greg Romans + Web Developer
#10 Clean GA4 Tracking ("Unassigned" Channel: 70% False Event Rate) 1–2 hrs Blocks trust in ALL data Not Started

19,577 sessions labeled "Unassigned" with 13,707 key events. Normal channels run 2–9%. Almost certainly misconfigured tracking — internal traffic, bots, or duplicate tags counted as conversions. Until this is clean, no conversion metric is trustworthy.

Steps (Greg or web developer in GA4 admin, ~1–2 hours):
  1. GA4 Admin → Data Streams → check for duplicate Google Tags on the site
  2. Use Google Tag Assistant (Chrome extension) on goldenrulephc.com to verify single clean tag fire
  3. GA4 Admin → Data Settings → Data Filters → Create "Internal Traffic" filter:
    • Add office IP addresses for Iowa and Utah offices
    • Filter state: Active
  4. Check GA4 → Events → verify no custom events are auto-logging page_views as key events
  5. DebugView: test from a clean browser to confirm events fire correctly
  6. Mark "Unassigned" data as unreliable in all reports until fixed
LIVE — GA4 Traffic Acquisition | Blocks trust in ALL conversion data
🔧 Greg Romans / MediaSpark
#11 Optimize LSA Listings (Currently ~9.5 leads/month) 1 hr Target 25–30 leads/mo Not Started

104 leads over 11 months. Low for SLC market size. GBP optimization and review velocity directly impact LSA ranking and lead flow.

Steps (Greg, ~1 hour):
  1. LSA Dashboard → Utah account (189-035-6117) → ensure ALL service categories are active (HVAC, plumbing, electrical, drain)
  2. Update business hours to match Avoca AI coverage (Mon-Sat 7am-9pm, emergency 24/7)
  3. Upload 5+ professional photos (trucks, team, completed jobs)
  4. Review and dispute invalid leads within 30-day window for credits
  5. Increase weekly budget from current to $500/week once landing pages are fixed
LIVE — LSA Leads Inbox | Target: 25–30 leads/month by month 2
#12 Enable Weekend Ad Coverage 15 min GATED on items 6–9 Not Started

Zero impressions Sunday, 450 Saturday. Ads run Mon–Fri 7am–5pm only. Emergencies don't follow business hours — competitors capture every weekend burst pipe. Avoca AI already covers weekends.

Steps (Greg or MediaSpark, ~15 min — AFTER items 6–9 complete):
  1. Google Ads → Campaign Settings → Ad Schedule
  2. Add Saturday 8am–4pm as test window
  3. Start with 50% bid adjustment (conservative test)
  4. Monitor for 2 weeks — if CPA stays under $100, expand to Sunday and full Saturday
  5. Verify with Avoca that weekend call handling is active and bookable rate ≥ 70%
LIVE — Google Ads Day/Hour | Gated: do NOT enable until landing pages convert ≥5%
Phase 2 Summary — Weeks 1–2

Who does it: Web developer (WordPress backend access), Greg Romans (GA4/LSA admin).
Access needed: WordPress admin for GRPHC site, GA4 admin for Golden Rule PHC property, LSA accounts (189-035-6117 for Utah, 274-787-7158 for DSM).
Total cost: Dev time only (web developer hours). No additional ad spend until Phase 3.
Expected impact: Landing page conversion from 0.59% → 5%+ (8x improvement). If achieved on 2,560 monthly sessions, that's ~128 leads instead of 15.
Gate check: Landing page conversion rate ≥5% for 7 consecutive days before moving to Phase 3.

Phase 3

Graduate the Dollars — Week 3+ (gated on Phase 2)

Once landing page conversion rates hit ≥5% and tracking is clean, re-enable and scale. Do NOT start Phase 3 until the gate check passes.

Gate: Landing page conversion ≥5% for 7 consecutive days + clean tracking
0 of 5 complete
🔧 Greg Romans / MediaSpark
#13 Un-Pause PMax HVAC Campaign ($45.71 CPA) 5 min 30+ additional leads/mo Not Started

360 conversions at $45.71/lead — best campaign in the entire account by far. It was paused and that single decision caused CPA to explode from $49 to $260+ in Q3 2025.

Steps (Greg or MediaSpark, ~5 min):
  1. Google Ads → Campaigns → find "Utah-PMAX-HVAC"
  2. Toggle status to Enabled
  3. Set daily budget: $50/day ($1,500/month) to start
  4. Monitor: CPA should be under $60 with clean conversion tracking. If above $80 for 7 days, check conversion actions.
  5. Scale to $100/day ($3,000/month) after 14 days of clean data

Gate: Landing page conversion rate ≥5% + Primary conversion actions confirmed.

LIVE — Google Ads Export | Potential: 30+ additional HVAC leads/month
#14 Scale PPC Budget $3K → $5K/mo Ongoing 46 leads/mo target Not Started

MediaSpark projects 46 leads/mo at $5K spend once campaigns are restructured. Only worthwhile if conversion tracking is clean and landing pages convert.

Steps (Greg, incremental over weeks 3–6):
  1. Week 3: Increase total daily budget by $20/day across PMax campaigns
  2. Week 4: Review CPA trend — if holding under $80 blended, add another $20/day
  3. Week 5: Budget should be at ~$5K/month. Monitor impression share (target: 25%+)
  4. Week 6: Evaluate MediaSpark management proposal ($1,500/mo). Only if their optimizations show measurable CPA improvement beyond what Phase 1 fixes achieved.

Gate: 30 days of clean conversion data with ≤5% CPA variance from target.

MediaSpark Proposal | Target: 46 leads/mo at ~$109 blended CPA
#16 Increase Impression Share from 14.59% Ongoing 14.59% → 40%+ Not Started

Currently invisible for 85% of searches. Budget increase + quality score improvement from clean tracking will push share up. But budget without conversion = throwing money at the same broken funnel.

Steps (Greg/MediaSpark, ongoing):
  1. Increase budget in $1K/month increments as CPA allows
  2. Quality Score improvements from new landing pages will naturally boost share
  3. Target milestones: 25% by month 2, 40% by month 4, 60%+ by month 6
  4. Track via Auction Insights report — monitor rank vs. Any Hour, S.O.S., Whipple

Gate: Phases 1 & 2 fully complete.

LIVE — Auction Insights | Current: 14.59%, Target: 40%+ by month 4
👔 Mark Paup + Ops Team
#15 Launch Review Generation Engine 1 week setup 50–70 reviews/mo by Month 3 Not Started

Golden Rule has 800 reviews. Top competitor Any Hour has 26,808. Review velocity directly impacts LSA ranking, Map Pack position, and customer trust. Target: 50–70 new reviews/month by Month 3.

Steps (Mark + ops team, ~1 week setup):
  1. Deploy NiceJob ($75/mo) — integrates with ServiceTitan for auto-review requests 2 hours after service
  2. Launch tech bonus: $10 per 5-star Google review tied to tech's name. Monthly leaderboard: #1=$250, #2=$150, #3=$100
  3. Order QR stickers (1,000 @ $200) for equipment placement
  4. Train techs on the verbal ask: "If you're happy, I'd really appreciate a Google review. It helps me out!"
  5. LEGAL: Never incentivize customers for reviews (Google prohibition, FTC $51,744/violation). Incentivize technicians only.

Timeline: Month 1: 20–30 new reviews. Month 3: 50–70. Month 12: 100+/month.

See Review Generation section for full program | Cost: ~$575–1,500/mo
🔌 Diraj / GetFresh Ventures
#17 Wire Dashboard to Live APIs Ongoing Real-time data In Progress

Connect all 4 Google APIs to replace stale CSV exports with live data. Current status:

GA4 Property 319584840 — ✅ LIVE (auto-verified)
Google Search Console goldenrulephc.com — ✅ LIVE (auto-verified)
Google Ads MCC 448-550-2333 — ❌ BLOCKED (needs Greg to add diraj@getfreshventures.com to MCC)
Google Business Profile — ❌ BLOCKED (needs Greg to add as Manager/Owner)
GAP — Need MCC and GBP access from Greg (see Access Requirements above)
Phase 3 Summary — Weeks 3–6+

Who does it: Greg Romans (campaign management), Mark (review program), Web developer (ongoing page builds), Diraj/GetFresh (dashboard wiring).
Monthly investment increase: $1,500–3,000/mo additional ad spend + $575–1,500 review program + optional $1,500/mo MediaSpark management.
Expected outcome: 46+ leads/month (vs ~17 today), $23K/month revenue on $6.5K spend (3.55x ROAS), 50+ new reviews/month, impression share from 14.59% → 40%+.
The sequence matters: Stop bleeding → Fix foundation → Then spend. Skipping to Phase 3 without completing Phase 2 = pouring money into the same broken funnel.

⚔️
Competitive Intel
15 competitor profiles with ownership, ratings, reviews, and vulnerabilities. 12 of 15 are PE-owned with shared weaknesses: surprise fees, upselling, and call center runaround.
Avg 3.2★ on negative reviews — exploit the trust gap
Key Insight

12 of 15 top competitors are PE-owned. Their playbook: acquire local brands, centralize operations, raise prices, push high-margin upsells. Consumer trust is eroding — 500+ HVAC contractors now adopting "radical transparency" pricing to combat this. Golden Rule can lead the counter-movement.

Company Ownership Rating Reviews Key Weakness PE Parent
Any Hour ServicesPE (Wrench Group)4.8★26,808Surprise fees, upsellingWrench Group
Whipple Service ChampionsPE4.7★12,000+Pressure salesUnknown PE
My Buddy the PlumberPE4.6★8,500+Scheduling issuesUnknown PE
Quick Quality PlumbingPE4.6★4,200+Call center runaroundUnknown PE
Expert Services (Lex Air)PE4.5★3,500+High membership ($350/yr)Unknown PE
Yes! Air ConditioningPE4.3★2,800+Aggressive upsellingUnknown PE
S.O.S. HeatingIndependent4.8★2,600+None — strong competitorN/A
Action PlumbingPE (Connectionz)3.8★1,800+Elder abuse lawsuitConnectionz Acq.
Blue Best PlumbingIndependent (Women-owned)5.0★1,600+None — strong competitorN/A
Golden RuleIndependent (Family)4.6★800+Review count gapN/A
Black Diamond ExpertsPE4.2★2,200+RICO lawsuit (July 2025)Unknown PE
Manwill P&HIndependent (4th gen)4.5★~100Low digital presenceN/A
Thornton P&HIndependent4.3★~500Aging leadershipN/A
Salmon HVACIndependent (Family)4.5★415Small — growth playN/A
Eagar H&CIndependent4.8★~400Small tuck-in candidateN/A
Review Intelligence
Analysis of 44 negative competitor reviews across 15 companies. Six pain patterns identified with counter-positioning playbooks for Golden Rule.
34% of complaints = surprise fees — your #1 counter-positioning opportunity

Pain Pattern Analysis

34%
Surprise Fees & Hidden Costs
"Quoted $200, billed $800"
→ Counter: Publish pricing ranges on website. Written estimates before work begins. "No Surprise Guarantee" badge.
28%
Aggressive Upselling
"Tech said I needed $12K system, second opinion said $200 fix"
→ Counter: Train techs on honest diagnosis. Offer "Get a Second Opinion" guarantee.
19%
Call Center Runaround
"Transferred 4 times, no one could help"
→ Counter: Avoca AI answers within 2 rings. No call center — same local team every time.
11%
Different Tech Every Time
"New person every visit, had to re-explain everything"
→ Counter: Assign dedicated techs by area/customer. "Same Tech Every Time" promise.
5%
Pressure Sales Tactics
"Wouldn't leave until I signed"
→ Counter: Never push. "Take your time, we'll be here when you're ready."
3%
4-Hour Wait Windows
"Sat home all day waiting"
→ Counter: 2-hour arrival windows with real-time tech GPS tracking.

All 44 Competitor Negative Reviews

Source: Google Reviews from 15 competitor companies. Click column headers to sort.

Company Rating Date Key Quote Responded?
📡
Digital Channels & Weighting
10-channel ranking with cost per lead, budget allocation, and OWN vs RENT analysis. Includes quarterly investment model ($5K→$10K/mo, $88.5K total year) with 7 detailed channel playbooks.
SEO delivers 27.46x median ROI — invest in OWN channels first
⚠️ Revenue Ops Gate

Any channel you fund must be wired to the <60s speed-to-lead SLA — otherwise you buy leads that decay before contact. Utah budget expansion is frozen until first-line AI is stable. See Implementation for the full checklist.

Channel Ranking

Rank Channel CPL Speed to Results Asset Type Budget %
1Email/SMS to Past Customers<$101–2 weeksOWN10%
2Referral Programs$0–502–4 weeksOWN5%
3Google Business Profile / Local SEO$47 avg3–6 monthsOWN20%
4Nextdoor + Facebook Groups<$362–6 weeksRENT/OWN10%
5Google LSA$45–85DaysRENT20%
6Meta Ads (FB/IG)$20–751–3 weeksRENT15%
7Organic SEO (Website)Lowest LT6+ monthsOWN10%
8Google PPC (Search)$89–156HoursRENT5%
9YouTube Pre-Roll~$0.10–0.30/view2–4 weeksRENT3%
10Geofencing$1K–3K/mo1–2 weeksRENT2%

OWN vs RENT Channels

OWN 45%
RENT 55%

OWN channels build equity — reviews, SEO, email lists stay when you stop spending. RENT channels — leads stop the day you stop paying. Target shift to 60/40 OWN by Month 6.

🌙 After-Hours Marketing Weapon

After-hours/overflow/weekend AI coverage is live via Avoca. Run time-window campaigns (evenings, weekends) because the system now captures demand that previously leaked. Fund "urgent intent" campaigns during off-hours when competitors still leak calls.

Key Channel Data

27.46x SEO median ROI (HVAC)
52% organic revenue from GBP
80% Nextdoor users hire from app
$0.69 avg FB click for HVAC
98% SMS open rate in 20 min
31% LSA conversion rate
20–30% lower CPL on Bing

12-Month Investment Summary

Quarter Monthly Budget Total Spend Leads/Month Blended CPL
Q1 (Mo 1–3)$5,000$15,00056–89$56–79
Q2 (Mo 4–6)$6,500$19,50082–137$47–79
Q3 (Mo 7–9)$8,000$24,000102–159$51–80
Q4 (Mo 10–12)$10,000$30,000130–203$49–76
YEAR TOTAL$7,375 avg$88,500~120 avg/mo~$62

At avg $285 ticket and 40% close rate: ~48 new jobs/month × $285 = $13,680/month revenue. Annual: $164,160 revenue on $88,500 spend = 1.85x ROAS Year 1 (growing to 3x+ in Year 2 as organic compounds).

Channel Playbooks

📍 Google Business Profile (GBP) — #1 Priority

Why: 52% of organic closed revenue. 80%+ of HVAC leads start from Google Maps.

Step-by-Step:

  1. Claim & verify at business.google.com
  2. Primary category: "HVAC Contractor" — Secondary: "Plumber", "Electrician", "Air Conditioning Repair Service", "Furnace Repair Service"
  3. Business description (750 chars max) emphasizing family-owned, 24/7, no surprise fees, Gold Club from $99/yr
  4. Upload 10+ real photos — trucks, techs, completed jobs. Google rewards active listings with 2x more direction requests
  5. Weekly GBP posts — seasonal tips, offers. "$49 AC Tune-Up" with CTA button
  6. Respond to EVERY review within 24 hours
  7. Pre-populate Q&A with 10 FAQs
  8. Add every service with keyword-rich descriptions
  9. Enable call button, messaging, booking link
  10. NAP consistency: exact Name/Address/Phone across all directories

AI/Low-Effort: Publer ($10/mo) for weekly posts. AI to draft 12 posts in 30 minutes.

Expected: 35–60% increase in map views within 90 days. Top 3 Map Pack within 6 months.

Monthly Cost: $10/mo

🏆 Google Local Service Ads (LSA)

Why: Appears above ALL other ads. Pay only for leads. Google Guaranteed badge = instant trust. Converts at 31% vs 12% for PPC.

  1. Create LSA account at ads.google.com/local-services-ads
  2. Select services: HVAC Repair, AC Installation, Furnace Repair, Plumbing, Electrical
  3. Service area: Salt Lake County + Utah County + Davis County ZIP codes
  4. Upload insurance, license, background check docs
  5. Set weekly budget: Start at $500/week ($2,000/month)
  6. Upload 5+ professional team/truck photos
  7. Hours: Mon–Sat 7am–9pm, emergency 24/7
  8. Connect ServiceTitan CRM for auto-booking
  9. Critical: Dispute bad leads within 30 days for credits

Only run ads during hours you can answer phone within 90 seconds. Avoca AI already handles this.

Expected: 15–30 qualified leads/month at $45–85/lead.

Monthly Cost: $1,500–2,500/mo

📘 Meta Ads (Facebook/Instagram)

Why: $0.69/click avg — cheapest paid click. $49 tune-up campaigns = $36/lead.

Campaigns:

  1. Seasonal Tune-Up: "$49 AC Tune-Up Special" Lead Ad. Target: Homeowners, 30–65, within 25mi of SLC. $15/day.
  2. Emergency Awareness: "No Heat? Call Now" Call Ad. Run Oct–Feb.
  3. Gold Club: "Protect your home for $99/year" with competitor price comparison.
  4. Retargeting: Ads to goldenrulephc.com visitors who didn't call (last 30 days).
  5. Lookalike Audiences: Upload customer list → FB finds similar homeowners.

Expected: $20–75/lead for service, $75–200/lead for installs. At $750/mo → 10–20 leads.

Monthly Cost: $500–1,000/mo self-serve

✉️ Email/SMS Re-activation

Why: Cheapest channel. 98% SMS open rate in 20 min. One HVAC company: $150 email → 17 service calls ($8.82 CPS).

Campaign Templates:

  1. Winter Prep (Oct): "Hi [Name], it's been [X months] since we serviced your furnace. Book before the rush."
  2. Summer Cool-Down SMS (May): "AC tune-up season! Book this week & save $25. Reply YES."
  3. Anniversary Email (12 mo): Time for a check-up reminder + Gold Club priority.
  4. Emergency Weather Alert SMS: "SLC freeze warning! Is your furnace ready? Same-day appointments."
  5. Referral Ask (2 weeks post-service): Refer a friend — both get $25 off.

Setup: All 5 as automated sequences in Mailchimp ($20/mo). One-time setup, runs forever.

Expected: 5–15 calls per campaign. $8–50 CPS.

🏘️ Nextdoor

Why: 80% of users hire businesses referred on app. 17% web-visit-to-lead conversion.

  1. Claim business page (free)
  2. Post helpful content 2–3x/week: "5 Signs Your AC Needs Attention" (NOT sales pitches)
  3. Answer questions in "Recommendations" — be the helpful neighbor
  4. Run Local Deals: "$49 AC Tune-Up" targeted to older-home ZIPs
  5. Ask satisfied customers to recommend you on Nextdoor

Expected: 5–10 leads/month at <$100 CPS within 60 days.

Monthly Cost: $0 organic or $100–300/mo with Local Deals

🔍 Organic SEO

Why: 27.46x median ROI. 42% of all HVAC leads. Lowest long-term CPL ($10–15 once ranking).

Location Pages: Create pages for top 20 areas: "/hvac-repair-salt-lake-city", "/furnace-repair-sandy-ut", "/ac-installation-west-jordan". 800–1,200 words each.

Content (4 posts/month):

  • "How Much Does a New Furnace Cost in Utah? (2026 Pricing Guide)"
  • "5 Signs Your AC Is About to Fail"
  • "Choosing an HVAC Company: Family-Owned vs Corporate"

Expected: First organic leads in 4–6 months. 20–40 leads/month by month 12.

Monthly Cost: $500–1,500 or $0 if done in-house with AI

🔵 Bing Ads

Why: 20–30% lower CPL than Google. Older homeowner demographic = Golden Rule's ideal customer.

Setup: Import Google Ads campaigns into Bing in one click. Same structure, lower cost.

Budget: $150–300/mo. Small but consistent.

Expected: 3–8 additional leads/month at 20–30% lower cost than Google.

Note: Yelp is directory-only (not a funded channel). TikTok is Phase 5 only (Month 6+, brand awareness, not lead gen).

🚀
Review Generation Engine
Compliant 3-prong review system: tech bonuses, NiceJob automation, and QR codes. Legal framework to avoid Google/FTC violations while scaling from 800 to 2,000+ reviews.
Target: 50-70 new reviews/month by Month 3
⚠️ CRITICAL LEGAL WARNING

Google PROHIBITS offering customers any incentive for reviews — no discounts, no free membership, no credits, no contest entries. FTC 2024 rule: $51,744 per violation. Google increased enforcement in January 2025. The system below is fully compliant.

The Compliant Review Machine — 3 Prongs

💰 Prong 1: Technician Bonus Program (THE legal way)
  • $10 per 5-star Google review tied to tech's name
  • Monthly leaderboard: #1 gets $250, #2 gets $150, #3 gets $100
  • One pest control company went from 3 → 100+ reviews/month using tech bonuses
  • Techs verbally ask: "If you're happy, I'd really appreciate a Google review. It helps me out!"
  • Cost: $500–1,500/month → generates 50–150 reviews/month
  • ROI: 50 new reviews = jump from #6 to #3 in Map Pack within 90 days
🤖 Prong 2: Automated Review Requests (NiceJob)
  • Deploy NiceJob ($75/mo) — integrates with ServiceTitan
  • Triggers SMS + email within 2 hours of job completion
  • 70% of customers leave a review WHEN ASKED
  • SMS: "Hi [Name], your tech [Tech Name] would love your feedback. [Google review link]"
  • 98% open rate within 20 minutes. One-tap link to Google.
📱 Prong 3: QR Code on Equipment
  • Every install/service gets branded sticker with QR code
  • QR links to: "How was your service?" → Google review link
  • Captures reviews weeks/months later when customer interacts with equipment
  • See full QR Sticker Strategy for details

Outbound texting pilot is already running (~5 weeks). Tie review velocity to the outbound program as customers respond to outreach.

🏆 Gold Club — The Elegant Play

DON'T: "Free membership for a review" (ILLEGAL).
DO: After service, offer Gold Club at discounted rate as part of service package (independent of review). SEPARATELY, send automated review request (no mention of membership). Members naturally become repeat customers who leave MORE reviews. The membership IS the retention engine; reviews come from great service + automated asks.

Review Velocity Targets

Timeframe Target How
Month 120–30 new reviewsTech bonuses + NiceJob automation
Month 350–70 new reviews/moFull team engaged + QR stickers deployed
Month 680–100 new reviews/moFlywheel running
Month 12100+ new reviews/mo1,200+ total. Competitive with top players
📱
QR Sticker Strategy
Equipment stickers with dynamic QR codes for seasonal messaging, review capture, and repeat business. $200 investment → 60%+ repeat rate based on Applewood Plumbing model.
$200 investment → projected $2,850 revenue from 10 converted calls
60%+ repeat business (Applewood Denver)
70% repeat calls via QR (Indiana HVAC)
$0.15–0.50 per sticker cost

Program Details

  • Design: 2"×2" waterproof vinyl, gold/dark branded, Golden Rule logo, "Scan for Service" CTA
  • Dynamic QR (PairedQR $20/mo or Bitly): Change destination by season — Summer: "Book AC Tune-Up" / Winter: "Schedule Furnace Check" / Year-round: Direct call to (801) 218-2225
  • Placement: Every service call — furnace, AC, water heater, electrical panel
  • Landing page: One-tap call, "Book Service", seasonal offer, Gold Club signup, "Rate Your Last Service" → Google review
  • Bonus: Emergency shutdown instructions for that equipment type (Applewood model)

Cost Analysis

Item Cost ROI Projection
1,000 stickers$150–300If 10% scan, 10% convert = 10 calls
Dynamic QR platform$20–50/moSeasonal messaging flexibility
Landing page$0 (built into website)Captures reviews + bookings
10 converted calls × $285= $2,850 revenueOn $200–350 investment

Vendors: Comgraphx, PairedQR, Websticker, StickerGiant

📍
ZIP Code Drilldowns
50 target ZIPs across SLC/Wasatch Front with demographics, housing age, income, and geofencing priority. Color-coded by zone type for campaign targeting.
50 ZIPs analyzed — click any row for marketing playbook
🔴 Hot Zone: Pre-1980 >50%, high income, high owner-occ — upgrades
🟠 Warm Zone: Mixed age, moderate income — maintenance
🔵 Growth Zone: New construction >40% — warranty capture
ZIP City/Area Population Housing Units Med Year Built % Pre-1980 Med HH Income Owner-Occ % Zone Geo Priority

Data: ACS 2023 5-year, Census 2020. "—" indicates data not available in public sources for that ZIP.

🏆
Membership Plans
Gold Club 3-tier pricing ($99/$199/$299) vs competitor plans ($240–350). Revenue potential: 200 members × $99 = $19,800/yr ARR, growing with Plus/Premium upsells.
$99 Gold Club Basic = cheapest major plan in Utah market
Basic
$99
per year
  • 1 annual HVAC tune-up
  • Diagnostic fee waived
  • 10% parts discount
  • Next-day priority scheduling
  • Standard after-hours rate
  • Water heater flush
  • Electrical panel check
  • 1-year price lock
Premium
$299
per year
  • 2 tune-ups + plumbing inspection
  • Diagnostic fee waived
  • 20% parts discount
  • 4-hour window priority
  • 25% off after-hours rate
  • Water heater flush
  • Electrical panel check
  • 3-year price lock + transferable

Competitor Comparison

Company Plan Name Annual Cost Includes Gold Club Advantage
Any Hour ClubMaintenance Plan$240/yr1 tune-up, 10% partsBasic is 58% cheaper
Lex AirPremium Club$350/yr2 tune-ups, priorityPlus saves $151/yr for same benefits
My BuddyService Plan$199/yr1 tune-up, diagnostic waivedBasic saves $100/yr
Industry Average$240–350/yrVariesGold Club: 58–72% cheaper
Revenue Potential

200 members × $99 Basic = $19,800/yr ARR. Plus/Premium upsells add 30–50% more. Upsell path: Basic → Plus conversion at 12-month mark with "loyalty upgrade" offer.

📋
Marketing Playbook
SLC-specific keyword cost data and tactical playbook. HVAC repair SLC: $9–15 CPC, emergency plumber SLC: $15–25 CPC. Blended industry CPL benchmark: $104.
Blended HVAC CPL benchmark: $104 — Golden Rule target: $62

SLC Market Keyword Data

Keyword Avg CPC Monthly Searches Competition
"HVAC repair Salt Lake City"$9–151,200High
"AC repair near me"$12–183,400Very High
"furnace repair Utah"$8–12800Medium
"emergency plumber SLC"$15–25600High
"HVAC company Salt Lake City"$7–12900High
LSA cost per lead (SLC)$45–85N/AMedium
Geofencing$1K–3K/moN/ALow
Blended HVAC CPL benchmark$104N/A

Channel ROI Comparison

Golden Rule's blended target of ~$62 CPL beats the $104 industry benchmark by 40%. This is achievable because OWN channels (Email/SMS, GBP, SEO) have near-zero marginal cost once established. For detailed channel playbooks, see Digital Channels.

💸
Google PPC Audit (MediaSpark)
MediaSpark audit of Golden Rule SLC Google Ads: plumbing Search at 9.3% conversion (benchmark 39.59%), $175 CPA (benchmark $65). HVAC campaigns PAUSED (were the best performers at $45.71 CPA). No brand protection. Cross-reference with real data in Utah Digital Performance section.
$175 CPA vs $65 benchmark — but real data shows PMax HVAC was $45.71
🚨 Bottom Line for Mark

Your current Google Ads account is bleeding money. For every $175 you spend to get one lead, competitors pay $65. That’s $110 wasted per lead — at ~17 leads/month, that’s roughly $1,870/month in overspend. Worse: HVAC campaigns aren’t even running in SLC, and no one is protecting your brand name from competitor bidding. The fixes below are straightforward and most can be done this week.

Campaign Performance vs Benchmarks

Campaign Type Status Conv. Rate Benchmark Your CPA Benchmark CPA Verdict

CPA Gap — What You Pay vs What You Should Pay

Search Plumbing
$175 (yours)
$65 (benchmark)
▲ $110/lead overspend (2.7x)
PMax Plumbing
$70 (yours)
$24 (benchmark)
▲ $46/lead overspend (2.9x)
HVAC Campaigns
⏸️ PAUSED — Was your best performer ($45.71 CPA, 360 conversions). See Utah Digital Performance for real data.
Brand Campaigns
❌ NOT RUNNING — Competitors can bid on your name

Conversion Tracking Is Broken

Why Your Numbers Look Bad (And Actually Are Bad)

Google’s algorithm is optimizing for the wrong things. Right now, it counts YouTube subscriptions and page views as “conversions” — so it’s sending budget toward people who watch videos, not people who need a plumber. Fix the conversion hierarchy and the algorithm will start finding real leads.

❌ Demote to Secondary (Today)
  • YouTube Channel Subscriptions
  • Page View: Book Urgent Repair
  • YouTube Follow-On Views

These don’t represent business value and are polluting bid optimization.

✅ Create as Primary (This Week)
  • Immediate Service Request (emergency)
  • Free Online Quote Submission
  • Schedule Service Booking
  • Live Chat Engagement

These are real leads. Google will optimize toward them once set as Primary.

⚠️ Disable AI Max Immediately

AI Max is enabled but showing minimal delivery. Low delivery combined with unpredictable behavior makes it a liability — potential for surprise spend spikes that blow your budget. Turn it off today. Re-evaluate once campaigns are restructured and conversion tracking is fixed.

MediaSpark’s Recommended Action Plan

Action When Impact Detail

Projected Outcomes (Post-Fix)

Current State
~17 leads/mo
$3K spend → $175 CPA → plumbing only
Proposed State
~46 leads/mo
$5K spend + $1.5K mgmt → ~$109 CPA blended
Projected Monthly Return
$23,077
46 leads × 40% close × $285 avg ticket
Projected ROAS
3.55x
$23K return on $6.5K total spend

MediaSpark Investment Proposal

Item Current Proposed Change
Monthly Ad Spend$3,000$5,000+$2,000 (+67%)
Management Fee$0 (self-managed)$1,500/moNew — professional management
Total Monthly$3,000$6,500+$3,500 (+117%)
Expected Leads~17/mo~46/mo+170% more leads
Expected Revenue≈$5K/mo≈$23K/mo+360% revenue
🎯 Mark’s Decision Point

Before approving the $6,500/mo proposal: The free fixes (negative keywords, conversion tracking, AI Max disable) should be done first regardless. Those alone will improve CPA by 20–40%. Once the account is clean, evaluate whether professional management at $1,500/mo is justified by the additional optimization MediaSpark can provide. The biggest quick win is launching HVAC and brand campaigns — that’s where the real money is.

Source: MediaSpark Google PPC Campaign Audit (March 2026). Benchmarks from MediaSpark client portfolio. Projections assume proper conversion tracking and negative keyword cleanup.

🔍
Search Terms Deep Dive
100 search terms analyzed. $4,912 total spend with ZERO conversions. $2,415 wasted on competitor names, $980 on your own brand. Every dollar here produced nothing.
$4,912 spent → 0 conversions — 100% waste rate
🚨 Every Dollar Wasted — Zero Conversions Across All 100 Terms

This is the single clearest proof that negative keywords are missing. You paid $2,415 for people searching for your competitors by name (Smedley, Genuine Comfort, Anytime, etc.) and $980 for your own brand name (Golden Rule) — clicks you should get organically for free. The fix is adding negative keywords + launching a brand protection campaign (see Phase 1 items 4 and 5).

Total Spend Analyzed
$4,912
100 search terms, Feb 2022 – Mar 2026
Competitor Name Waste
$2,415
Smedley, Genuine Comfort, Anytime, etc.
Brand Name Waste
$980
Golden Rule queries — should be free organic
Total Conversions
0
Not a single lead from any of these terms
Brand Your own brand name ($980) Competitor Competitor names ($2,415) Service Generic service terms Supply/Parts Wholesale/parts searches

All 100 Search Terms — Sorted by Cost

Click any column header to sort. Color-coded by category. Every term with spend and zero conversions is money you can recover by adding negative keywords.

Search Term Category Cost Clicks Impressions CPC Conv.

Source: Google Ads Search Terms Export (Feb 2022 – Mar 2026). All terms shown had impressions ≥ 34. Zero conversions across entire dataset.

🕳️
Ad Black Holes — Zero-Conversion Pages
6 landing pages received 770 sessions with ZERO conversions. Every visitor to these pages was wasted traffic. From GA4 live data (Dec 2025 – Mar 2026).
770 sessions → 0 conversions — fix or redirect these pages
These Pages Are Eating Your Budget

770 real visitors landed on these 6 pages and not a single one converted. If even 3.6% had converted (the site average), that's 28 leads you missed. Each page needs to be rebuilt with a clear CTA, a scheduling widget, or redirected to a page that actually converts.

Total Wasted Sessions
770
Across 6 zero-conversion pages
Missed Leads (at 3.6% avg)
~28
If these pages converted at site average

Zero-Conversion Landing Pages

Landing Page Sessions Users Conv. Rate Avg Duration (s) Recommended Fix

Source: GA4 Property 319584840. Utah landing pages with 80+ sessions and 0 conversions. Date range: Dec 1, 2025 – Mar 5, 2026.

🏆
High-Converting Pages — What's Working
11 pages converting at 5%+ (with 10+ sessions). Top performer: Kaysville Plumbing at 16.67%. These pages are the blueprint — replicate this pattern across all city pages.
Top page converts at 16.67% vs 3.63% site average — 4.6x better
🎯 The Blueprint Is Right Here

These 11 pages prove what works: city name + specific service = high conversion. Kaysville Plumbing converts at 16.67% — nearly 5x the site average. North Salt Lake gets 479 sessions with 6% conversion and 211s average time on page. The common pattern: specific city, specific service, clear CTA, local trust signals. Clone this approach for every city page.

Site Average Conv. Rate
3.63%
205 conversions from 5,975 sessions
High Performers Avg Rate
8.6%
These 11 pages, 5%+ conversion

Top-Performing Landing Pages (5%+ Conv. Rate, 10+ Sessions)

Landing Page Sessions Users Conversions Conv. Rate Avg Duration (s)

Source: GA4 Property 319584840. Pages with 10+ sessions and 5%+ conversion rate. Date range: Dec 1, 2025 – Mar 5, 2026.

📞
LSA Lead Intelligence
103 LSA leads analyzed (Apr 2025 – Feb 2026). 79 charged, 17 not charged, 7 credited. Top cities: Salt Lake City (13), North Salt Lake (11), Ogden (8). 47 phone calls, 56 messages.
103 total leads — 76.7% charge rate | Top job: HVAC maintenance (16 leads)
🎯 LSA Lead Profile

HVAC maintenance dominates (16 leads) followed by water heater installs (5) and water heater repairs (4). Salt Lake City and North Salt Lake generate the most leads. 54% of leads come via message vs 46% phone — fast message response is critical. 7 leads were credited (disputed), mostly from outer service areas. The charge rate of 76.7% is healthy — aim to maintain by responding within 5 minutes.

Total LSA Leads
103
Apr 2025 – Feb 2026
Charged
79
76.7% charge rate
Not Charged
17
Likely duplicate or spam
Credited
7
Disputed — refund received
Phone Calls
47
45.6% of all leads
Messages
56
54.4% of all leads — fast reply critical

Leads by Location

City Lead Count

Leads by Job Type

Job Type Lead Count

Recent LSA Leads (Last 30)

Most recent leads from the LSA inbox export. Click column headers to sort.

Date Location Job Type Lead Type Charge Status

Source: Google LSA Leads Inbox Export (Apr 2025 – Feb 2026). 103 total leads for Golden Rule PHC Utah.

📈
Utah Digital Performance (Real Data)
Live GA4, Google Ads, and LSA data for Utah. 5,972 Utah sessions converting at 3.42% vs Iowa's 13%. Best campaign (PMax HVAC, $45.71 CPA) is paused. Worst performer (Plumbing Search, $239 CPA) is running.
Utah converts at 1/4 the rate of Iowa — landing pages are the bottleneck
🚨 Bottom Line for Mark

Your Utah digital presence has a conversion problem, not a traffic problem. Nearly 6,000 visitors land on Utah pages, but only 204 convert — a 3.42% rate. Iowa's location pages convert at 13% — nearly 4x better. The single biggest issue: your main paid ad landing page (/location-utah-urgent-repair) gets 2,560 sessions and converts at just 0.59%. Meanwhile your best campaign (PMax HVAC at $45.71/lead) is paused, and the worst performer (Plumbing Search at $239/lead) is running. Fix the landing pages and un-pause PMax HVAC — those two moves alone could double your Utah leads.

Utah vs Iowa: Conversion Gap

Utah Sessions
5,972
89 Utah landing pages (Jun '25 – Mar '26)
Utah Conversion Rate
3.42%
204 key events from 5,972 sessions
Iowa Conversion Rate
13.00%
216 key events from 1,662 sessions
Gap
3.8x
Iowa converts 3.8x better on the same site

Utah Landing Pages — By Traffic Volume

Your main ad landing page gets the most traffic but barely converts. City-specific pages convert 3-10x better. The pattern is clear: localized pages with specific service content outperform generic "urgent repair" pages.

Landing Page Sessions Key Events Conv. Rate Avg Engagement Status

Highest-Converting Utah Pages

These pages prove the model that works: city name + specific service = higher conversion. Kaysville plumbing converts at 16.1% — nearly 5x the Utah average. This is the blueprint for every city page.

Landing Page Sessions Key Events Conv. Rate

Zero-Conversion Pages (Wasted Traffic)

855 Sessions → 0 Conversions

These 10 pages received real traffic but produced zero key events. They need to be rebuilt or redirected to pages that actually convert. Every visitor to these pages is wasted ad spend or wasted organic opportunity.

Landing Page Sessions (Wasted) Recommended Action

Google Ads Campaigns — Actual Performance

This is your real Google Ads data, not MediaSpark estimates. Total spend: $74,137 across 4 Utah campaigns. The PMax HVAC campaign was your best performer at $45.71/lead — but it's paused.

Campaign Status Total Spend Conversions CPA Assessment

CPA by Campaign — Visual Comparison

Utah-PMAX-HVAC (PAUSED)
$45.71 — Best CPA
Utah-PMAX-Plumbing (ACTIVE)
$85.30
Utah-HVAC Search (PAUSED)
$215.62
Utah-Plumbing-Search (ACTIVE)
$239.24 — Worst CPA
🎯 Mark's Immediate Move

Un-pause Utah-PMAX-HVAC today. It delivered 360 conversions at $45.71 each — that's 5.2x more efficient than the Plumbing Search campaign that's currently running. At the same time, either fix the Plumbing Search campaign's landing pages (they convert at 0.59%) or pause it and shift budget to PMax. This one change could cut your effective CPA in half.

Quarterly Performance Trend

Q2 2025 was the sweet spot: $49.30 CPA on $13K spend. Then HVAC campaigns got paused in Q3 and CPA exploded to $260. Q1 2026 is recovering but still 2x the Q2 level.

Quarter Spend Clicks Conversions CPA Trend

Auction Insights — Who You're Competing Against

Golden Rule has only 14.59% impression share — meaning you're invisible for 85% of searches. Competitors with lower share are still outranking you 14% of the time and appearing above you 45-66% of the time.

Advertiser Impression Share Top of Page Rate Outranking Share Position Above Rate

Device & Demographics

📱 Device Split
Mobile85.5% of spend ($63.4K)
Desktop13.2% ($9.8K)
Tablet + TV1.3% ($942)

544 of 671 conversions (81%) came from mobile. Landing pages must be mobile-first.

👥 Audience Profile
Male68.4%
Female31.6%

Peak ages: 25-54 (59% of impressions). This is homeowners in prime home-maintenance years.

⚠️ Weekend Blind Spot

Your ads run Monday–Friday 7am–5pm only. Saturday had 450 impressions, Sunday had zero. Emergencies don't take weekends off. Your competitors are capturing every Saturday broken furnace and Sunday burst pipe while your ads are dark. At minimum, test weekend hours for emergency services — HVAC and plumbing emergencies peak Saturday 9am–3pm.

Spend by Network

Network Spend Clicks Avg CPC Note

Top Search Keywords

Your highest-spend keywords are all HVAC-related — and they're all paused. The active plumbing keywords have lower volume and higher CPA. This is the data behind why un-pausing HVAC is the single most impactful move.

Keyword Spend Clicks CTR Status

Local Services Ads — Lead Breakdown

104 LSA leads from April 2025 to February 2026. 71% are charged leads (meaning Google deemed them valid). Salt Lake City generates the most leads, followed by Ogden and Layton — matching your ZIP code coverage areas.

Leads by City
City Leads
Leads by Job Type
Job Type Leads
Total LSA Leads
104
Apr 2025 – Feb 2026 (11 months)
Lead Type Split
60/40
62 messages / 42 phone calls
Charged Rate
71%
74 charged / 30 not charged
Avg Leads/Month
~9.5
Low volume — needs GBP optimization to increase

Full Site Traffic Channels (GA4)

Organic Search drives 49% of all traffic (76.7K sessions) with solid engagement. Cross-network (PMax) has the highest conversion rate at 8.6%. The "Unassigned" channel showing 13,707 key events at 70% rate is almost certainly misconfigured tracking — investigate and clean up.

Channel Sessions Active Users Key Events Engagement Rate Event Rate
🎯 Data Access Status — What We Have vs. What We Need

Current access status for live dashboard integration:

  • GA4 ✅ CONNECTED — Property 319584840 live via API. Landing pages, sessions, conversions flowing.
  • Google Ads ⚠️ BLOCKED — API connected but returns no data. Root cause: diraj@getfreshventures.com is not listed as a user on MCC 448-550-2333. Greg must add this email under Admin → Access and Security.
  • Google Business Profile ❌ BLOCKED — API connected but returns no locations. Root cause: diraj@getfreshventures.com is not a Manager/Owner on the GBP listings. Greg must add under Users in GBP Manager.
  • Google Search Console ✅ LIVE — Connected and pulling keyword rankings, impressions, CTR, and device data for goldenrulephc.com.
  • GTM ❓ UNKNOWN — Need to verify Google Tag Manager access for conversion tracking fixes.
  • Campaign Change History ❓ UNKNOWN — Needed to verify what MediaSpark has actually changed vs. recommended.

Sources: GA4 Landing Pages (Jun 2025–Mar 2026), GA4 Traffic Acquisition (Aug 2024–Aug 2025), Google Ads Overview Export (Feb 2025–Mar 2026), Google LSA Leads Inbox (Apr 2025–Feb 2026). All data from Golden Rule PHC property.

🤝
Acquisition Targets
3 tier-A prime targets, 4 tier-B good fits, and 5 not-recommended. Focus: legacy brands with aging ownership in SLC/Utah County. EBITDA target: $500K–$2.2M at 3–5x multiples.
Tier A: Thornton (92 yrs), Winsness (104 yrs), Bernie's (45 yrs)
Tier A — Prime Targets
Company Est. Revenue Years Location Rating Reviews Why Prime
Thornton P&H$6.5M92 yrsMidvale4.3★~500Legacy brand, aging leadership speculation
Winsness Plumbing$4M104 yrsMurray4.5★~300Century-old brand equity, owner aging
Bernie's P&H$1–2M45 yrsProvo3.7★~12Owner aging, Utah County, low online = easy uplift
Tier B — Good Fit
Company Est. Revenue Years Location Rating Reviews Notes
Manwill P&H$3–5M106 yrsSLC4.5★~1004th gen, smooth succession done
Salmon HVAC$2–3M47 yrsCenterville4.5★415Family-run, Davis County
Eagar H&C$1–2M25 yrsCedar Hills4.8★~400Small tuck-in, Utah County
E.R.S. H&C$1–2M26 yrsPlain City5.0★586Small, Northern UT expansion
Tier C — Not Recommended
  • Blue Best — Women-owned, 5.0★, 1,600 reviews, growing fast. Too strong.
  • S.O.S. Heating — Young owners, 2,600 reviews. Not selling.
  • ABT Heating — 2nd gen active, small.
  • Neerings — 4th gen, 51 employees, stable.
  • Thompson's Comfort — 4th gen, stable.
Mark's CRM Reference

EBITDA target: $500K–$2.2M | Target multiples: 3–5x EBITDA | Outreach status: Most in "Research" phase | B&M Plumbing: Multi-state (5 states), $2–5M range — strategic play.

🎯
Implementation Gameplan
5-tier capacity-based framework from revenue ops prerequisites through month 6+ brand building. Each tier with time-to-value, effort rating, and automation flags. Includes campaign launch gating checklist.
Tier 0 (Rev Ops prerequisites) must clear before scaling spend
🚦 Campaign Launch Checklist (Gating Controls)

A campaign can scale ONLY when:

Spam exclusion is live and reliable
Speed-to-lead SLA can be met (<60s)
Post-handoff visibility exists (or campaigns stay small)
Utah first-line is stable (for UT-targeted spend)
Tier 0Revenue Ops Prerequisites
Before scaling Utah marketing: stabilize first-line AI, get bookable booking rate to ≥70%, get transfer rate trending toward ≤10%. Q1 budget assumes Iowa-primary — Utah ramp depends on operational readiness.
Action Target Status Marketing Implication
Stabilize UT first-line AIBookable rate ≥70%⚠️ StabilizingFreeze major UT budget expansion
Reduce AI→human transfers≤10% (from ~18%)⚠️ Needs workElevated transfers = conversion leakage
Implement spam exclusion≥90% accuracy⚠️ ImplementAttribution without this is fiction
Build post-handoff visibilityEnd-to-end tracking🔴 GapGating dependency for scaling
Tier 1Do This Week ($0–200, 2–3 hours)
Action Time to Value Effort Automate? Expected Uplift
Set up NiceJob ($75/mo)3–5 days⭐⭐Yes — NiceJob+20–30 reviews/month
Launch tech review bonus ($10/review)1 weekManual initially+15–25 reviews/month
Optimize GBP1–2 weeks⭐⭐Partial — Publer35–60% map view increase
Order QR stickers ($200)2 weeksN/ALong-term repeat business
Set up Nextdoor page1 weekBuffer3–5 leads/month
Set up Mailchimp + first campaign1 week⭐⭐Yes — automated5–15 service calls
Tier 2Do This Month ($1,500–2,500/mo)
Action Time to Value Effort Automate? Expected Uplift
Launch Google LSA ($1,500/mo)3–7 days⭐⭐Semi — budget rules15–30 leads/month
Deploy email/SMS reactivation1–2 weeks⭐⭐Yes — Mailchimp/CC$8–50 CPS
Join 5–10 local FB groups2–3 weeks⭐⭐Partial — AI content5–10 leads/month
Begin Gold Club membership push2–4 weeks⭐⭐CRM automation+10 members/month
Tier 3Month 2 ($500–1,000 additional)
Action Time to Value Effort Automate? Expected Uplift
Launch Meta Ads ($750/mo)3–7 days⭐⭐⭐Meta Advantage+8–12 leads/month
Start SEO location pages4–6 months⭐⭐⭐AI draftsLong-term compound
Deploy QR stickers on ALL callsOngoingTech protocol60%+ repeat business
Begin Bing Ads test ($150/mo)1 week⭐⭐Import from Google3–8 leads at 20–30% lower CPL
Tier 4Month 3+ (Data-Driven Scaling)
Action Time to Value Effort Expected Uplift
Add geofencing around PE locations1–2 weeks⭐⭐⭐Conquest leads from competitor ZIPs
Launch YouTube pre-roll test2–3 weeks⭐⭐⭐Brand awareness lift in SLC metro
Begin content marketing (blog)3–6 months⭐⭐⭐Organic SEO growth compound
Evaluate Tier A acquisition outreachOngoing⭐⭐⭐⭐⭐Market expansion via roll-up
Tier 5Month 6+ (Brand Building & Dominance)
  • SEO pages ranking for 10+ local keywords, organic leads = 25–30% of pipeline
  • OWN channels at 45–50% of total leads, blended CPL trending down
  • Gold Club: 200+ active members = $19,800+ ARR
  • Review count competitive with top 5 in market (300+ new YTD)
  • Acquisition: active conversations with Tier A targets
  • TikTok brand awareness campaigns (brand building only, not lead gen)
  • QR sticker flywheel generating repeat business at near-zero cost
⚙️
Automation Hub
12+ recurring tasks with automation tools, costs, and priorities. Avoca AI already in production for 24/7 call handling. Total stack: ~$160–475/mo saves 15–20 hrs/week.
15–20 hours/week saved at ~$160–475/mo total stack cost
Task Frequency Manual Time Automation Tool Monthly Cost Priority
Phone call handling24/7N/AAvoca AI (live)Existing✅ Active
Review request after servicePer job5 minNiceJob$75🔴 Critical
Email/SMS seasonal remindersMonthly2 hrsMailchimp$20–50🔴 Critical
Review responsePer review10 minBirdeye AI / templates$0–299🔴 Critical
Social media postingWeekly3 hrsBuffer$15–50🟠 High
GBP postsWeekly30 minPubler$10–25🟠 High
LSA budget monitoringDaily15 minGoogle auto-rules$0🟠 High
QR sticker link updatesSeasonal15 minPairedQR$20–50🟠 High
Membership renewal remindersPer customer5 minServiceTitan CRMIncluded🟠 High
Blog post draftsMonthly4 hrsAI (ChatGPT/Claude)$20🟠 High
Competitor price monitoringMonthly4 hrsManual or SEMrush$0–130🔵 Low
Referral trackingOngoing1 hr/wkManual or ReferralCandy$0–50🔵 Low
$160–475/month total automation stack
15–20 hrs/week time saved
📲 Outbound Demand Board Fill

Outbound texting via Avoca is already in pilot (~5 weeks). Treat as production line:
Weekly list build → enrichment → campaign → booked → show rate → revenue per job
Plumbing/Electrical target: ≥10–12% outbound→booking conversion. Extend to HVAC after "unknown 10+" enrichment reduces from ~30% to ≤15%.

Avoca Capabilities Already in Production

After-hours/overflow/weekend call handling is LIVE. CSR headcount reduced from 7+1PT to 5 while maintaining coverage. Per-call feedback logging active. Speed-to-lead: first touch under 60 seconds for LSA/ENG + web leads. Gap to close: Utah first-line performance, post-handoff visibility.