Google Ads, GA4, call tracking and a contractor's CRM rarely show the same lead total because they are not ledgers of the same event. They differ in what they count, which source receives credit, which date receives the result, how people are identified and how long data takes to arrive. The goal is not to force four identical totals. It is to make every difference explainable and connect advertising to qualified opportunities, bookings and won jobs.
An owner may see 41 Google Ads conversions, 33 GA4 key events, 29 tracked calls and forms, and 18 new opportunities in the CRM. That does not automatically mean tracking is broken. It may mean Google Ads includes several actions per prospect, GA4 lost some consented or cross-device signals, the call platform counted repeat callers, and the office correctly rejected suppliers, applicants and wrong-area enquiries.
It can also mean something is broken. A thank-you page may fire twice. Dynamic number insertion may fail on mobile. Staff may create only some phone leads in the CRM. The practical task is to separate expected differences from avoidable leakage.
Each system answers a different question
Google Ads asks: which ad interactions deserve credit for the conversion actions configured in this account? Its numbers help bidding and campaign decisions. They may include native Google Ads tags, calls from ads, website calls, imported Analytics conversions and offline lead stages.
GA4 asks: what did measured users and sessions do across the website or app? It is useful for page journeys, channel comparison and event analysis. It does not know whether a submitted roofing form became an estimate unless that outcome is sent back.
Call tracking asks: which source produced a ring or connected conversation? Depending on the setup, one caller can generate several calls, and a duration threshold can label a call without establishing that the homeowner was qualified.
The CRM or field-service platform asks: what happened operationally? It should identify the requested service, location fit, new-versus-existing customer, booking, estimate, sale and lost reason. Its weakness is human process: if dispatchers skip records or overwrite sources, the dashboard becomes incomplete.
Accounting asks: what was invoiced, collected, refunded or outstanding? It is the financial authority, although it may not preserve the original marketing touch without an integration.
Seven reasons the totals disagree
1. The word “conversion” has no universal definition
A click-to-call, phone connection, 60-second call, form submission, chat, booked estimate and signed job are different events. Yet a report can place all of them under one conversion total. Google Ads also distinguishes primary actions used for bidding from secondary actions generally observed in “All conversions.” Before comparing systems, list the exact actions included in each column.
Count a form once at successful submission, not at button click and again at thank-you-page load. Decide whether repeat calls from the same prospect are new opportunities. Keep existing-customer service calls, vendor calls, job applicants and spam out of acquisition reporting even if a platform legitimately recorded an interaction.
2. The same result may be assigned to different dates
Google's discrepancy guidance explains that Google Ads reports conversions against the ad interaction date, while other reporting tools may assign them to the conversion date. A homeowner can click an HVAC replacement ad on September 3 and submit a form on September 11. In a monthly comparison, that lead can sit in different weeks—or different months.
Google Ads provides conversion-time columns that are more comparable with systems using the action date. Pick one date basis before exporting data. Never compare a click-date report with a CRM creation-date report and call the difference lost leads.
3. Attribution rules award credit differently
A prospect might discover a roofer through paid search, return through an organic result and finally type the brand name. Google Ads can credit an eligible ad interaction under its configured attribution model. GA4's cross-channel reporting can allocate credit under a different model and scope. The CRM may simply retain the first source, the last source, or whatever the dispatcher selected.
These are different views of one journey. Decide whether the management report needs first-touch demand creation, last-touch lead capture, or a multi-touch view. Keep that separate from the conversion signal used for automated bidding.
4. Conversion windows and processing times differ
A platform counts only actions that fall inside its configured lookback window. A long roofing replacement journey may be recorded by the CRM but fall outside a short advertising conversion window. Recent numbers can also be incomplete: Google's troubleshooting guidance advises allowing for processing and synchronization delays when comparing Google Ads and Analytics, and imported Analytics conversions can take time to appear.
Do not diagnose yesterday's gap as a failure this morning. Mark reports as preliminary until the agreed delay has passed, then preserve a final monthly snapshot.
5. People and devices are not identified perfectly
A homeowner may research on a work computer, call from a mobile phone and book under a spouse's email address. Consent choices, browser restrictions, cross-device behaviour and unavailable identifiers can break the visible chain. Advertising platforms may also use modeled reporting in eligible circumstances; the CRM normally records a named operational record, not a modeled conversion.
That is why an exact row-for-row match is an unrealistic promise. Better first-party capture improves the connection, but it does not make every customer journey observable.
6. Phone systems count calls, not business opportunities
One boiler prospect may call twice, get transferred and call back the next day. The call platform can show three calls while the CRM correctly holds one opportunity. Conversely, a click on a telephone link does not prove a completed conversation.
Use our contractor call-tracking framework to classify rings, connections, qualified enquiries, bookings and wins. Duration is a useful clue, not a verdict.
7. Offline outcomes arrive late—or never return
Google supports importing offline lead stages, and currently recommends enhanced conversions for leads for new implementations. These connections can help match qualified or converted leads back to ad interactions and give bidding a deeper outcome than a raw form.
But imports can fail because identifiers were not captured, timestamps are malformed, actions are duplicated, privacy and consent requirements were not handled, or the upload process stopped. A CRM may show a sold job while Google Ads never receives the outcome. That is an integration gap, not evidence that the sale did not happen.
Which number should the contractor use?
There is no useful single answer called “the lead number.” Build a small hierarchy of authorities:
- Media delivery and bidding: Google Ads conversion actions, segmented by action and primary status.
- Website behaviour: GA4 events, landing pages and channel journeys.
- Phone evidence: call-tracking records and recordings where lawful.
- Sales operations: CRM or field-service records for qualified, booked, quoted, won and lost.
- Financial truth: accounting records for invoiced and collected revenue.
For an owner deciding whether marketing pays, the CRM and financial records should carry the greatest weight. Google Ads remains essential because it needs timely signals to buy better traffic, but an ad conversion is not automatically a lead and a lead is not automatically revenue.
Build one shared lead vocabulary
Contractors do not need a complex data warehouse to improve reporting. They need definitions the office, agency and platforms use consistently. Start with these stages:
- Inquiry: a submitted form, connected new-customer call or valid chat.
- Qualified opportunity: the requested work, territory, timing and customer type fit the business.
- Booked: a confirmed service visit, consultation or estimate exists.
- Quoted: a price or proposal was delivered where the trade uses quotes.
- Won: the customer accepted or the job was completed, according to one documented rule.
- Collected revenue: payment actually received, net of refunds where appropriate.
Add standard disqualification reasons: spam, vendor, applicant, existing customer, duplicate, out of area, wrong service, price-only inquiry and unreachable. The categories should fit the trade rather than conceal weak marketing behind “bad lead.”
A practical reconciliation process
- Freeze the comparison. Use the same account, property, time zone, date range and conversion-time basis. Allow for data latency.
- Export by action. Do not compare one Google Ads total with one CRM total. Separate forms, calls, chats, qualified leads and sales.
- Attach a stable lead ID. Pass an internal identifier from the first captured inquiry into the CRM and connected systems. Capture advertising click identifiers or permitted first-party matching data where the technical, consent and privacy setup supports it.
- Deduplicate. Merge repeat calls and forms into one opportunity while retaining every touch in the history.
- Match rows, not just totals. Sample individual leads across systems. A list of 20 unmatched records reveals more than arguing over a 12% gap.
- Classify exceptions. Expected timing difference, different attribution, repeat action, unqualified inquiry, missing CRM entry, failed tag, failed import or unknown.
- Fix the largest preventable category. Usually that is inconsistent intake, duplicate events, untested phone replacement or a broken offline upload—not attribution theory.
What a weekly owner report should show
Use a compact funnel by source and service: spend, valid inquiries, qualified opportunities, bookings, won jobs, collected revenue and the rate between each stage. Add separate counts for duplicates and disqualified contacts. Show recent cohorts as incomplete when jobs take time to close.
For example: “Google Ads produced 37 valid inquiries. Twenty-four qualified, 17 booked, nine have won so far, and five remain open.” That is more actionable than “Google Ads shows 52 conversions while GA4 shows 43.” It also connects directly to our guide on finding the leak between leads and booked jobs.
Trade examples
Roofing
A replacement lead can click in one month and sign in another. Report the ad interaction, lead creation, estimate and sale dates separately so a long sales cycle is not mistaken for missing attribution.
HVAC
During a heatwave, repeat calls and mobile click-to-call actions can inflate surface-level conversions. Deduplicate by household and distinguish emergency repair from replacement opportunities.
Plumbing
A single emergency may involve a form, two calls and a dispatch record. Treat that as one opportunity with several touches, while preserving enough detail to see which campaign initiated it.
Questions to ask an agency
- Which exact conversion actions are primary in Google Ads?
- Are we comparing click date or conversion date?
- How are repeat calls, forms and existing customers deduplicated?
- Which system owns qualification, booking, sale and revenue?
- What percentage of CRM opportunities has a usable source and lead ID?
- How are qualified and converted leads returned to Google Ads?
- Which discrepancies are expected, and which ones trigger an investigation?
- Can we inspect unmatched records rather than only dashboard totals?
An agency should be able to explain the bridge between systems without claiming perfect attribution. It should also align bidding with the real outcome. Our contractor bidding-strategy guide explains why automation is only as useful as the conversion signal it receives.
Frequently asked questions
Why do Google Ads and GA4 show different conversion numbers?
They may use different event definitions, attribution rules, date assignment, conversion windows, identity signals and processing times. Google Ads commonly reports a conversion against the ad interaction date, while Analytics and backend systems may report it on the date the action occurred.
Which system should a contractor trust for lead reporting?
Use each system for its proper job: Google Ads for campaign optimization, GA4 for website behaviour and cross-channel analysis, call tracking for conversations, and the CRM or field-service platform for qualified leads, bookings and won jobs. Accounting should remain the authority for collected revenue.
Should Google Ads and CRM lead totals match exactly?
No. They should be explainably connected, not artificially identical. Some CRM leads came from other channels; some ad conversions are repeat actions or modeled; and some qualified offline outcomes cannot be matched back to an ad. Investigate unexplained gaps instead of forcing parity.
How often should contractors reconcile marketing attribution?
Review tracking health weekly and reconcile qualified leads, bookings and won jobs monthly after allowing for reporting and sales-cycle delays. Investigate sudden breaks immediately, but avoid making budget decisions from incomplete same-day data.
Sources and editorial basis
- Google Ads Help: Data discrepancies—factors and troubleshooting
- Google Analytics Help: Select attribution settings
- Google Ads Help: Create conversions from Google Analytics events
- Google Ads Help: About enhanced conversions for leads
- Google Ads Help: About conversion windows
Google's documentation supports the statements about reporting dates, attribution settings, processing delays, conversion windows and offline lead measurement. The source-of-truth hierarchy, reconciliation workflow, lead stages and trade examples are Convirtly Trades' analysis and recommendations. Businesses should implement consent, call recording and customer-data handling appropriate to the laws and platform terms that apply in the United States, Canada or United Kingdom.
Make the numbers useful, not merely identical.
We’ll trace the journey from ad interaction to qualified opportunity, booked job and revenue—then show where the reporting really breaks.
Request a free contractor growth audit ↗ · Call +1 (229) 597-0664