Google Ads Month-End Reporting: Reconcile Conversion Dates and Late Leads
A Google Ads report downloaded on the first of the month can disagree with the same report downloaded a week later, even when nobody changed the campaign. Some customers converted after the first export; some offline events arrived later; a conversion adjustment may have removed value. Before calling the difference a tracking failure, establish which month each column assigns the result to.
For month-end reporting, keep two views: an interaction-date view for evaluating the advertising that ran during the month, and a conversion-date view for reconciling the outcomes recorded during the month. Save the export timestamp with both. Neither view, by itself, is a count of unique CRM customers or recognized revenue.
This workflow is for a paid-search lead-generation account and a team reconciling Google Ads with its CRM. It uses an invented, reproducible example rather than a client case study. Video, app and store-visit reporting can require additional treatment.
Decide what the monthly report is supposed to answer
“September performance” can mean three different things:
- How productive was September's advertising? Start with September cost and the conversions attributed to September ad interactions. Let that cohort mature before treating its acquisition cost as settled.
- How many attributed outcomes happened in September? Use the relevant conversion-time column and the same conversion actions. Some of those outcomes may come from August interactions.
- How many qualified leads or sales did the business accept in September? Use the CRM's agreed qualification or sale date and deduplication rules. Then reconcile the subset eligible for Ads attribution.
Google's explanation of conversion reporting columns states that the main conversion columns report against the click date, while “Conversions (by conv. time)” reports against the time the conversion happened. Switching between those columns changes the question, not just the display.
Do not divide September spend by every outcome that happened in September and label the result the acquisition cost of September's clicks. A spend-to-outcomes ratio may be useful operationally, but it mixes acquisition cohorts. Give it its own name.
Freeze the settings before downloading the numbers
Create a short report specification that travels with each export. Record the customer account ID, reporting dates, account time zone, currency, campaign filters, network scope and export timestamp. Use account and campaign IDs as join keys; names can change.
For the conversions, record the action IDs or names, primary/secondary status, applicable campaign goals, counting method, attribution model and conversion window. A form submission, a qualified lead and a closed sale are separate events. Adding all three together does not produce three customers.
In the CRM, identify the event that matches each Ads action. “Lead created” is not interchangeable with “qualified by sales.” Normalize timestamps to the reporting time zone before applying the month boundary. A late-night event can belong to different dates in UTC and the account's local time; daylight-saving rules also matter.
Preserve the raw exports. Do cleaning and reconciliation in separate sheets, and give each snapshot a distinct name, such as sep-search-export-oct02 and sep-search-export-oct09. Replacing the first file with the second destroys the evidence needed to explain a revision.
Use separate cost and conversion-detail exports
One giant table is tempting, but its grain is easy to misunderstand. Build these working files instead:
- Campaign cost file: account ID, campaign ID, day, cost, clicks and the account currency. Keep the agreed campaign scope fixed.
- Interaction-date conversion file: the same account/campaign/day identifiers, conversion action, and the relevant conversions and value columns.
- Conversion-date file: the relevant actions and “Conversions (by conv. time)” or “All conv. (by conv. time),” with the date range explicitly interpreted as outcome dates.
- CRM event file: an internal event or lead ID, stage, event timestamp, accepted/rejected status, and the attribution identifiers available under your existing consent and data-handling setup.
Google notes that some report segments exclude incompatible performance columns. Do not fill the resulting gaps by repeating campaign spend against every conversion action. Aggregate each file to the intended common grain first, then join. Check that total cost is unchanged after the join.
For example, a campaign with $1,000 cost and two conversion-action rows still has $1,000 cost. Copying $1,000 onto each action row and summing produces a fictitious $2,000. If you need cost per qualified lead, use the campaign's cost once and the qualified-lead action's count.
If you need help producing the files, Guangsuan's guide to exporting Google Ads data explains the download routes and the date and conversion columns to choose. Use that as export preparation, then keep the monthly reconciliation in a separate working file.
A month-end example you can recalculate
Assume a fictional account tracks one qualified-lead action. Every lead in this example has one eligible search click, receives full credit, and is counted once. There are no modeled conversions, fractional credits, refunds or other actions. All dates use one account time zone. These simplifications make the arithmetic visible; they are not assumptions to impose on a real account.
- September advertising costs $4,800.
- The October 2 export contains 40 qualified leads attributed to September clicks. Of those, 35 qualified during September and 5 during October.
- Another 8 leads qualified in September after clicking in August.
- By October 9, another 8 leads from September clicks have qualified, all during October. The September click cohort now contains 48 leads.
The first snapshot therefore produces two different, valid counts:
- September interaction-date conversions: 40. The working acquisition-cost calculation is $4,800 ÷ 40 = $120 per qualified lead.
- September conversion-date outcomes: 43. This is 35 from September clicks plus 8 from August clicks. It answers what happened during September.
The October 9 snapshot changes the September click cohort to 48, so its working cost per qualified lead becomes $4,800 ÷ 48 = $100. The example's September conversion-date count remains 43 because the eight additional qualifications occurred in October.
Reported cohort acquisition cost fell by ($120 − $100) ÷ $120 = 16.7% without a new September advertising decision. That is a reporting revision from a maturing cohort, not proof that a campaign optimization improved performance. In a real account, late-uploaded September events could also revise the September conversion-date total.
The example also shows why $4,800 ÷ 43, approximately $111.63, is not the same cohort metric. Its denominator includes results from August clicks and excludes October outcomes from September clicks.
Choose a restatement schedule from actual delay
There is no universal day on which every account's monthly conversions become final. Google explains that conversion delay can make recent CPA appear worse because spend is already recorded while some conversions have not happened yet. Its historical “Days to conversion” instructions recommend examining a period ending at least 30 days ago, or longer for a longer conversion window.
Use mature data for the specific action you report. A newsletter signup's delay distribution is not a substitute for the qualified-lead action's distribution. Look at the spread, especially its tail, rather than using the average as a cut-off.
As an internal operating convention, a team might save an initial snapshot two days after month end, revisit it a week later, and schedule another review after its normal qualification delay. Those dates are examples, not Google's completeness guarantee. Label each snapshot “provisional” or “restated,” and record the next review date.
Keep observed conversions separate from any conversion-delay estimate shown in Google Ads. Estimates can help with decisions, but adding them to observed results and presenting the sum as booked revenue would erase the distinction the report is meant to preserve.
Reconcile CRM differences in a fixed order
Start with one action, one campaign group and one reporting period. A smaller discrepancy is easier to explain than an account-wide total combining several funnels.
- Align the event and date basis. Compare qualified-lead timestamps with the qualified-lead action by conversion time, not all form submissions with interaction-date conversions.
- Align scope. Separate all CRM leads from the subset eligible for Google Ads attribution. Organic, referral and other-channel leads do not belong in a one-to-one Ads comparison.
- Check duplicates and counting. Apply the CRM's event rules consistently. Inspect repeated form submissions, reopened leads and multiple stages uploaded as separate actions.
- Check import results and timing. An event existing in a CRM does not prove that Google Ads accepted it. Review upload diagnostics before labeling a missing event a reporting delay.
- Review the remaining attribution difference. Conversion windows, campaign goals, attribution models, consent-related measurement limits and modeled or fractional conversions can prevent exact record-level equality.
For imported events, Google specifically recommends “All conv. (by conv. time)” when validating imports. Filter or segment to the intended action: “All conversions” is not automatically the definition used in your headline KPI. Check the current import rules for the implementation you use rather than applying one upload deadline to every conversion type.
Do not force the two totals to match with an unexplained adjustment. Maintain a small exception list: the action or event affected, the reason found, the evidence checked, the owner and the next check. Mark unresolved items as unresolved. Platform-reported modeled conversions cannot always be mapped to an individual CRM row.
Give the decision-maker a revision note, not a surprise
A useful cover note might read: “September search spend: $4,800. September-click qualified leads: 40 as of October 2, restated to 48 as of October 9. Working cohort cost per qualified lead: $120, then $100. September-dated qualifications: 43 in both snapshots. All figures are from the fictional example above.”
For a real report, add any changed filters, action settings, rejected imports and unresolved differences. Separate reporting corrections from campaign decisions. That lets a team decide whether to investigate tracking, wait for more outcomes, or change acquisition strategy without treating all three as the same problem.
The broader connection between paid acquisition, CRM and analytics is described in the site's growth marketing service overview. In the monthly report itself, the practical standard is simpler: another analyst should be able to recreate the totals, identify their date basis and explain why the next snapshot changed.
Put this playbook to work on your funnel.
Bring your CAC, channel mix, and conversion data to a 30-minute Growth Diagnostic with a senior strategist. Walk away with a prioritised backlog of experiments.
Book a Growth DiagnosticOr read the next teardown in The Vallée Lab, or explore how we rebuilt Pipedrive's paid social engine in our case studies.