{"id":1376,"date":"2026-10-19T08:52:52","date_gmt":"2026-10-19T12:52:52","guid":{"rendered":"https:\/\/thedoctorads.com\/blog\/google-ads-conversions-not-matching-crm"},"modified":"2026-10-19T08:52:57","modified_gmt":"2026-10-19T12:52:57","slug":"google-ads-conversions-not-matching-crm","status":"publish","type":"post","link":"https:\/\/thedoctorads.com\/blog\/google-ads-conversions-not-matching-crm","title":{"rendered":"Why Google Ads Conversions Don&#8217;t Match Your CRM: A Reconciliation Checklist"},"content":{"rendered":"<div class=\"tldr\">\n<p>Google Ads and your CRM don&#8217;t match because they count different things on different clocks, and there is no universal normal gap. A steady gap can hide a permanent fault, such as a duplicate tag. <strong>A gap is not proof of a fault, and a match is not proof of health.<\/strong><\/p>\n<p>Start with the counting rule: in <strong><span data-claim-id=\"INS-104\">four out of five<\/span><\/strong> accounts that feed leads into bidding, at least one lead action in the Conversions column counts every conversion instead of one per click. <strong>Compare one event from the same ads on one clock; prove the base on real records before you trust any ratio.<\/strong> Then investigate moves outside its proven range, either way, and setup changes.<\/p>\n<\/div>\n<h2>Different things, different clocks<\/h2>\n<p>The Same-Clock Rule is where every Profit Forensics reconciliation starts: compare one event, defined the same way, on one clock.<\/p>\n<p>One enquiry can fire several conversion actions: a form tag, a Google Analytics (GA4) event, an imported CRM stage, a call. Their reported series can disagree. Your CRM counts records, people and deals, after its own rules merge duplicates and filter junk, or fail to.<\/p>\n<p>Clocks differ too. Google&#8217;s <a href=\"https:\/\/support.google.com\/google-ads\/answer\/7457111?hl=en\" target=\"_blank\" rel=\"noopener\">data discrepancies guide<\/a> says: &#8220;Google Ads reports conversions on the ad impression date. Other reporting tools attribute them to the conversion date.&#8221; So an enquiry sent this month from an ad shown last month lands in different months, and last month&#8217;s Google Ads figure can still grow. For more aligned reporting, the guide suggests the &#8220;Conversions (by conv. time)&#8221; or &#8220;All conv. (by conv. time)&#8221; columns.<\/p>\n<p>The checks below, part of our <a href=\"https:\/\/thedoctorads.com\/blog\/metrics-and-scores\">conversions, tracking and scores<\/a> research, apply the rule.<\/p>\n<h2>Checks on what is being counted<\/h2>\n<h3>Which action is your CRM event&#8217;s twin<\/h3>\n<p>Compare the CRM with one conversion action, never with a column total. A Primary action counts only in campaigns that bid on its goal, says Google&#8217;s page on <a href=\"https:\/\/support.google.com\/google-ads\/answer\/10995103?hl=en\" target=\"_blank\" rel=\"noopener\">conversion goals<\/a>. Secondary actions are &#8220;for observation only&#8221; unless &#8220;part of a custom goal&#8221;, says the <a href=\"https:\/\/support.google.com\/google-ads\/answer\/3419678?hl=en\" target=\"_blank\" rel=\"noopener\">All conversions page<\/a>. A campaign can bid on several goals: in our <a href=\"https:\/\/thedoctorads.com\/blog\/google-ads-conversion-goals-what-campaigns-bid-on\">goal settings snapshot<\/a>, the median campaign was set to optimise towards <span data-claim-id=\"N-22\">three<\/span> conversion goals.<\/p>\n<p>Soft actions can sit in the column too. In our <a href=\"https:\/\/thedoctorads.com\/blog\/google-ads-conversions-column-lead-counting\">published settings study<\/a>, <span data-claim-id=\"N-16\">about six in ten<\/span> accounts with meaningfully labelled actions kept at least one soft action, such as a page view or a download, in the column bidding learns from.<\/p>\n<ul>\n<li><strong>Where:<\/strong> Goals, Conversions, Summary; the campaign&#8217;s Conversion goals.<\/li>\n<li><strong>Normal:<\/strong> one Primary action per real business event, in a goal the campaign bids on; soft signals as Secondary.<\/li>\n<li><strong>Worrying:<\/strong> page views or downloads counted beside form fills and calls.<\/li>\n<li><strong>Ask:<\/strong> &#8220;Which action in this figure is our CRM lead?&#8221;<\/li>\n<\/ul>\n<h3>The counting rule on each lead action<\/h3>\n<p>Read the Count setting on every lead action first. Google&#8217;s <a href=\"https:\/\/support.google.com\/google-ads\/answer\/3438531?hl=en\" target=\"_blank\" rel=\"noopener\">counting options page<\/a> lets each action &#8220;count every conversion that happens after an interaction&#8221;, or only one, and calls One &#8220;a good choice&#8221; when what matters is whether a lead was generated. One works per action, so a person who triggers several actions still counts in each. In our <a href=\"https:\/\/thedoctorads.com\/blog\/google-ads-conversions-column-lead-counting\">settings study<\/a>, <strong><span data-claim-id=\"INS-104\">four out of five<\/span><\/strong> accounts that feed leads into bidding had at least one lead action in the Conversions column counting every conversion instead of one per click.<\/p>\n<ul>\n<li><strong>Where:<\/strong> the action&#8217;s name in Summary, then Edit settings and Count.<\/li>\n<li><strong>Normal:<\/strong> One on lead actions, or Every with a written reason.<\/li>\n<li><strong>Worrying:<\/strong> Every with no reason anyone can give: a repeat submission from the same click becomes a second lead.<\/li>\n<li><strong>Ask:<\/strong> &#8220;Why does this lead action count every conversion, and who decided?&#8221;<\/li>\n<\/ul>\n<h3>All conversions: one row, not the total<\/h3>\n<p>Keep the All conversions total out of the comparison. Google&#8217;s page <a href=\"https:\/\/support.google.com\/google-ads\/answer\/3419678?hl=en\" target=\"_blank\" rel=\"noopener\">About &#8220;All conversions&#8221;<\/a> says the column &#8220;includes any conversion actions that you&#8217;ve chosen not to include&#8221; in the main Conversions column, so it runs wider by design. Its mix also shifts: in our <a href=\"https:\/\/thedoctorads.com\/blog\/google-ads-all-conversions-mix-drift\">year-on-year study<\/a>, the median account&#8217;s category mix inside All conversions moved <span data-claim-id=\"N-40\">6.42 percentage points from 2024 to 2025<\/span>. That is a change of composition, not an error.<\/p>\n<ul>\n<li><strong>Where:<\/strong> Campaigns, the Segment icon, Conversions, Conversion action.<\/li>\n<li><strong>Normal:<\/strong> one row per action, each explainable. An imported CRM stage may live only in All conversions; read that row alone.<\/li>\n<li><strong>Worrying:<\/strong> an All conversions total presented as leads.<\/li>\n<li><strong>Ask:<\/strong> &#8220;Is this slide Conversions or All conversions, and for which action?&#8221;<\/li>\n<\/ul>\n<h2>Checks on timing and arrival<\/h2>\n<h3>One clock and one time zone<\/h3>\n<p>Use one clock on both sides. To test whether every lead arrived, compare CRM records created in a period with the &#8220;Conversions (by conv. time)&#8221; column for the matching action: both date a lead by its arrival. Count only records from the same account&#8217;s campaigns: Google Ads <a href=\"https:\/\/support.google.com\/google-ads\/answer\/7457111?hl=en\" target=\"_blank\" rel=\"noopener\">only reports conversions<\/a> with interactions &#8220;<span data-claim-id=\"OFF-15\">from the same Google Ads account<\/span>&#8220;. To judge what a week of ads produced, read the standard Conversions column once late conversions have arrived. Google says it dates each conversion by the ad impression, so set it against CRM leads from ads shown that week. If your CRM stores only the click time, note in the log that the clocks still differ.<\/p>\n<ul>\n<li><strong>Where:<\/strong> the Columns icon above the campaign table; the account time zone under Admin, then Account settings.<\/li>\n<li><strong>Normal:<\/strong> same time zone and period boundaries on both counts, or the offset logged.<\/li>\n<li><strong>Worrying:<\/strong> standard-column months against CRM months, or no named column and date field.<\/li>\n<li><strong>Ask:<\/strong> &#8220;Which column and which CRM date field produced each number?&#8221;<\/li>\n<\/ul>\n<h3>Windows and maturity<\/h3>\n<p>A conversion that arrives after its window won&#8217;t be recorded, and a week read before its late conversions arrive looks like a fall. Google&#8217;s page <a href=\"https:\/\/support.google.com\/google-ads\/answer\/3123169?hl=en\" target=\"_blank\" rel=\"noopener\">About conversion windows<\/a> says the window is set per action, runs from the ad interaction, and changes apply only from that day forward, so a new setting will not repair last month. Further down the funnel, the lead arrives fast and the money later, on a different clock.<\/p>\n<ul>\n<li><strong>Where:<\/strong> the action&#8217;s Edit settings, then each window: Click-through, Engaged-view and View-through.<\/li>\n<li><strong>Normal:<\/strong> recent weeks still filling in, older weeks matured, each window covering the delay to its event.<\/li>\n<li><strong>Worrying:<\/strong> a drop only in the newest, unfinished weeks, or a window shorter than its event&#8217;s delay.<\/li>\n<li><strong>Ask:<\/strong> &#8220;How long after the ad interaction does each event arrive, and does its window cover that?&#8221;<\/li>\n<\/ul>\n<h3>The import pipe<\/h3>\n<p>If the CRM sends stages back to Google Ads, test the pipe before the ratio. Google&#8217;s <a href=\"https:\/\/support.google.com\/google-ads\/answer\/15081888?hl=en\" target=\"_blank\" rel=\"noopener\">guidelines for importing offline conversions<\/a> say conversions uploaded more than <strong><span data-claim-id=\"OFF-05\">90 days<\/span><\/strong> after the associated last click won&#8217;t be imported; for enhanced conversions for leads the limit is <strong><span data-claim-id=\"OFF-05\">63 days<\/span><\/strong>. Those are upload deadlines, not conversion windows. The same page recommends validating imports with the &#8220;All conv. (by conv. time)&#8221; column, which reports by the date of the conversion.<\/p>\n<ul>\n<li><strong>Where:<\/strong> your import&#8217;s upload history or diagnostics, which depend on how the CRM connects.<\/li>\n<li><strong>Normal:<\/strong> paid-search leads include the identifier your import matches on, a Google Click ID (GCLID) or details typed into the lead form; each rejected row has a reason.<\/li>\n<li><strong>Worrying:<\/strong> leads without an identifier, or late stages uploaded after the deadline.<\/li>\n<li><strong>Ask:<\/strong> &#8220;Show me the last upload: rows sent, accepted and rejected, and why.&#8221;<\/li>\n<\/ul>\n<h3>The live enquiry journey<\/h3>\n<p>Before reading a fall in leads as lost demand, test the real enquiry journey: a slow or unreliable tag can mimic it. A single test shows the path works; it does not prove that every lead travels it.<\/p>\n<ul>\n<li><strong>Where:<\/strong> your live ad in a private window, the form, the CRM and <span data-claim-id=\"OFF-17\">Google Tag Assistant<\/span>.<\/li>\n<li><strong>Normal:<\/strong> one CRM record and the right action firing once; <a href=\"https:\/\/support.google.com\/google-ads\/answer\/15081888?hl=en\" target=\"_blank\" rel=\"noopener\">imported conversions<\/a> <span data-claim-id=\"OFF-16\">take time to show up<\/span>.<\/li>\n<li><strong>Worrying:<\/strong> a slow form, a failed submission, or a tag that fires more than once or not at all.<\/li>\n<li><strong>Ask:<\/strong> &#8220;When did someone last test the journey from ad click to CRM record?&#8221;<\/li>\n<\/ul>\n<h2>What gap is normal: your own baseline and alarm threshold<\/h2>\n<p>There is no universal normal gap. None of the Google pages cited here gives a normal range for a gap with a CRM. Your normal is the ratio you measure on matured periods once the base passes its tests.<\/p>\n<h3>Prove the base before you trust it<\/h3>\n<p>A stable ratio can make a broken setup look normal, because a duplicate tag or a lost import can hold it steady. Before you record a baseline, prove these on real records:<\/p>\n<ol>\n<li><strong>Identity:<\/strong> the action and the CRM field describe the same event, such as a submitted form against a created lead, not a qualified one.<\/li>\n<li><strong>Completeness:<\/strong> sampled recent paid-search leads carry their identifier and are counted under that action.<\/li>\n<li><strong>Duplicates:<\/strong> lead actions count One, or Every for a written reason, and each submission counts once per system.<\/li>\n<li><strong>Maturity:<\/strong> the periods you compare have finished filling in.<\/li>\n<\/ol>\n<h3>When the ratio should trigger an investigation<\/h3>\n<p>Log one ratio weekly: Google Ads conversions for the chosen action divided by CRM records for the same event, campaigns and clock, with the column, the CRM field and a line of explanation. Skip periods with no CRM records.<\/p>\n<p>Investigate when any of these happens. The ratio leaves the range your clean periods have shown. It jumps up as well as down: in the accounts I examine, tracking does not only break downwards, so a sudden rise can be a duplicate rather than good news. Google Ads and the CRM trend in opposite directions. A lead from a tagged click arrives without its identifier. Or something changed: the site, the form, the tag, the CRM fields or the import.<\/p>\n<p>Between investigations, re-run the base tests every quarter, even when the ratio is calm.<\/p>\n<h2>What to check in your account<\/h2>\n<ol>\n<li>On Campaigns, open Settings, select the campaign and expand Conversion goals. Hover over each goal to see whether your CRM event&#8217;s action is Primary there. If it is Secondary, read its All conversions row and check whether a custom goal includes it.<\/li>\n<li>Open Goals, then Conversions, then Summary. Click that action&#8217;s name, then Edit settings, and note its Count setting and every conversion window.<\/li>\n<li>On Campaigns, click the Columns icon and add &#8220;Conversions (by conv. time)&#8221; and &#8220;All conv. (by conv. time)&#8221;.<\/li>\n<li>Click the Segment icon, then Conversions, then Conversion action, and read your action&#8217;s row in those columns for a recent, matured week.<\/li>\n<li>In Admin, then Account settings, compare the account time zone with the CRM&#8217;s.<\/li>\n<li>In the CRM, count records created that week for the same event and campaigns, and check that they include their identifier.<\/li>\n<li>Open the import&#8217;s upload history or diagnostics, or ask its owner, and read the rejected rows.<\/li>\n<li>Click your own ad in a private window, send the form, find the CRM record and ask for the Tag Assistant check.<\/li>\n<li>Log the dates, columns, action, CRM field, both counts, the ratio and the explanation.<\/li>\n<\/ol>\n<h2>When this does not apply<\/h2>\n<p><strong>Your leads mostly arrive by phone or in person.<\/strong> Without an identifier, the record cannot be tied to an ad interaction, so the ratio measures how much you can trace, not whether tracking works. Measure those channels separately.<\/p>\n<p><strong>Your volume is too small for a weekly ratio.<\/strong> With a handful of leads a week, one record swings the ratio. Compare months or quarters, and rely on the identity test, which works at any volume.<\/p>\n<p><strong>The CRM is not clean either.<\/strong> If reps create leads by hand, merge them late or reuse old records, the CRM count moves for reasons no Google Ads setting explains. Fix the CRM rules first, or your baseline will measure the sales process, not the tracking.<\/p>\n<h2>When to bring in an independent check<\/h2>\n<p>Bring in someone outside the account when one team sets up the tracking, runs the bids and <a href=\"https:\/\/thedoctorads.com\/blog\/ppc-report-template-for-cmo\">writes the report<\/a>: it then defines the number it is judged by. That is a reason to ask for screens, not an accusation. Do the same when the ratio moved and the explanation stops at &#8220;attribution differences&#8221;, or when reported return looks strong while real sales stay flat. Treat that as a contradiction: check how events and values are defined, then look for delayed sales and missing CRM records. Profit Forensics starts every audit with this reconciliation, before any opinion about bids.<\/p>\n<p><!-- cta-anchor --><\/p>\n<h2>Researcher&#8217;s take<\/h2>\n<p>I never ask a client to make Google Ads match the CRM. I ask them to make every gap explainable: a gap you can explain is information, a match you cannot explain is luck. My order never changes: one event, one clock, proof that the pipe works, then a baseline. What worries me is not the big gap but the calm ratio nobody has re-tested, because a duplicate tag can sit inside it for months and look normal.<\/p>\n<p><em>Igor Ivitskiy, Doctor Ads Profit Forensics<\/em><\/p>\n<h2>FAQ<\/h2>\n<h3>What size of gap between Google Ads and CRM lead counts is normal?<\/h3>\n<p>There is no universal size, and no Google page cited here names one. Your normal is your own ratio for one action and its CRM event on one clock, on matured periods, after the base tests pass. Investigate when it leaves that range, up or down, and re-test the base even when it holds.<\/p>\n<h3>Some of our CRM offline conversions never show up in Google Ads. Where do they get lost?<\/h3>\n<p>Look in this order: the identifier was never captured, the stage was uploaded late, the row was rejected, or it landed on another action. Google won&#8217;t import offline conversions uploaded more than <span data-claim-id=\"OFF-05\">90 days<\/span> after the associated last click, or <span data-claim-id=\"OFF-05\">63 days<\/span> for enhanced conversions for leads. Check that action in &#8220;All conv. (by conv. time)&#8221;.<\/p>\n<h3>Google Ads, GA4 and the CRM show different lead numbers. Which one do we report to the board?<\/h3>\n<p>Report the CRM count for business results: it records the people and deals you can act on. Show the Google Ads figure as the signal bidding learns from, beside the reconciled ratio and the clock used. Reconcile GA4 the same way before it reaches a slide.<\/p>\n<h2>How we know<\/h2>\n<p>Google sources:<\/p>\n<ul>\n<li>Google Ads Help, <em>Data discrepancies: Factors and troubleshooting<\/em>, checked 19 October 2026.<\/li>\n<li>Google Ads Help, <em>About conversion goals<\/em>, checked 19 October 2026.<\/li>\n<li>Google Ads Help, <em>About conversion counting options<\/em>, checked 19 October 2026.<\/li>\n<li>Google Ads Help, <em>About &#8220;All conversions&#8221;<\/em>, checked 19 October 2026.<\/li>\n<li>Google Ads Help, <em>About conversion windows<\/em>, checked 19 October 2026.<\/li>\n<li>Google Ads Help, <em>Guidelines for importing offline conversions<\/em>, checked 19 October 2026.<\/li>\n<\/ul>\n<p>Our figures come from published studies: counting and soft-action shares from the <a href=\"https:\/\/thedoctorads.com\/blog\/google-ads-conversions-column-lead-counting\"><span data-claim-id=\"N-16\">July 2026<\/span> settings study<\/a>, goals per campaign from the <a href=\"https:\/\/thedoctorads.com\/blog\/google-ads-conversion-goals-what-campaigns-bid-on\">goal settings snapshot<\/a>, the All conversions shift from the <a href=\"https:\/\/thedoctorads.com\/blog\/google-ads-all-conversions-mix-drift\">year-on-year study<\/a>. They describe settings and composition; none measures a CRM gap.<\/p>\n<p>No new portfolio data in this article: it combines Google&#8217;s documentation (checked 19 October 2026) with what our audits look for. Where a figure comes from our published studies, the study is linked.<\/p>\n<p>What is opinion: the Same-Clock Rule, the order of the checks and the alarm signals are Igor Ivitskiy&#8217;s practitioner method, the reconciliation that opens a Profit Forensics audit, not Google guidance.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Google Ads and your CRM count different things on different clocks. Compare one event on one clock and prove the base works before you trust any ratio.<\/p>\n","protected":false},"author":0,"featured_media":1377,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-1376","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-metrics-and-scores","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-33"],"_links":{"self":[{"href":"https:\/\/thedoctorads.com\/blog\/wp-json\/wp\/v2\/posts\/1376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thedoctorads.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thedoctorads.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/thedoctorads.com\/blog\/wp-json\/wp\/v2\/comments?post=1376"}],"version-history":[{"count":1,"href":"https:\/\/thedoctorads.com\/blog\/wp-json\/wp\/v2\/posts\/1376\/revisions"}],"predecessor-version":[{"id":1378,"href":"https:\/\/thedoctorads.com\/blog\/wp-json\/wp\/v2\/posts\/1376\/revisions\/1378"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thedoctorads.com\/blog\/wp-json\/wp\/v2\/media\/1377"}],"wp:attachment":[{"href":"https:\/\/thedoctorads.com\/blog\/wp-json\/wp\/v2\/media?parent=1376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thedoctorads.com\/blog\/wp-json\/wp\/v2\/categories?post=1376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thedoctorads.com\/blog\/wp-json\/wp\/v2\/tags?post=1376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}