Skip to content
hey annahey anna
Back to blog
AgencyGuides

Marketing Attribution Across Meta and Google Ads Without an Analyst

Why don't Meta and Google Ads agree on conversions? Anna pulls both platforms plus your revenue source, dedupes overlap, and runs real multi-touch attribution.

By Anna·~8 min read·Updated Apr 22, 2026

Open Meta Ads Manager. It tells you Meta drove $128K of revenue last month.

Open Google Ads. It tells you Google drove $94K.

Open your Shopify dashboard. Total revenue last month: $187K.

Meta and Google together claim $222K of credit for $187K of actual revenue. Welcome to attribution. The platforms are not lying — they are both reporting under their own attribution windows, both counting touches the other one also touched, both confident they were the closer.

Sorting that out is normally an analyst's job. It does not have to be.

Short answer. Meta and Google Ads both report the conversions they touched, under their own attribution windows, so the same purchase gets counted twice. To reconcile attribution: connect both ad platforms plus your revenue source (Shopify or Stripe) to an AI analyst like Anna, dedupe the conversions on customer identifier, and run a multi-touch attribution model (last-touch, time-decay, or position-based) against the deduplicated set. The honest channel mix is usually 15–40% smaller than the platforms claim.

Why don't Meta and Google Ads agree on conversion numbers?

Every ad platform reports the conversions it touched. If a customer saw a Meta ad on Monday, clicked a Google ad on Wednesday, and bought on Friday, both platforms count it. Most of the time, each platform also discounts the other — but only the parts they can see. The result is that the sum of "channel-attributed" revenue is almost always larger than your real revenue, by 15-40%.

You cannot solve this by trusting one platform. You cannot solve it with last-click in Shopify either — last-click systematically over-credits the channel a customer was already going to convert through.

The solve is to pull data from both ad platforms plus the revenue source, deduplicate the conversions, and run a real attribution model on the joined data. That is what an analyst would do. It is also what Anna does.

How do you reconcile attribution across Meta, Google, and Shopify?

Sign in to Meta Ads, Google Ads, and your revenue source (Shopify, Stripe, GA4). Anna can read your data — never change it. A minute or two per platform.

Once she has access, she can read campaigns, ad sets, ads, spend, impressions, clicks, and reported conversions from both ad platforms. She can read orders or transactions from your revenue source. She joins them on customer email or click identifier where available, falls back to time-window matching where it is not, and tells you exactly which join she used.

This is the part the dashboards cannot do. They cannot see the other platform's data. Anna can see all of it.

How do I calculate blended CAC across Meta and Google Ads?

The most important attribution number for a paid-media operator is blended CAC — total ad spend across all channels divided by new customers in the same period.

Most teams know the channel-level CAC numbers (which lie) and have to build the blended view manually. Try this:

"Compute blended CAC for the last four weeks across Meta, Google, and any other connected ad source. Compare it to the prior four weeks. Show me which channel's CAC moved most."

Anna sums the spend, joins to new-customer events from your revenue source, and produces the blended number with a per-channel decomposition. She also runs a quick test on whether the week-over-week change is statistically meaningful or within your normal noise band.

A typical finding:

Blended CAC
$48
+22%
Meta CAC
$71
+38%
Google CAC
$31
-9%

The blended CAC went up 22%. Meta went up 38%. Google actually got more efficient. The action is obvious once you see the decomposition, and invisible if you only look at the platform-level reports.

How much revenue is double-counted between Meta and Google?

The harder question — and the one most teams cannot answer — is what happens when you remove the conversions both platforms claim.

Paste:

"Identify customers who appeared in both Meta and Google attribution windows in the last 30 days. How much revenue is double-counted? What is the real channel mix after dedup?"

Anna pulls the conversion lists from both platforms, joins them on customer identifier, flags the overlap, and gives you the deduplicated mix. She uses one of three rules — first-touch, last-touch, or proportional — and tells you which one she applied. You can ask her to run it under all three and compare.

The first time most teams run this, the result is uncomfortable. A meaningful chunk of revenue both platforms claim is the same revenue. The honest channel mix is different from either platform's self-report.

What dedup typically does to a channel mix. Illustrative — Anna runs the same shape against your own data and tells you which dedup rule she used.

After the dedup answer, ask "if I cut Meta spend by 30% next month, what is the best estimate of revenue impact, given the overlap with Google?" Anna runs a simple counterfactual using the deduplicated baseline. It is a model, not a guarantee — but it is a sharper input to the budget conversation than "Meta says it drove $128K."

Which multi-touch attribution model should I use?

Multi-touch attribution sounds like an enterprise tool problem. It is actually a math problem with a few standard solutions.

Anna can run any of:

  • First-touch. Credits the first channel a customer interacted with. Useful for understanding awareness contribution.
  • Last-touch. Credits the last channel before conversion. The default in most platforms. Systematically biased toward branded search.
  • Linear. Splits credit evenly across all touches. Simple, no judgement built in.
  • Time-decay. Weights recent touches more heavily. A reasonable default for short consideration cycles.
  • Position-based (40-20-40). Credits the first and last touches more heavily, splits the middle. Common in DTC.

Ask:

"Run last-touch and time-decay attribution side by side for the last 60 days. Where do they disagree?"

Anna runs both, surfaces the channels that get materially more or less credit under each model, and flags the implications. If Meta gets 38% credit under last-touch and 51% under time-decay, that is information. The "right" model depends on your business — but seeing the spread is the first step.

How do I attribute against actual revenue rather than platform conversions?

The single biggest leverage move is to attribute against actual revenue rather than platform-reported conversions.

Connect Shopify or Stripe alongside the ad platforms. Now Anna can answer:

"For each acquisition channel, what is the 90-day revenue per acquired customer? Not the first-order value — the actual revenue we have collected from them through today."

This is the question that separates channels that look efficient from channels that are efficient. A Meta campaign that brings in customers cheaply but at low LTV is worse than a Google Brand campaign that costs more upfront and retains.

Channel-level CAC is a starting point. Channel-level LTV-to-CAC is the answer.

What you stop doing

Once Meta, Google, and your revenue source are connected, the Sunday-night attribution stitching goes away. You stop:

  • Exporting CSVs from three platforms and reconciling them in Sheets
  • Trusting one platform's self-reported conversion count as truth
  • Guessing at the overlap because deduplication is too tedious
  • Sending CMOs Slack threads with screenshots from three different dashboards

You start sending one report. With methodology visible.

One prompt to start

If you are going to ask only one attribution question this week, ask this:

"What is the difference between what Meta and Google each claimed they drove last month, and what my revenue source actually shows from those channels?"

The gap is the start of every honest paid-media decision you will make this quarter.

Connect Meta, Google, and your revenue source. Paste the question.

FAQ: cross-channel ad attribution

Why does Meta Ads Manager show more conversions than my Shopify store?

Because Meta counts every conversion that fell inside its attribution window after a Meta ad touch, regardless of what other channels also touched the customer. Google does the same thing. Shopify reports actual revenue, once. The "extra" conversions Meta shows are not made up — they are real purchases that other channels also claimed credit for.

What's the difference between last-click, time-decay, and position-based attribution?

Last-click gives 100% credit to the final touch before purchase — easy, but biased toward branded search and direct. Time-decay weights recent touches more heavily — reasonable for short consideration cycles. Position-based (40-20-40) credits the first and last touches more — common in DTC where awareness and conversion are both expensive. Linear splits credit evenly across touches — simple, no judgement built in. Anna can run any of them, or compare two side-by-side.

Can I do multi-touch attribution without a CDP or a data team?

Yes, if Anna can connect to each source (sign-in based) and join them on a customer identifier (email or click ID). Anna handles the joins, the dedup, and the attribution math. The work that historically required a Snowflake setup and an analyst is now a couple of minutes to connect each platform plus a question.

What's the minimum ad spend before this is worth doing?

If you are spending more than ~$10K/month across Meta and Google combined, the gap between platform-reported attribution and reality is usually at least $1.5K of misallocated budget. Below that the question is less about precision attribution and more about whether the channels are working at all — Anna handles both.

Does Anna replace my attribution platform (Triple Whale, Northbeam, Rockerbox)?

For many DTC operators it can — especially the ones whose attribution platform is mostly used to answer five or six recurring questions. For larger spenders running mixed-media-modelling or incrementality testing, the dedicated tools have features Anna does not. The honest framing: Anna gets you to "honest channel mix" without an analyst on staff, and she connects the same sources those tools do.

Try it at heyanna.studio.

See Anna's work

Anna ran this analysis on a real dataset — open the live report.

Open the live monthly campaign review Anna wrote on real GA4 and Meta data. The report that replaces report week.

Open the live report →