- Home
- Resources
- Blog
- Strategy & Data
- When campaigns, CRM and revenue don't add up: how to check your data from click to sale
When campaigns, CRM and revenue don't add up: how to check your data from click to sale
Milica Subotic15 min read

IN SHORT
Google Ads, GA4, Meta, the CRM and the management system count different things, with different dates and rules: it's normal for the numbers not to match. Before comparing a dashboard with revenue, three checks are needed: shared definitions of lead, qualified lead, opportunity and customer; a data journey from click to sale with no breaking points; and a reconciliation that explains every gap. Only then does it make sense to ask whether you need incrementality tests or statistical models, which have precise data requirements.
Topic of our service Analytics & Data
Google Ads shows 48 conversions for the month, Google Analytics 41, the CRM 39 contacts, the salesperson says about ten of them were any good, and revenue hasn’t moved. Which number is right? Probably all of them, each for what it measures. The problem arises when they’re compared as if they were counting the same thing.
The short answer is this: ad platforms, Google Analytics 4, the CRM and the management system count different events, with different dates and attribution rules, so it’s normal for them not to match. Before comparing a dashboard with revenue, three checks are needed: shared definitions of lead, qualified lead, opportunity and customer; a data journey from click to sale with no breaking points; and a reconciliation that explains every gap between one source and another. Only when the data holds up does it make sense to ask whether you need an incrementality test or a statistical model, and even then there are precise requirements.
This article is about how to check the numbers. On how to read ROAS and measure the real impact of campaigns there’s Gaetano’s article, why ROAS can mislead you; on building the technical connection between forms, CRM and platforms there’s from lead to contract.
What does each metric really measure?
Each tool answers a different question. Putting them in the same table without saying which question is like adding euros to kilometres.
| Source | What it counts | Which date it assigns it to | Main limitations |
|---|---|---|---|
| Google Ads | Conversions attributed to clicks and interactions with ads, according to the chosen model | The date of the ad interaction, not of the conversion | Data takes up to 7 days to complete; conversions recorded up to 90 days after the click |
| Meta Ads | Results attributed to ads according to the attribution setting | Depends on the setting and the report | Statistical modelling when data is partial |
| GA4 | Key events attributed to channels, with a data-driven model by default | The date of the event | Modelled data, data thresholds, updates for up to 12 days |
| CRM | Contacts, opportunities and stages, entered by forms and people | The date of creation or stage change | Field quality, duplicates, stages not updated |
| Management system | Invoices and payments | The invoice date | No link to the source unless you build one |
Two details explain many discrepancies. Google Ads records conversions on the date of the ad interaction, whereas other tools use the conversion date: Google calls this conversion delay and suggests adding the “Conversions (by conv. time)” columns when comparing with other data. In GA4 the default attribution model is data-driven and the lookback window for key events other than acquisition is 90 days. Key events have also become the basis of conversions: Google Ads conversions don’t appear in Analytics’ standard reports.
Lead, qualified lead, opportunity and customer: what are they?
They’re four different stages of the same journey, and each needs defining in writing before it’s measured. If marketing calls every submitted form a lead and sales only calls someone with a budget a lead, the two reports will never match.
| Stage | Operational definition (example) | Who assigns it | Where it’s recorded |
|---|---|---|---|
| Lead | A person who has left their details through a tracked channel | Automatic, when the form is submitted | CRM, with source and campaign |
| Qualified lead | A lead that meets the target criteria: industry, size, role, real need | Marketing, using rules or a score, confirmed by sales | CRM, stage field and date |
| Opportunity | A lead with an open negotiation and an estimated value | The salesperson | CRM, pipeline |
| Customer | An opportunity closed with a contract or order | The salesperson, confirmed by accounts | CRM and management system |
The tricky one is the qualified lead: without a written criterion it becomes a matter of opinion. How to build one with a score is explained in our guide to B2B lead scoring, and why you should look beyond the MQL is covered in a revenue-focused B2B funnel.
Where does the link between advertising and the CRM break?
The data makes a long journey: it starts with a click, passes through the website, enters the CRM, changes stage several times and sometimes becomes an invoice. It can get lost at any of these steps. This is the framework we use to look for the breaking point.
| Step | What needs to happen | Where it breaks | How to check it |
|---|---|---|---|
| 1. Click | The URL carries the GCLID (Google), UTM parameters or the platform’s identifier | Auto-tagging switched off, incomplete UTMs | A test click on an ad and a look at the landing URL |
| 2. Landing | The parameters reach the final page | Redirects that don’t preserve the GCLID, intermediate pages | Follow the redirect chain with the test click |
| 3. Consent | Tracking fires according to the visitor’s choice | Misconfigured Consent Mode, tags firing before the banner | Tag Assistant and GA4 debug mode |
| 4. Event | Submitting the form generates a single event, with the same data on every platform | Double counting from Pixel and Conversions API without a shared event_id |
Conversion diagnostics and Events Manager |
| 5. Form → CRM | The contact enters with source, campaign and click identifier | Empty hidden fields, parameters not kept between pages | A test lead from each channel, checked in the CRM |
| 6. Deduplication | One person stays one contact, even if they write twice | Duplicates from different emails or different forms | Duplicate report by email, phone and company |
| 7. Stages | The lead changes stage with a date and a reason | Stages not updated, rejection reasons left blank | Percentage of leads with no stage after 14 days |
| 8. Revenue | The sale is linked to the opportunity and the source | No shared identifier between CRM and management system | A sample of invoices traced back to their source by hand |
| 9. Feedback | CRM stages flow back to the platforms | Uploads stalled, identifiers expired | Status of offline imports and integrations |
Two points deserve extra attention. For step 4, Meta only deduplicates events sent by the Pixel and the Conversions API if the event_id matches and the two events arrive within 48 hours; otherwise the same conversion counts twice. If your tags go through a single container, steps 3 and 4 can be checked in one place: we explain this in our guide to Google Tag Manager and conversion tracking. For step 1, Google asks you always to use utm_source, utm_medium and utm_campaign: with incomplete parameters GA4 shows (not set).
Why don’t the numbers match even when everything works?
Because some differences are structural and remain even with perfect tracking. The main ones:
- Different dates. Google Ads attributes to the click date, GA4 and the CRM to the event date. An enquiry that arrived on 2 October from a click on 28 September falls into two different months.
- Late-arriving data. Google Ads can take up to 7 days to complete conversion data. In GA4, modelled key events can update for up to 12 days afterwards, and Google suggests excluding the last week from comparisons.
- Attribution models. Every platform tends to claim the conversion for itself. Adding them up gives a total higher than actual sales.
- Counting. In Google Ads an action can count one conversion or every conversion per click. For leads, the recommended choice is “one”.
- Modelling and consent. With Consent Mode, GA4 can estimate the behaviour of people who reject cookies if the property exceeds certain traffic thresholds. The CRM, by contrast, only counts people who are really there.
- Identity and thresholds. The reporting identity chosen in GA4 changes how users are counted, and data thresholds hide some rows when there are few users.
- Time zone and currency. Properties and accounts set to different time zones or currencies shift numbers at the edges of each day and month.
A practical habit: compare periods that closed at least two weeks ago, use the conversion-time column in Google Ads and always note which attribution model you’re looking at.
What are the dimensions of data quality?
To assess a data set in an orderly way, six dimensions are used: the ones the UK government’s Government Data Quality Framework takes from DAMA UK. Applied to marketing:
| Dimension | Question | Example along the journey from click to sale |
|---|---|---|
| Completeness | Is all the data we need there? | Share of leads in the CRM with source and campaign filled in |
| Uniqueness | Is everything counted only once? | Duplicate contacts, Pixel and API conversions counted twice |
| Consistency | Does the same data have the same value everywhere? | Campaign names identical across platform, UTMs and CRM |
| Timeliness | Is the data available when it’s needed? | CRM stages updated within a few days of contact |
| Validity | Does the data follow the format and rules? | Valid emails, phone numbers with country code, values in pick-list fields |
| Accuracy | Does the data describe reality? | The lead marked “from Google Ads” really did come from there |
Accuracy is the hardest to measure, because it requires a comparison with reality: a sample of leads checked by hand, by phoning them or asking the salesperson.
The validation checklist before comparing dashboards and revenue
Before presenting a report linking campaigns and sales, it’s worth ticking off these items.
Definitions
- Lead, qualified lead, opportunity and customer are defined in writing and shared between marketing and sales.
- The primary conversion actions in Google Ads and the events optimised for on Meta match those definitions.
Tracking
- A test click for each platform reaches the website with its parameters intact and the CRM with source and campaign.
- Conversion actions show as active in Google Ads diagnostics.
- Pixel and Conversions API share the
event_id; event match quality is under control. - Key events imported from GA4 into Google Ads don’t duplicate conversions already measured by the Google Ads tag.
CRM
- Less than 5% of leads have a blank or “other” source (a threshold to adapt to your case).
- Duplicates are merged according to a written rule.
- Every lead has a stage and, if rejected, a reason.
Comparison
- The period closed at least two weeks ago.
- Time zone and currency match across sources.
- It’s clear which attribution model and which date are being used.
- Every gap between two sources has a written explanation.
A reconciliation example, step by step
Let’s see how the gaps are explained with a simulated example: a B2B services company, one month of Google Ads campaigns. The numbers are made up for illustration.
| Source | Value | Gap from the row above | Explanation |
|---|---|---|---|
| Google Ads, conversions by click date | 48 | Includes enquiries that arrived in October from September clicks | |
| Google Ads, conversions by conversion date | 45 | −3 | Shift between months due to conversion delay |
| GA4, key events from Google Ads | 41 | −4 | Different attribution model and rules; some conversions attributed to other channels |
| CRM, leads with Google Ads as source | 36 | −5 | Two double submissions merged in deduplication, three leads arrived with a blank source because of a redirect |
| CRM, qualified leads | 15 | −21 | Off-target leads: students, suppliers, companies too small |
| CRM, opportunities | 6 | −9 | Qualified leads not yet contacted, or with no budget in the period |
| Management system, contracts | 2 | −4 | Negotiations still open |

Read this way, every gap becomes information. The top three rows say tracking is essentially healthy. The step from the CRM to qualified leads says the main problem isn’t measurement but the audience or the message. The three leads with a blank source point to a redirect that needs fixing. Without the reconciliation, the conclusion would have been “Google Ads brings 48 conversions and two contracts, so it doesn’t work”, which is an incomplete reading.
When do you need incrementality tests or other methods?
When the data holds up but doubt remains about how far a campaign caused sales that wouldn’t have happened anyway. At that point there are three families of methods, with very different requirements.
Platform incrementality tests. Google’s user-based Conversion Lift requires at least 1,000 observed conversions and a 5,000-dollar budget per campaign and isn’t available in every account. The geography-based version requires campaigns in a single country and assesses feasibility in advance. Meta offers Conversion Lift tests, with access through your account representative.
Home-made tests. Holdouts on part of the audience, geo tests on similar regions, switching a campaign on and off while checking actual revenue. They’re less precise but use your own sales data; how to set them up is explained in the article on ROAS.
Marketing mix modelling. A statistical model that estimates each channel’s contribution to sales on a historical basis. The requirements are demanding: Meridian, Google’s open-source model, recommends weekly data by geographical area with at least two years of history, and for a national model it considers 104 weeks too few and suggests three years. The guide to Robyn, Meta’s project, recommends at least two years of weekly data and around ten observations for each variable in the model. Neither states an official minimum spend.
For many SMEs the sensible choice is this: data quality and reconciliation first, then an overall check such as the ratio between revenue and total spend, and targeted tests only on the lines of spending where there’s real doubt. An MMM makes sense when there are years of clean weekly data, several channels with significant spend and budget decisions large enough to justify its cost.
Mistakes to avoid
Looking for the right number. There isn’t one: there are different numbers answering different questions. The job is to explain the gaps.
Comparing the month that has only just closed. Google Ads and GA4 data is completed over the following days. Wait at least two weeks.
Trusting the source in the CRM without checking it. A sample of leads checked by hand tells you how accurate the source field is.
Skipping the definitions. Without a written definition of a qualified lead, marketing and sales will argue about numbers instead of actions.
Starting with the most complex model. An incrementality test or an MMM built on dirty data gives results that are precise and wrong.
Want to know how reliable your data is?
We audit the data journey from click to sale: parameters and redirects, consent, events and deduplication, forms, CRM and the link with revenue. At the end you receive a map of the breaking points, a first reconciliation between sources and the fixes in order of priority. It’s the core of our work on analytics and data; for the campaign side we use RunAlytics, the dashboard that brings together data from Google Ads, Meta, LinkedIn and TikTok.
You can book a call with Federico or write to us via the contact form.
Frequently asked questions
Why are Google Ads conversions different from GA4’s?
Because they use different dates, attribution models and counting rules. Google Ads attributes conversions to the date of the ad interaction, GA4 to the date of the event, and GA4 spreads the credit across all channels, not just Google ads. A difference of a few percentage points is normal; large gaps point to a tracking problem.
How big does the gap between platform and CRM need to be before you worry?
There’s no threshold that applies to everyone. It’s worth measuring the gap for a few months and investigating when it changes suddenly or when you can’t explain it through dates, deduplication and attribution.
What is marketing data reconciliation?
It’s the orderly comparison of numbers from different sources, from the ad platform to the management system, in which every gap is explained by a cause: date, attribution, deduplication, qualification or tracking error.
Does an SME need marketing mix modelling?
Rarely as a first step. Open-source tools such as Meridian and Robyn require at least two years of clean weekly data, and for a national model Google suggests three. Data quality, reconciliation and targeted tests come first.
How often should the data be checked?
A light check every month, on periods that closed at least two weeks ago, and a full check of the journey from click to sale whenever the website, forms, CRM or campaign configuration change.
FREE GUIDE · 25-PAGE PDFGoogle Ads for B2B: the handbook for generating better leads, not just more leadsA handbook for setting up, checking and improving your Google Ads campaigns based on the commercial quality of the leads, with checklists, templates and an audit to fill in.Read it or download the PDF






















