Web Analytics and Reporting for Contractors: GA4 to Looker Studio to a Monday Review
Key Takeaways
- 73% of small businesses have Google Analytics installed but only 12% use the data to make decisions
- Plumbing and water treatment sites convert at 12-16% while HVAC sits at 3-7% per Plumbing Webmasters and WebFX 2026 benchmarks
- Average HVAC keyword CPC hit $32.77 in 2025 - reporting that does not separate phone vs form is leaving money on the table
- A single Looker Studio dashboard plus a 15-minute Monday review beats any $500/month agency report
- Track phone clicks, form submits, chat opens, and quote-page bounces as separate GA4 events - not as one blob
73% of small businesses have Google Analytics installed. Only 12% use the data to make a decision.
For contractors, the gap is uglier. You have GA4 because someone set it up. You glance at “users” once a quarter. When the bookkeeper asks why ad spend went from $4,000 to $7,200 last month, you say “I think it’s working.”
Web analytics and reporting is not a 60-page PDF from an agency. It is three things: events that fire when leads happen, a dashboard you can read in 60 seconds, and a Monday morning where you actually open it.
This is the workflow.
What enterprise “reporting” gets wrong for contractors
Most analytics content is written for SaaS companies counting trial signups. They care about funnel stages, cohort retention, and feature adoption.
You care about phone calls, form submissions, and which Google Ads campaign produced the $14,800 water heater install last Tuesday.
WebFX’s 2026 home services benchmark report shows the median home service site converts between 2% and 5%, with plumbing and water treatment hitting 12-16% and HVAC sitting at 3-7%. If your reporting cannot tell you your own conversion rate by service page, you cannot tell if you are above or below your trade’s median.
LocaliQ’s 2025 home services search ad benchmark put the average HVAC keyword CPC at $32.77, up from $29.03 in 2024. Costs went up 13% in a year. A monthly PDF from your agency that says “impressions are up” is not a report. It is a decoration.
The three layers of contractor web analytics
Layer 1 is GA4 events. This is the raw data. Every important action on your site fires a named event.
Layer 2 is the dashboard. Looker Studio (free) pulls those events into a one-page view with the four or five numbers you actually care about.
Layer 3 is the review. A 15-minute Monday morning standing meeting where you open the dashboard, write down two numbers, and decide one thing.
Skip any layer and the other two are useless. Most contractors have layer 1 half-done and zero of the other two.
Layer 1: GA4 events you need (not what GA4 gives you by default)
GA4’s “enhanced measurement” tracks page views, scrolls, outbound clicks, site search, video, and file downloads. None of that is a lead.
You need five custom events at minimum.
phone_click fires when someone taps a “tel:” link on mobile. Trigger this in Google Tag Manager on a Link Click trigger with URL contains “tel:”. Aspire Internet Design’s HVAC conversion guide notes that mobile traffic on contractor sites typically runs 60-70% of total sessions and the phone tap is the single highest-intent action a mobile visitor takes.
form_submit fires when a quote form, contact form, or estimate form is successfully sent. Trigger on the confirmation page URL or the form plugin’s success event (Gravity Forms fires “gform_confirmation_loaded”, Contact Form 7 fires “wpcf7mailsent”).
chat_open fires if you run a chat widget. This is separate from form_submit because chat leads behave differently - they expect a same-minute response.
quote_page_view fires on your highest-intent service pages (water heater repair, AC replacement, panel upgrade). You want to know how many people got to “buying intent” pages, not just your blog.
book_appointment fires if you have any online scheduling. ServiceTitan, Jobber, and Housecall Pro all support pushing this event via webhook.
Mark each event as a Conversion in Admin > Conversions. Now GA4 reports treat them as the events that matter, and Google Ads imports them automatically.
Layer 2: The one Looker Studio dashboard that replaces a $500/month report
Looker Studio is free. It connects to GA4 in three clicks. The dashboard has one job: give you the seven numbers you need to see in 60 seconds on Monday morning.
Build it once, never rebuild it. The seven tiles, top to bottom, left to right:
Tile 1: Total leads this week. A scorecard. Sum of phone_click + form_submit + chat_open + book_appointment for the last 7 days, with a week-over-week comparison arrow.
Tile 2: Leads by source/medium. A bar chart. Google / cpc, google / organic, facebook / paid, direct / none, lsa (Local Services Ads), bing / cpc. This is the chart that tells you where your money is working.
Tile 3: Conversion rate by landing page. A table. Top 10 landing pages, sessions, conversions, conversion rate. Plumbing Webmasters’ 2025 CRO guide notes that service-specific landing pages convert 3-5x higher than generic homepage traffic. If your homepage is in the top 3 for traffic but bottom 3 for conversion rate, you have a routing problem.
Tile 4: Phone clicks vs form submits. A pie chart. Most contractors are 70/30 phone-heavy. If you are 90/10 form-heavy, you have a phone number visibility problem on mobile.
Tile 5: Device split. A scorecard. Mobile, desktop, tablet conversion rates side by side. If mobile converts at 2% and desktop at 6%, your mobile site has a button or speed problem.
Tile 6: Top 5 cities by sessions. A geo table. Are you getting traffic from cities you do not service? Cut those keywords.
Tile 7: Spend vs leads. A scorecard with a calculated field. Pull Google Ads spend from the Google Ads connector, divide by total conversion events. This is your real CPL by week. LocaliQ’s 2025 data shows HVAC, landscaping, and electrical CPL ranges of $100-$250 for paid search - if your number is outside that range, you have a budget conversation to have.
That is the dashboard. Seven tiles. One page. No drilling, no filters, no “let me explain what you’re looking at.”
Save it. Bookmark the URL. Share it with your office manager.
Layer 3: The 15-minute Monday review
Most contractors fail at analytics not because of GA4 or Looker Studio, but because nobody opens the dashboard.
Block 15 minutes every Monday at the same time. Same chair, same coffee, same dashboard.
Minute 1-3: Read the seven tiles. No analysis yet. Just read the numbers.
Minute 4-7: Compare to last week. Total leads up or down? Which source moved the most? Did mobile conversion drop?
Minute 8-11: Pick the one number that surprises you. Maybe phone clicks dropped 30%. Maybe Google Ads CPL jumped from $87 to $144. Maybe a new landing page is converting at 11%.
Minute 12-15: Write down ONE action. Email your ad manager to pause a campaign. Tell your office manager to call back the 8 form leads from Friday. Call the web guy to fix the mobile click-to-call button.
That is the entire review. Fifteen minutes, one decision, one action.
On an Owned and Operated podcast episode, one HVAC operator running $4M in revenue described his Monday review as “the most expensive 15 minutes of my week, because every other decision that week traces back to those numbers.”
Real contractor stories from the analytics trenches
One r/sweatystartup thread from a $1.2M plumbing operator captured what bad reporting costs: he was paying an agency $1,800/month for Google Ads management plus $400/month for “reporting” and learned, after building his own Looker Studio dashboard in an afternoon, that 42% of his ad spend was going to keywords that produced zero phone calls in 90 days. He cut the agency, built the dashboard, and dropped CPL from $156 to $84 in two months.
A ContractorTalk thread from an electrician described the inverse problem. He had GA4 installed for two years, never set up phone_click events, and was reporting “12 form leads per month” to his wife (the bookkeeper) while his actual lead volume was closer to 80 once he counted the calls. The marketing budget conversation went from “we are wasting money” to “we need to hire another tech” once the real number was visible.
A FeedbackWrench YouTube case study on a roofing contractor showed the conversion-by-landing-page tile catching a problem that an agency report had missed for six months: the company’s blog posts were getting 4,200 sessions per month at a 0.3% conversion rate while their three service pages got 800 sessions at 9%. They reorganized internal links to push blog traffic to service pages and saw conversions per session jump 40% in 30 days.
What to track beyond GA4
GA4 stops where your CRM starts. It will tell you a form was submitted. It will not tell you that the form lead was a tire-kicker who never picked up, or that the same lead booked a $14,800 install three weeks later.
Add three layers of reporting outside GA4.
CRM lead source field. Every lead in ServiceTitan, Jobber, Housecall Pro, or whatever you use needs a lead_source field populated at intake. Train your CSR to ask “how did you hear about us?” on every call. Hatch’s 2024 contractor data showed that CSRs who ask the source question 100% of the time produce attribution data that is 3.4x more accurate than CSRs who ask “sometimes.”
Call tracking. CallRail, CallTrackingMetrics, or WhatConverts run $45-100/month. Dynamic number insertion shows Google Ads visitors one number and organic visitors another. Now GA4’s phone_click event matches up to actual recorded calls and call outcomes.
Closed-job revenue by source. This is a monthly export from your CRM, joined to your GA4 data. The math is: revenue by lead source minus ad spend by source equals real ROI. Most contractors will discover one channel is carrying 60% of revenue and another is bleeding money.
For more on connecting clicks to closed jobs, see marketing attribution for home service and tracking campaign performance.
The reporting cadence that actually sticks
Daily reporting is a trap. You will quit it inside two weeks.
Weekly is the right cadence for tactical decisions. Monday morning, seven tiles, one action.
Monthly is the right cadence for budget decisions. Last business day of the month, you pull total spend, total leads, total closed-job revenue by source, and decide what to cut and what to scale.
Quarterly is the right cadence for strategy. You look at what your top three landing pages were, what your top three campaigns produced, and whether your overall marketing-attributed revenue is going up or down as a percentage of total revenue.
Anything more often than weekly is procrastination disguised as analysis.
What to skip
You do not need 47 dashboards. You need one.
You do not need real-time alerts on a Slack channel for every form submission. You need a Monday review that someone actually does.
You do not need server-side tracking, BigQuery exports, or Google Tag Manager templates from a Reddit thread - unless your business is doing $5M+ and you have hit the ceiling of what the free stack can do. For 95% of contractors under $3M in revenue, the GA4 + Looker Studio + Monday review stack is enough.
You do not need to pay an agency $500/month to email you a PDF you do not open. Build the dashboard once. Open it weekly. Make one decision. Repeat.
The bigger picture
GA4 shows you what visitors did. Your dashboard shows you which channels drove them. Your CRM shows you which leads became revenue.
The contractors who win at marketing are not the ones spending the most. They are the ones who can answer the question “which $1,000 of last month’s ad spend produced the most revenue?” in under 30 seconds because they built the reporting once and used it every week.
The data is sitting in your GA4 account right now. The dashboard takes 90 minutes to build. The review takes 15 minutes a week. The first decision you make from it usually pays for itself in 30 days.
Open Looker Studio. Connect GA4. Build the seven tiles. Put Monday 8:30am on your calendar. That is the entire workflow.
Written by
Pipeline Research Team