Marketing Attribution Across Meta and Google Ads Without an Analyst
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.
The attribution problem in one paragraph
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.
Connect your channels
Anna connects to Meta Ads, Google Ads, and your revenue source (Shopify, Stripe, GA4) via OAuth. Read-only. About 90 seconds 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.
The blended CAC prompt
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:
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.
The "what about the overlap" prompt
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.
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."
Multi-touch attribution, in plain English
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.
Cross-referencing with revenue, not 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. Try it at heyanna.studio.
We use cookies to improve your experience. Privacy policy