Advertising
The Real Cost of Running Ads Without Attribution
Here is a conversation that happens every day with businesses running digital ads.
"How are your ads performing?"
"Google says we have a 4x return. Meta says we have a 3x return."
"So you are getting a 7x return overall?"
"No. Revenue is flat."
That contradiction is not a coincidence. It is a structural problem with how digital advertising platforms report results — and it is costing businesses enormous amounts of money.
Why platforms cannot be trusted to mark their own homework
Google Ads uses a 30-day click attribution window by default. That means if a customer clicked a Google ad 28 days ago, bought from you today through a completely different channel, Google Ads takes credit for the sale.
Meta does the same thing with a 7-day click and 1-day view window. That means if someone saw your Facebook ad but did not click it, then bought from you the next day after finding you on Google — Meta counts that as a Meta conversion.
Now add those together: the same sale has been claimed by Google AND Meta. Both platforms show it as a win. Your overall ROAS looks great on paper. But your actual revenue has not moved.
This is not a bug. It is how these platforms are designed. They are built to show you positive results so you keep spending.
The double-counting problem at scale
The larger your ad spend, the more pronounced this problem becomes. If you are spending $5,000 a month across Google and Meta, you might be looking at $15,000–20,000 in reported conversions across both platforms. The real number might be $8,000.
That gap — between what the platforms report and what actually happened — is your wasted ad spend. And you cannot see it unless you have an independent model that tracks conversions from the actual customer journey, not from the last click each platform detected.
What independent attribution looks like
An independent attribution model does not rely on platform pixels or platform windows. It tracks the actual customer: when they first encountered your brand, what touchpoints they went through, and what finally triggered the purchase.
This requires cross-referencing data from multiple sources — your own transaction records, your CRM, your email platform, your website analytics — and building a model that assigns credit to channels based on what actually influenced the purchase, not what each platform claims it did.
The result is a true cost of acquisition by channel. Not what Google says. Not what Meta says. What the data says.
What businesses typically find
When we build attribution models for businesses, the most common findings are:
First: one channel is massively over-attributed. Usually Google, because of the long attribution window. Actual contribution is 40–60% of what Google reports.
Second: organic and email are massively under-attributed. These channels often influence the purchase but do not get a click credit, so platforms do not count them. Our models typically find these channels are doing 2–3x more work than platforms show.
Third: there is a subset of customers who were going to buy regardless of ads. These are your repeat buyers, your brand loyalists, your referrals. Ads are taking credit for conversions that had nothing to do with ads.
What to do about it
The first step is stopping the bleed. If you are running ads and not measuring attribution independently, you are almost certainly over-spending on at least one channel.
The second step is reallocation. Once you know what is actually working, you cut what is not and scale what is. That reallocation is usually worth more than any optimisation you could do within the platforms.
The third step is building ongoing measurement so the problem does not recur.
If you want to know the real return on your ad spend, we can build the model for your business as part of a TechShek Intelligence audit. The findings usually pay for themselves in the first month of reallocation.
Want us to look at your business?
Book an audit call. We will tell you what your data is saying — and what to do about it.
Book an Audit Call