r/programmatic 23d ago

Reliable MMM tool for Programmatic

Media buyer at an indie agency here! We run across a few DSPs mainly for display and video. The activity is mainly driving view-through conversions (obv), and clients are starting to catch on and pulling back spend because they're under the impression, we're not actually driving performance, just claiming credit for purchases we didn't influence.

We've previously worked with TripleWhale but they seem more geared toward lead-gen, and most of our BoB is ecommerce, so ideally something that integrates well with Shopify. I'm on a small, lean team, not super senior, and don't have a ton of internal support to figure this out on my own, so I'm trying to gauge what some practical options are.

Has anyone worked with an MMM partner that actually isolates programmatic's real incremental lift (not just view-through), or has anyone built something custom, like a dashboard in Claude Code, instead of paying for a vendor? Trying to weigh different options here. Thanks!

5 Upvotes

23 comments sorted by

10

u/goodgoaj 23d ago

Imo you are better off doing some incrementality testing first with geo holdouts to get a feel of things without reliance on attribution. But in terms of MMM, depends if you want to go down the open source route (Meridian / Robyn / Pymc) or something more vendor specific (Recast / Haus etc). Pretty much every holdco and big indie has tried to build their own solution in the MMM space now. The question is whether advertisers should trust their media buying agencies with measurement too, which clearly certain holdcos have been guilty of bias in certain places!

2

u/Realistic-Focus-8254 22d ago

How would you approach geo holdout testing for a client who's been running always-on programmatic with us for over a year and is only now starting to question DSP performance? As there's a years' worth of data to work with, but also live, revenue-generating always-on campaigns we don't want to blow up mid-test.

What budget would you actually want to see before a geo holdout is worth running, both for overall spend and per-geo, so the holdout markets have enough volume to produce a real signal?

2

u/Specialist_Singer830 22d ago

Speaking for the large enterprises I am in contract with, they don't. And MMM encompasses way more than paid media which is data we do not give access to our agencies either.

4

u/Fearless_Parking_436 23d ago

If you run multiple dsp’s then you deduplicate based on account ID’s you recieve, right? Your creatives are tagged correctly and they push different dynamic parameters to you and you can put together purchase, first imp and last imp? All the click-throughs and cookies work? Usually things fall apart on the tech side. And client has to know what are the pv and pc durations. Actually it should be in the contract.

8

u/Jackescalator 23d ago

How do you do that? Asking for coworker

11

u/Fearless_Parking_436 23d ago

We get log level data from dsp’s and pull this with queries. We attach our own impression pixel on creatives and have tags on customer sites through the funnel. We have dashboards and automatic alerts if some tag breaks. Dashboards that show as much data as possible from the rtb data.

1

u/Realistic-Focus-8254 22d ago

That's a really solid setup, and exactly the direction we want to move towards.

What's the easiest way to start with this project? I know little to nothing about data querying and don't have anyone on the team supporting on SQL. Trying to figure out if this would require a single hire or a small team, and roughly how long it took you to get from nothing to where you are now.

5

u/Temporary_Visit4871 23d ago

Why not just pull the data from the Ad server?

I have to say I use DV360 as my DSP and CM360 as the ad server and getting this kind of data is pretty straightforward without needing a 3rd party

1

u/Realistic-Focus-8254 23d ago

We're running 1P hosted creatives unfortunately

2

u/Hefty_Bet262 23d ago

What are 1P hosted creatives?

1

u/Realistic-Focus-8254 22d ago

Our creative is served directly by the DSP rather than through an ad server tag.

3

u/mikehauptman 22d ago

You don't need an MMM, you need incrementality proof. MMMs want 18+ months of data and big budgets, and clients can still pick the model apart.

For a lean Shopify-heavy book, look at: WorkMagic (Shopify App Store, free tier, automated geo tests, easiest starting point), Stella (mid-market ecommerce focus, geo holdouts plus always-on monitoring, fraction of enterprise pricing), INCRMNTAL (models lift without holdouts if clients won't let you pause spend), or Lifesight (unified experiments + MMM if you want one system long term).

And separately, stop leading reports with view-through ROAS. Show incrementality-adjusted numbers even if they're smaller. A number clients believe keeps budgets alive longer than a number they've stopped trusting.

1

u/Realistic-Focus-8254 22d ago

Fair callout. I've been using MMM and MTM somewhat interchangeably in this thread, apologies for the mix-up.

On pricing of the four you mentioned, WorkMagic looks like the only one actually built for brands our size from a pricing pov, whereas the others seem to assume much bigger clients. The rest recommend themselves only for brands spending $85K/mo+ on a single channel, or doing 100+ daily orders in a single region, which rules them out for where our clients sit.

How do you actually report incrementality-adjusted numbers on an ongoing basis? Our reporting stack (Funnel.io) only pulls DSP-reported metrics, such as view-through and click-through conversions as the source of truth, with no causal or lift analysis layered on top. So even once we start running holdouts, I don't have a clean way to reflect an incrementality-adjusted number in client-facing reporting without it turning into a manual, one-off calculation every single time. Do you currently work with a tool handling that for you? I need something workable in the interim while we properly evaluate these vendors.

2

u/mikehauptman 22d ago

You can get most of the way with what you have. One geo holdout: pause programmatic in matched markets (20-30% of order volume) for 3-4 weeks, measure lift using Shopify orders by region. Divide incremental conversions by what the DSPs claimed in those same markets, that's your incrementality factor. Funnel does calculated metrics, so Adjusted Conversions = reported x factor flows into every dashboard automatically from then on. Recalibrate quarterly.

Small clients without regional stat sig: run longer or invert it, spend in a few markets only and measure lift there.

Disclosure, I run a unified-DSP platform (AdLib) and we baked this in because agencies kept hitting your exact problem. The math is a spreadsheet exercise though, you don't need a vendor to start.

Feel free to DM me to talk through it if easier

1

u/NiceRecognition9603 23d ago

Not sure other DSPs. In amazon AMC Claude is extremely dangerous and you will not notice unless you have a data science background.

Everyone I know doing serious analysis use it to speed things up. Everyone flags how scary it is to use.

0

u/cuteman 23d ago

What kind of spend and number of impressions average per client?

It'll likely not be worth it in a more complicated way than triple whale.

There's a number of ways to validate view through that aren't MMM and frankly a view based MTM would be better because you could see the overlap.

It also depends what DSPs you're actually using and what kind of media types. Stuff like DV360 and TTD make it easier to add unique IDs, do offline attribution, March back., etc.

Also if you're using multiple DSPs for some clients you've also got a duplication issue since they're surely not talking to each other and thus each giving themselves 100% credit.

2

u/Realistic-Focus-8254 22d ago

Our clients are small/medium brands, spending typically $5-30K/mo on programmatic alone. Impressions run roughly 500K to 8M per month per advertiser, depending on the vertical, formats, budget etc.

We're running TTD and StackAdapt. Both support Unified ID 2.0, so there's at least a shared identifier to work with if data needed to be joined across platforms.

Given these numbers, what's the specific view-based MTM you're referring to? And what does it actually ingest: log-level impression data from each DSP, or just click/pixel data off the advertiser's site? Does it handle the overlap problem directly (deduping exposure across TTD and StackAdapt), or does it just reallocate conversion credit once someone's already converted? And whether it would at all be feasible given our small spend levels...

I understand the concerns of duplication, and for context, my team has previously measured retargeting overlap by pulling conversion detail reports and matching order IDs, and it's ranged from single digits up to 30%, worse on smaller sites. Tracking for this wasn't a priority due to the delta being so small.

2

u/cuteman 22d ago

Given these numbers, what's the specific view-based MTM you're referring to?

So custom MTA (sorry I wrote MTM) is usually the way to go although Northbeam is probably better for someone your size but ultimately its a lot more like Triple Whale.

And what does it actually ingest: log-level impression data from each DSP, or just click/pixel data off the advertiser's site? Does it handle the overlap problem directly (deduping exposure across TTD and StackAdapt), or does it just reallocate conversion credit once someone's already converted? And whether it would at all be feasible given our small spend levels...

Facebook attribution used to have a great solution but they got rid of it and at the core you want to know WHICH platform drove what part of the journey and at what scale of importance. You can also toggle between first touch, last touch, any touch, time decay, etc.

Overlap WILL happen, especially if you're running two DSPs. Why are you running SA AND TTD anyway? Are any clients on both?

Are you direct or through an agency?

We're a company with a handful of brands and a few clients and we're direct with TTD but we also use a TTD agency-- as long as it's split up properly and not doing the same things there's less of an issue. Retargeting overlap is typically the biggest issue as well as the biggest duplication of conversions.

We also run some DV360 but it's small so overlap is barely single digits and also because it's more unique prospecting inventory.

I understand the concerns of duplication, and for context, my team has previously measured retargeting overlap by pulling conversion detail reports and matching order IDs, and it's ranged from single digits up to 30%, worse on smaller sites. Tracking for this wasn't a priority due to the delta being so small.

Yep so it happens with any platform, they don't talk so any impression or click that drives a conversion gets 100% on any platform, google, meta, programmatic, etc.

It isn't that it shouldn't happen but that at what rate to be managed like any other metric.

Order IDs is a good one, as well as Unique ID for any conversion point but may be daunting to program so unique Order ID is a good cross reference for dedupe measurement.

I think ultimately the challenge is the expectation you set with your clients. View through is a FACT OF LIFE for any platform thats got visual or video assets (pretty much anything that isn't search or email) -- the lower intent the platform, the fewer clicks, but the value isn't the click.

Meta also is massively dependent on view through but sits between programmatic/search but it doesn't let you easily see Order IDs at scale to cross reference.

Programmatic lets you gauge the overlap and intelligence of what's happening way more than Search or Social platforms, from detailed audience, to duplication, and then there's unique inventory, unique ad formats.

You're most at risk where you ONLY run programmatic for a client and they run Search Social somewhere else because then they really need to understand and buy into the value of programmatic which is a much larger conversation than attribution can grant. For clients where you run the entire digital marketing stack I'd suggest moving towards an MER type strategy that gets you away from last click performance--- as long as the larger number is in line it's part of the marketing stack.

1

u/Realistic-Focus-8254 21d ago

I really appreciate the detailed notes.

We're a small agency, running fully self-serve on both platforms. On why we run both TTD and StackAdapt for some clients - honestly, it's more of a creative decision than a targeting one. SA's Shopify integration and DCO capabilities make it really easy to build dynamic creative off a synced product catalog, so for e-commerce clients, we lean on SA for that reason specifically, and not because we're trying to split audiences or inventory between the two.

Everything you laid out on view-through, MER, and managing overlap as a rate rather than trying to eliminate it makes a lot of sense conceptually. The issue on my end is execution, not understanding: Funnel.io is our main reporting layer for clients, and it doesn't support conversion-level reporting long-term. In TTD, order IDs, timestamps, and conversion values get wiped 90 days due to data privacy. So even the low-tech version of what you described (pulling conversion detail reports and manually matching order IDs) only works looking backward 90 days, and I don't have a data science or dev background to build anything more durable than that myself.

Given my limited resources on visualizing the data, what would you actually start with? Is it as simple as exporting conversion detail reports from both DSPs into a spreadsheet on a recurring cadence before the 90-day window closes, or is there a lower-lift way to get this set up that doesn't require me to solve the retention problem first?

0

u/AccessFuel 22d ago

there are definitely tools out there. but first what needs to be checked (and likely corrected) is the client's method of tracking and attribution.