Put Google Ads next to your CRM for the same period and the numbers won't match. We build the layer that reconciles them, so every bid runs on money you collected, for advertisers spending $100,000 or more per month.
Google reports conversions it claims credit for on its own attribution windows. Your CRM shows what actually closed. The gap between those two numbers is the gap between what you think your advertising produces and what it produces. For businesses running Google and Meta at once it compounds, because both platforms take credit for the same customers. Combined reported revenue can be double the revenue you actually collected, and every bidding decision made from those numbers is made on fiction.
Google and Meta each count a conversion they contributed to. Neither knows about the other. Add the two reports together and you get a revenue figure your bank account will not recognise.
A conversion that happened weeks after the click still gets credited to that click. Google retains a click identifier for 90 days. Meta caps click attribution at 7 days, which hides everything that closes later.
In restricted industries a growing share of reported conversions are estimated rather than observed. You are bidding against a model's guess about behaviour it could not measure.
A submitted form counts as a conversion whether it became a signed client or a price shopper. Optimise toward that signal and the algorithm gets very good at buying cheap enquiries.
Calls, retainers, appointments and payments that happen away from the website do not exist in platform reporting without custom integration. In lead generation that is most of the revenue.
Campaigns that look profitable get more money. Campaigns that are actually profitable get less. The account gets worse while the reporting improves.
We measured 203,043 transactions that settled through client merchant and bank accounts over twelve months, against $100.9 million in managed ad spend, and asked how much could be tied back to a first-party ad click. Across all accounts the answer was 79.1%. For lead generation businesses it was 95.9%.
That second number matters if you run a phone-driven or long-cycle funnel, because you have probably been told your business is inherently hard to track. It is the best-tracked model in our data. The revenue is traceable. Reaching it requires infrastructure that platform tags do not provide on their own.
Attribution tracking is a chain of records that has to survive every step between the click and the money, including the weeks in between and the parts that happen off your website.
Google appends a GCLID, WBRAID or GBRAID to the landing URL. Meta provides an fbclid. We capture whichever is present on the first page view, before the visitor navigates anywhere else.
Browser storage expires and gets cleared. We store the identifier server-side so it survives the weeks a real sales cycle takes, along with hashed first-party data as a recovery path.
The identifier is attached to the lead in your CRM at creation, so every later event about that person can be traced back to the click that produced them.
Qualification, appointment, contract, retainer. Phone calls are matched to the originating click rather than counted as anonymous inbound volume.
When money settles through your payment processor or bank, it is reconciled against the stored identifier. This is the step that turns a conversion into verified revenue.
Closed revenue is imported into Google Ads and Meta against the exact click, inside Google's 90-day window. Smart Bidding then optimises toward money rather than form fills.
An attribution layer that reports confidently and wrongly is worse than no attribution layer, because it produces decisions rather than doubt. Before a campaign runs we check that revenue recorded in the tracking system reconciles with revenue recorded by the merchant within a 5% variance. If it does not reconcile, the tracking is fixed before any budget is committed.
After launch the same reconciliation runs continuously. A tracking break shows up as a divergence between the two figures, usually within days, which is how we catch a stripped parameter or a broken CRM feed before it has trained the bidding algorithm on bad data for a month. For franchise and multi-location networks, see our franchise PPC agency page.
Not how many conversions a campaign reported, but what a signed customer cost and which keywords produced them. That is the number you can set a budget against.
Once your attribution rate is accurate, the next question is where to set your bidding target. Use our free ROAS target calculator to translate a real-life ROAS goal into the number you set at the campaign level.
Smart Bidding is only as good as the conversion you feed it. Give it closed revenue and it buys customers. Give it form fills and it buys forms.
When a customer is deduplicated across Google and Meta, the two platforms stop both claiming the same sale and you can compare channels honestly.
Bidding to gross profit holds efficiency as budget rises, because the platform bids lower on low-value buyers and harder on high-value ones.
How click identifiers work → · Importing offline revenue → · Why platforms double-count → · What Google's own model misses →
Two settings on every Google Ads conversion action decide what the platform reports: the attribution model and the conversion window. Both also feed Smart Bidding. A wrong setting changes your bids, not only your reports.
Google Ads supports data-driven and last click attribution. Google retired the first click, linear, time decay and position-based models, and moved the conversion actions that used them to data-driven. Data-driven is the default for most conversion actions.
The model you select changes the Conversions column and every bid strategy that reads it, including Target CPA and Target ROAS. Google recommends that you test a non-last-click model and check its effect on return before you rely on it.
If you do not change it, the click-through conversion window is 30 days. You can set it from 1 to 90 days, depending on the conversion source. Engaged-view conversions default to 3 days and view-through conversions to 1 day.
A new window applies to conversions from the day you change it. Google does not recount earlier conversions. Check the time lag report and set the window before launch.
A conversion that happens after the window closes is not recorded. It is missing from your reports and from the data Smart Bidding learns from. If your sales cycle runs longer than the window, the account optimises toward the fastest buyers only.
No single method carries a sale from the click to the payment. Each one covers part of the path. This is how the parts fit together, with our guide to each one.
GCLID, WBRAID and GBRAID tie a conversion to one Google Ads click. Offline imports match against them. They break when a redirect, a form or a CRM field drops the parameter. How click identifiers work →
UTM tags tell your analytics tool the source, medium and campaign of a visit. They describe the visit. They do not identify the click, so Google Ads cannot match an imported sale to a UTM tag.
Hashed first-party data, such as the email address from a lead form, lets Google match a later sale to an ad interaction. It is the recovery path when no click identifier was stored. Enhanced conversions for leads →
When a journey crosses domains, for example from your site to a separate booking or checkout domain, the Google tag passes its cookies in a _gl linker parameter. Google documents that this parameter expires after two minutes, so the tag adds it at the moment of the click.
Server-side tagging moves event collection from the visitor's browser to a server you control. The stored click identifier and first-party data then stay available for the weeks a real sale takes. Server-side tracking →
Closed revenue from the CRM is uploaded against the stored click identifier. This is the step that lets Smart Bidding see collected money instead of form fills. Importing offline revenue →
Google documentation referenced: About attribution models · About conversion windows · Measure activity across multiple domains
Attribution tracking connects an advertising click to the revenue it eventually produced, including revenue that arrives days or weeks later and away from your website. It works by capturing the click identifier when someone lands, storing it with the lead record, and reconciling it against the payment when the customer transacts. Platform-native reporting cannot do this on its own because it only sees activity inside its own environment.
Google counts conversions on its own attribution windows and credits them to the click date, includes modeled conversions it did not directly observe, and counts form fills whether or not they became customers. Your CRM records what actually closed. When Google and Meta both run, the two platforms also claim the same customers, so combined reported revenue can exceed collected revenue substantially.
Across 203,043 transactions we measured over twelve months, 79.1% of merchant-settled revenue was traceable to a first-party ad click. Lead generation businesses reached 95.9%. The share that remains untraceable is usually revenue that never came from advertising, such as organic, direct, repeat and walk-in customers.
Yes. It is the case the method is built for. In our benchmark data, businesses that close offline are the best tracked, not the worst.
Implementation depends on how many systems have to be connected, typically a website, a CRM, a call system and a payment processor. We do not commit budget until recorded revenue reconciles with merchant revenue within a 5% variance, so the timeline is governed by reaching that threshold rather than by installing tags.
Those help and they are part of a good setup. They do not deduplicate a customer across Google and Meta, they do not see revenue that settles in your bank without a matching web event, and Meta caps click attribution at 7 days regardless. If your sales cycle runs longer than a week or your revenue closes on a call, native tooling leaves the majority of the picture unmeasured.
Data-driven and last click. Data-driven is the default for most conversion actions.
The period after an ad interaction in which Google Ads records a conversion. The click-through default is 30 days, and conversions after the window are not recorded.
The four rule-based models most often described are first click, last click, linear and time decay. Of these, Google Ads now supports only last click, together with its own data-driven model.
Next Step
Send us the two reports. We will show you where the gap comes from and what it is costing in misallocated budget. For advertisers spending $100,000 or more per month.
Request a Discovery Call →