Agency client reporting: how to show where every number came from
- Section
- Resources, Guides
- Sources
- 13 linked below
- Words
- 1,652
- Checked
- Oct 17, 2026
Short answer
Ad platforms disagree because they use different attribution models and windows, count conversions differently, date them differently, process data on different schedules, and don't remove duplicate leads. Label every number in a client report with its source, its date range and time zone, its attribution setting, and its definition, and the difference is explained before anyone asks.
Your September report says 268 leads. Your client's marketing manager opens Google Ads and sees 118 conversions. Meta Ads Manager shows 141. GA4 shows 301 lead events, and the CRM has 268 new contacts. Then comes the email: which one is right?
All of them, under different rules. The numbers are not the problem. The report just doesn't say which rules each number follows. This guide explains why platforms disagree, using the platforms' own help pages, and shows how to label every number so the question is answered before it's asked.
Why do Google Ads, GA4, and Meta report different numbers?
Each tool answers a different question. Google Ads and Meta report the conversions they credit to their own ads. GA4 reports what happened on the site across channels. The CRM reports which people became leads. The settings behind each answer differ, and none of them show up in a screenshot.
The hypothetical numbers above can all be correct at once. The rest of this guide shows how.
What are the real reasons the numbers differ?
Attribution models and windows
An attribution model decides which ad interaction gets credit. A window decides how long after it a conversion still counts. In Google Ads, data-driven is the default model for most conversion actions, and the click-through window defaults to 30 days. For Search and Display campaigns it can be set from 1 day up to 30, 60, or 90 days, depending on the conversion source. Engaged-view conversions default to 3 days and view-through conversions to 1 day.
GA4 has separate settings. Most key events use a 90-day lookback window by default, with 30 or 60 days as options. Changing the reporting attribution model in GA4 applies to historical and future data, so last month's numbers can change after you send the report. In Google Ads, a model change applies only going forward.
Meta changed its definitions in 2026. On March 3, 2026, it announced that click-through attribution for website and in-store conversions would include only link clicks, that engaged-view attribution would be renamed engage-through attribution, and that the change should help its reporting line up better with tools like Google Analytics. A comparison across that change is not like for like.
Which day a conversion lands on
Google Ads reports a conversion on the date of the click that led to it. Google's own example: someone clicks on July 19 and buys on July 20. Google Ads puts the conversion on July 19, and Google Analytics puts it on July 20. At month end, that moves conversions between months. Google Ads offers "by conv. time" columns, such as Conversions (by conv. time), that use the conversion date instead.
Meta's reporting API can date a conversion either way. Its documentation describes someone who saw an ad on January 1 and converted on January 2: by impression time the conversion shows on January 1, by conversion time on January 2.
How conversions are counted
Google Ads can count every conversion after an ad interaction or only one per click, and Google suggests one per click for leads. In GA4, the default for most key events is once per event, so every trigger counts unless you switch to once per session. If the Google Ads action counts one per click, a person who submits your form twice after one click is 1 conversion in Google Ads and 2 key events in GA4.
Time zones
Google Ads reports segmented by time follow the account's time zone, and standard accounts can no longer change it. If the ad accounts, the analytics property, and the CRM use different time zones, each draws midnight, and the month boundary, at a different hour.
Processing delays and late data
GA4 says processing can take 24 to 48 hours, attribution credit for key events can change for up to 12 days, and some data can arrive up to 7 days late. Analytics conversions imported into Google Ads can take up to 24 hours. A report pulled on October 1 may not match one pulled on October 15.
Thresholds and filtering
GA4 applies data thresholds so nobody can infer a user's identity, which can withhold rows in reports with demographics or search queries. The thresholds are system defined and can't be adjusted. Google also notes that some conversions recorded in Analytics may be filtered out when imported into Google Ads by its invalid click detection, and that Google Ads cookies expire 90 days after a click while the Analytics cookie lasts up to 2 years.
Duplicate leads
Ad platforms count conversion events. Your client's CRM counts people. HubSpot, for example, looks for a matching email address when a contact is added, and a second form fill with the same email updates the existing contact instead of creating a new one. Say September had 301 form submissions and 33 were repeats from the same email: GA4 can show 301 events while the CRM shows 268 contacts. Platforms also credit their own ads, so adding Google Ads and Meta conversions together can count one lead twice.
How do you label each number with its source?
Give every number 4 labels: where it came from, which dates and time zone it covers, which attribution setting produced it, and what counts. In the report, that is one short line under the number.
| Number | Source | Setting to state | Example |
|---|---|---|---|
| Leads | CRM export | Duplicate rule | 268, one per email |
| Conversions | Google Ads | Model, window, count | 118, data-driven, 30-day click |
| Meta leads | Ads Manager | Attribution setting | 141, 7-day click, 1-day view |
| Lead events | GA4 property | Counting method | 301, once per event |
| Cost per lead | Ad invoices, CRM | What spend includes | $11,042 ÷ 268 = $41.20 |
| Conversion rate | GA4, CRM | Denominator | 268 ÷ 8,645 landing page visits = 3.1% |
Written out under the headline number, a full label reads like this:
Leads: 268. Source: CRM export of contacts created September 1 to 30, 2026, Eastern time. Definition: form fills and booked calls, one per email address; 33 repeat submissions removed. Data pulled October 5, 2026.
Do the same for platform numbers. "118 conversions (Google Ads, data-driven, 30-day click window, one per click, dated by click)" takes seconds to write and can save a week of back-and-forth.
Which number should be the headline?
Pick one number per question and say why. For "how many leads did we get," the CRM count is usually the best headline: it counts people rather than events, and it is what the client's sales team works from. Platform conversions are for optimizing inside each platform. GA4 is for comparing channels on the site.
Never add platform conversions to get total leads. If the client wants a channel split, take it from one source, such as a lead source column in the CRM export, so the parts add up to the total.
When the client asks why Google Ads says 118 and the report says 268, answer with the labels: "Google Ads counts conversions it credits to its own ads, dated by click, one per click. The 268 is every unique person who became a lead from any channel in September."
How do you handle numbers that change after you send the report?
Some will change, because GA4 keeps adjusting attribution for up to 12 days and late data can arrive for up to 7. Pull every source on the same fixed day each month and print that date on the report. If a later pull differs, restate the old number with a note ("August restated from 232 to 235 after late data") instead of letting it shift silently.
Record setting changes the same way. If someone changes the GA4 attribution model or a platform changes its definitions, note the date on the report's definitions page, so a jump between months isn't mistaken for performance. A metrics dictionary is a good home for those notes, and why dashboard numbers don't match covers more causes beyond ad platforms.
Where Every Number fits
Every Number builds dashboards where every number has a receipt: its definition, the filters applied, the rows used, the rows left out and why (such as duplicate leads), the source file, and the date the data runs through. Today that is a $99 concierge pilot. You export one client's data into one spreadsheet, a person builds 5 to 7 metrics in 5 business days, and you approve every definition first. See the agency use case, the sample client report, or the pilot.
Every Number works from a spreadsheet you send, so it does not pull live data from ad platforms. If you need numbers refreshed every hour, a connector-based reporting tool fits better.
Frequently asked questions
Why does Google Ads show different conversions than GA4?
Mostly settings. Google Ads dates conversions by click and may count one per click, while GA4 dates them by when they happened and counts every event by default. The two can also use different attribution models and windows, and some conversions are filtered as invalid clicks when imported into Google Ads.
Should we add up conversions from Google Ads and Meta?
No. Each platform credits its own ads, so one person who clicked both can be counted twice. Report total leads from the CRM and show platform conversions as separate, labeled numbers.
Which attribution model should an agency report?
The one the client agreed to, written on the definitions page. What matters more than the choice is stating it next to every number and not changing it mid-quarter without a dated note.
Why did last month's numbers change?
Usually late processing or a settings change. GA4 attribution credit can change for up to 12 days, and changing GA4's reporting attribution model rewrites historical data. Pull on a fixed day, print the pull date, and restate with a note when a number moves.
Sources
- Create conversions from Google Analytics events in Google Ads — Google Ads Help. Checked October 17, 2026.
- Understand conversions by time with new columns — Google Ads Help. Checked October 17, 2026.
- About conversion windows — Google Ads Help. Checked October 17, 2026.
- About conversion counting options — Google Ads Help. Checked October 17, 2026.
- About attribution models — Google Ads Help. Checked October 17, 2026.
- About your Google Ads time zone setting — Google Ads Help. Checked October 17, 2026.
- Select attribution settings — Google Analytics Help. Checked October 17, 2026.
- Data freshness — Google Analytics Help. Checked October 17, 2026.
- About data thresholds — Google Analytics Help. Checked October 17, 2026.
- Change the counting method of key events — Google Analytics Help. Checked October 17, 2026.
- Simplifying Ad Measurement for a Social-First World — Meta for Business. Checked October 17, 2026.
- Ad Account, Insights — Meta for Developers. Checked October 17, 2026.
- Deduplicate records in HubSpot — HubSpot Knowledge Base. Checked October 17, 2026.