See what your media really drove.

Medusa measures each channel's credit against your real results, not the platforms' own claims. A Bayesian media mix model separates the sales your ads caused from the ones that would have happened anyway, and puts a range on every number.

AttributionLast 90 days · 4 channelsIllustrative demo data
Total conversions
32,715
Sum of platform-reported
Driven by media
69%
90%: 48–88% · 22,695 incremental
Baseline
31%
90%: 12–52% · brand, word of mouth
Media spend
$605.3K
Jul 30 to Oct 27
Blended iCPA
$26.67
90%: $13.4–$486
Reported vs modelled
+44%
32,715 claimed, 22,695 incremental

Reported vs credited

Platform-reported against credited conversions by channel: Google 17,560 reported, 10,005 credited (90% range 689 to 17,746); TikTok 8,235 reported, 6,230 credited (90% range 424 to 12,803); Meta 5,330 reported, 4,871 credited (90% range 116 to 11,103); LinkedIn 1,590 reported, 1,589 credited (90% range 17 to 3,513).

Platforms claimed 32,715 conversions. The model credits 22,695.

Each platform counts every sale it had a hand in. The same sale gets claimed twice, and sales that would have happened anyway get credited to ads. Medusa checks every claim against what actually happened.

  1. Google17,560claimed

  2. TikTok8,235claimed

  3. Meta5,330claimed

  4. LinkedIn1,590claimed

  5. All four platforms32,715claimed in total

Platforms reported 32,715 conversions: Google 17,560, TikTok 8,235, Meta 5,330, LinkedIn 1,590. The model credits 22,695 to the ads: Google 10,005, 7,555 fewer than claimed, 90% range 689 to 17,746; TikTok 6,230, 2,005 fewer than claimed, 90% range 424 to 12,803; Meta 4,871, 459 fewer than claimed, 90% range 116 to 11,103; LinkedIn 1,589, 1 fewer than claimed, 90% range 17 to 3,513. The other 10,020 would have happened anyway or were counted by more than one platform.

What each platform reports. One dot is 20 conversions.

Every number comes with its range.

One confident figure hides how much the model actually knows. Medusa shows the best estimate and its 90% credible interval for credit, share, incrementality, cost per incremental conversion and marginal CPA, so you can see which differences are real before you move money.

ChannelsCredited by model · last 90 daysIllustrative demo data

Click a column to sort. Ranges are 90% credible intervals: the model is 90% sure the true value lies inside.

Channels, credited by the model over the last 90 days, with 90% credible intervals
Google$137.8K90 active days17,560by the platform10,005689 – 17,74644%12% – 79%0.57×0.04 – 1.01$23.34$5.11 – $40.77$61.2$5.33 – $1002.3 daysdecay 0.7046%Room to grow
TikTok$146.8K90 active days8,235by the platform6,230424 – 12,80328%1.8% – 55%0.76×0.05 – 1.55$46.76$6.37 – $103$98.76$8.11 – $2083.4 daysdecay 0.7949%Room to grow
Meta$218K90 active days5,330by the platform4,871116 – 11,10321%0.5% – 48%0.91×0.02 – 2.08$116$9.95 – $252$239$10.2 – $5173.5 daysdecay 0.7949%Room to grow
LinkedIn$102.6K90 active days1,590by the platform1,58917 – 3,5137.3%0.1% – 17%1.00×0.01 – 2.21$192$9.08 – $428$374$10.29 – $8203.3 daysdecay 0.7949%Room to grow
  • 90% credible range
  • Best estimate
  • Platform claims well above the model's credit
  • Prior for every channel: platform-reported

How long an ad keeps working, and when more spend stops paying.

Carry-over: an ad's effect fades over days, so credit lands on the day it was earned, not the day of the click. Saturation: each extra dollar buys less than the last. Move along a curve to see what more, or less, would buy on each channel.

Carry-over & saturationDaily, by channelIllustrative demo data

Incremental conversions a day, by daily spend

Daily spend
$1,531
Today $1,531
Incremental conversions a day
111
90%: 7.7–197
Marginal CPA
$61.20
Cost of the next conversion
Saturation
46%
Room to grow

At today's spend, Google adds 111 conversions a day.

What drove each day.

The baseline and each channel's credited conversions, stacked day by day under what actually happened. The model refits every day, so a new flight shows up in the credit within days, not at the end of the quarter.

Contribution over timeConversions a day, credited by sourceIllustrative demo data

  • Actual
  • Baseline (non-media)
  • Google
  • TikTok
  • Meta
  • LinkedIn

Over the 90 days: 32,715 actual conversions; baseline 10,020; Google 10,005; TikTok 6,230; Meta 4,871; LinkedIn 1,589.

Analytics in one place.

Compare any two metrics across every channel and see where the next dollar works hardest. Connect Google Analytics 4 and the same views add on-site results for your ad spend: cost per session, on-site conversions and revenue.

Metric comparisonDaily, all channelsIllustrative demo data
vs
  • Spend: $605.3K in total
  • Conversions: 32,715 in total
Channel efficiencyMarginal CPA, lower is betterIllustrative demo data
  • Google$61.2$5.33 – $100
  • TikTok$98.76$8.11 – $208
  • Meta$239$10.2 – $517
  • LinkedIn$374$10.29 – $820

The next $1,000 a day buys about 16 more conversions on Google, against 3 on LinkedIn.

Turn the model into moves.

The attribution model gives every channel a marginal cost and room to grow. Medusa turns those figures into ranked moves, shows the numbers behind each one and waits for your approval.

  1. 01Reads

    Marginal CPA, range and room to grow per channel.

  2. 02Weighs

    Each move against your KPI target and live pacing.

  3. 03Recommends

    Ranked moves, each with its evidence and outcome.

  4. 04You approve

    Nothing changes in an ad account until a planner says so.

AI recommendations

From the attribution model · 5 channels · 6 actions · refreshed 22:17

Illustrative demo data
Top recommendation

Move budget toward Google, where the next dollar works hardest

Meta, LinkedIn to Google · budget

Google's next conversion costs $61.2, and its response curve still has 46% room to grow. The same conversion costs $239 on Meta and $374 on LinkedIn. Move $18,000 from Meta and LinkedIn to Google and you buy about 210 more conversions for the same spend, with Google still short of the point where its curve flattens.

What it read

  • Attribution model: Marginal CPA $61.2 on Google
  • Attribution model: Marginal CPA $239 on Meta, $374 on LinkedIn
  • Response curve: Google has 46% room to grow
  • KPI target: Target CPA $95, forecast $82 after the move
  • Pacing: Google at 97% of expected spend
Est. impact
+210 conversions
$18,000 to Google, same total spend
Priority
High impact
  • Budget reallocation
  • Google
  • Meta
  • LinkedIn

Next up

  1. Meta · measurement

    Narrower Meta range
  2. TikTok · budget

    Holds a $98.76 marginal CPA
  3. LinkedIn · budget

    $4,200 a week freed
  4. Google · search

    +68 conversions a week
  5. Meta · experiment

    Measured Meta lift

Read at 22:17

channels
5
weeks of history
104
response curves
5
KPI target
1

0 of 6 actioned

How the model works

From connected platforms to credit you can plan on, in 6 steps.

  1. Connect your platforms

    Google Ads, Meta, TikTok and LinkedIn sync spend and platform-reported conversions every day. Connect Google Analytics 4 to add on-site results.

  2. Add your business results

    Your true totals from the shop, CRM or finance. Credit is then measured against what actually happened, not the sum of platform claims.

  3. Separate baseline from media

    Each day's results are split into baseline (brand, word of mouth, seasonality) and each channel's contribution, with carry-over and saturation fitted per channel.

  4. Put a range on every figure

    Platform reports go in as priors and the data moves them. Credit, share, iCPA and marginal CPA all come out with a 90% credible interval.

  5. Recommend from marginal returns

    Budget moves follow what the next dollar buys on each channel, not its average cost, so money goes where it still has room to work.

  6. Refresh every day

    New data refits the model daily, so credit and recommendations keep up with the campaign while it runs.

Is this media mix modelling (MMM)?

Yes. Medusa runs a Bayesian media mix model on your daily spend and results. It estimates each channel's contribution, how long its effect lasts (carry-over) and where extra spend stops paying (saturation), and it refreshes every day.

How much data does it need?

It works from the daily data your connected platforms already hold. Around 90 days of spend and results gives useful ranges, and the ranges narrow as history builds and as spend varies between channels.

Why do ad platforms over-claim conversions?

Each platform counts every conversion it can link to its own ads, inside its own attribution window. A customer who saw a Meta ad and then clicked a Google ad is claimed by both, and people who would have bought anyway are claimed too. In the demo account the platforms claim 32,715 conversions; the model credits 22,695 to the ads.

What does a 90% credible interval mean?

The model is 90% sure the true value lies inside the range. A narrow range means the data pins the figure down. A wide one means treat it with care, or test it, before moving a large budget on it.

Does it need user-level tracking or cookies?

No. The model uses aggregated daily data: spend, platform-reported conversions, your business totals and, if connected, aggregated Google Analytics 4 reports. It never needs user-level, device-level or personally identifiable data.

How does it handle a new channel?

A new channel starts from its platform-reported results as the prior, with a wide range. As days of spend and results come in, the model learns the channel's own carry-over and saturation, and the range narrows.

Your next media plan starts in five minutes.

Connect a platform, upload a brief, and watch Medusa do the bit you used to dread.

Brief, Personas, Allocation, Flighting, Pacing, Approval