GA4 answers questions about your website: who visited, from where, what they did on the pages. It does not answer the question a contractor actually runs the business on: which campaigns produced booked jobs, and what did those jobs pay? That question needs spend data from the ad platforms, call data from your phones, and revenue data from your CRM in one place, and GA4 holds none of the last two by default.
The tool that answers it is a Performance Dashboard: one view that ties every campaign to its spend, its leads by type, its booked jobs, and its closed revenue. This piece is about the difference, because a lot of contractors are shown GA4 screenshots every month and told it is reporting.
What GA4 is genuinely good at
Credit where due. GA4 is the right tool for:
- Traffic composition: how much of your visitation is organic, paid, referral, direct, and how that shifts.
- On-site behavior: which pages hold attention, where forms get abandoned, how mobile visitors differ.
- Funnel visibility: the steps between landing and lead, and where they leak.
We run GA4 on our own site and configure it for clients. It stays. The problem is not GA4; the problem is GA4 presented as the answer to a revenue question.
Where GA4 stops
Three hard limits for a contractor:
- It does not know what a lead was worth. A form fill from a $12,000 sewer-line customer and one from a price shopper are identical events. Closed-job revenue lives in ServiceTitan, Housecall Pro, JobNimbus, or AccuLynx, and GA4 has no native idea it exists.
- It barely sees your phone pipeline. For most trades the phone is half the pipeline or more, and without call tracking wired in, GA4’s picture of a phone-heavy business is a picture of the minority.
- Its conversion counts do not match the ad platforms’, by design. GA4 and Google Ads count differently, attribute differently, and importing GA4 events alongside native conversions is a classic double-count trap. We covered the clean division of labor in the complete tracking guide: one deliberate source for bidding, the other for reporting context.
What a Performance Dashboard shows instead
One screen, per campaign, per month:
- Spend, including management fees if you want the honest number.
- Leads by type: phone versus form, because they behave differently and close differently.
- Booked jobs, from the CRM, not inferred from thank-you pages.
- Closed revenue and cost per booked job, the two numbers every budget decision should run on.
- The splits that matter for your trade: emergency versus scheduled, high-ticket versus routine, storm versus retail.
The standard to hold any report to: if it cannot tell you which campaign produced which booked revenue, it is a dashboard, not a decision tool. GA4 screenshots fail that standard structurally, not because anyone is hiding anything.
Want to see your account held to that standard once? The free audit reports what your spend produced in booked-revenue terms, and shows what your current reporting misses. Request a Free Audit. Five business days. No cost. No commitment.
Why most agencies hand you GA4 instead
Because it is available. GA4 numbers exist the day an account is opened; booked-revenue reporting requires engineering: click identity captured, calls tracked with outcomes, revenue routed back from the CRM. Most agencies do not build that layer, so the reporting shows what exists, and what exists is website analytics.
That is also why “we will send better reports” is not the fix. The report is downstream of the tracking. Build the tracking and the Performance Dashboard is just the visible surface of it; skip the tracking and no amount of dashboard design makes the revenue numbers appear.
What it takes to build
The four tracking layers from the complete guide: every lead measured correctly, calls tracked with outcomes, closed-job revenue routed back, bidding pointed at value. The dashboard reads from those layers. This is the Tracking Foundation, $2,500 one time, and the dashboard that sits on top is part of the Growth Engine’s monthly reporting, in dollars, not sessions.
Frequently asked questions
Should we get rid of GA4?
No. Keep it for what it is good at: traffic and behavior. The mistake is asking it revenue questions, not running it.
Can our agency just build this inside GA4?
Partially, and the partial version misleads. You can import some cost data and model some values, but without CRM revenue and call outcomes flowing in, the “revenue” is an estimate stacked on a form fill. If the underlying tracking existed, you would not need to force GA4 to fake it.
What should a monthly report actually contain?
One page: spend, leads by type, booked jobs, closed revenue, cost per booked job, trend against last month and last season, and the two or three actions being taken because of it. Everything else is appendix.
We already get a dashboard from our agency. How do we know if it is the real thing?
One test: does any number on it come from your CRM? If the revenue column traces to ServiceTitan or AccuLynx, you have the real thing. If every number on it could be pulled from the ad platforms alone, it is platform reporting re-plotted, and it inherits every gap the platforms have.
You do not run the company on sessions and engagement rates, and your marketing should not be judged on them either. The dashboard your business deserves runs on booked jobs and closed dollars. To see your account reported that way once, free, request the audit: a 20-minute discovery call, then five business days to a quantified answer.