Why Paramark Uses Impressions, Not Clicks, in Your MMM
Last updated: September 17, 2026
You've probably looked at your MMM at some point and wondered: "why are we using impressions as the input here? Wouldn't clicks be a better signal?" It's a fair question, especially if you've spotted noisy or inflated impression data in a channel like Shopping or programmatic audio. Impressions can feel fuzzy compared to the click and conversion metrics you live in day-to-day.
The short answer: MMM uses impressions because clicks would systematically undervalue your most important marketing. This article walks through why, what the model actually does with the impression signal, and what to do if you're seeing impression-quality issues in a specific channel.
What MMM actually does with impressions
The thing to know upfront: your MMM doesn't treat impressions as a literal "this many people saw your ad" exposure count. It treats impressions as a channel-specific volume signal that gets normalized and shaped by the model.
What that means in practice:
The model fits a separate response curve for each channel (Meta, YouTube, Shopping, Branded Search, etc.) to learn how that channel's volume relates to your target metric. Variability inside a channel, like a Shopping ad serving 10 listings per query or a YouTube audio ad delivering cheap impressions, gets absorbed by the model's saturation and adstock modeling. The model isn't measuring "exposures = effectiveness." It's measuring the relationship between that channel's signal and your business outcomes over time.
A 10x impression count on Shopping ads doesn't mean the model thinks Shopping is 10x more effective. The model has learned Shopping's specific response pattern from your historical data and isolated that channel's contribution accordingly.
This is why "the impression count seems wrong" is rarely a model problem on its own. The model is more flexible with impression variability than the intuitive read of those numbers suggests.
Why clicks would actually make your MMM worse
There are two reasons clicks are the wrong input for an MMM, even in cases where impressions feel noisy.
Clicks systematically undervalue brand and upper-funnel work
Clicks measure people who acted on the ad, not people who saw the ad. That distinction is fine for bottom-of-funnel direct response, but it breaks down for almost everything else in your marketing portfolio:
TV, CTV, and online video have no clicks
Podcast and audio have no clicks
OOH and brand display don't treat clicks as the goal
Great-but-low-CTR creative on paid social would look like a failure
If your MMM ran on clicks, it would systematically tell you to cut the channels and creative that build long-term demand, because those don't generate clicks at the same rate as direct-response performance ads. You'd end up with a model that's biased against full-funnel marketing from day one. That's not a measurement choice you can recover from. It bakes the bias into every readout.
Clicks measure a narrower audience
Even within channels that do drive clicks, the clicker population is a small slice of the people exposed to the ad, the people already most willing to engage. Building a model on clicks means modeling that narrower audience, not the broader audience your marketing actually reaches and influences. For brand-building work, that's exactly the wrong slice to optimize against.
The summary: clicks would make your MMM measure something narrower and harder to act on. The model would be telling you a smaller story about a smaller audience.
What to do if your impression signal looks noisy
Here's the thing: the underlying concerns that lead customers to ask about clicks are usually real. The fix is structural, not a unit-of-measurement change. Three of the most common situations.
Shopping ads inflating impressions in your Branded Search bucket
Google Shopping ads register an impression for each product listing shown, so a single user query showing 10 product listings reads as 10 impressions in the data, even though it's only one search. If Shopping is grouped with regular Branded Search in your MMM, that inflation flows through.
The fix: break Shopping out as its own channel. The model fits Shopping a separate response curve, the inflation gets isolated to its own bucket, and your Branded Search read becomes cleaner. This is a granularity decision, not a methodology change.
Audio or video formats with very different impression quality inside the same channel
A common version: YouTube channels where audio ads (no visual) are served at much lower CPMs than video ads, but both flow into the MMM as "YouTube" impressions. The cheap, noisy audio impressions can dilute the read on the channel as a whole.
The fix: either break audio out as a sub-channel (so it doesn't pollute the video read), or switch the channel input from impressions to spend. Spend is a cleaner volume signal when impression quality varies meaningfully within the channel. This is something we do routinely for channels with mixed-format inventory.
Campaign-level data leakage between channels
The hardest-to-spot issue: campaigns being misclassified at the data layer. PMAX campaigns leaking branded queries into your Non-Brand bucket, brand creative tagged as DR, agency campaign IDs that don't match the taxonomy your model expects. These show up as wild swings in cost-per-incremental metrics that look like the model is broken when it's actually reading distorted inputs.
The fix: investigate the campaign categorization at the data layer before the next refresh. Move PMAX to its own channel, fix the taxonomy mapping, clean up any leakage. The strange cost-per metrics typically resolve on their own once the inputs are clean. Switching to clicks would hide this issue rather than fix it: you'd be papering over a data problem with a methodology change.
Influencer or organic-style channels where one platform dominates the total
A pattern we see in influencer and organic social programs: a strategy shift moves heavy activity onto one platform (often X/Twitter) where impressions are abundant and cheap, while spend doesn't shift in the same proportion. The channel's total impression count gets dominated by the high-volume platform, and the per-impression value of the channel as a whole appears to drop sharply, even though the underlying performance hasn't fundamentally changed. We've seen this concretely: a customer running heavy influencer programs had X account for roughly 60% of their total influencer impressions after a strategy shift, which materially distorted the channel's read in their MMM and made lower-impression months look weaker than they should have.
The fix: there are two paths depending on the situation. If the platforms have meaningfully different effectiveness (X reach vs. Instagram engagement, for example), split influencer by platform so each gets its own response curve. If the shift is recent and structural, your Growth Advisor can flag it as a major strategy change so the model evaluates whether to split the channel into pre- and post-shift periods. Both options work; the right one depends on how the program is being managed and how the platforms differ in your business.
Channels where impressions are estimated rather than directly measured
Some channels report "impressions" that aren't directly measured. They're estimated from things like daily reach × flight days (OOH billboards), vehicular impression models (out-of-home), pixel-based measurement on streaming audio, Tatari-style estimation on Linear TV, and similar approaches. These estimates can be reasonable, but they're prone to methodology drift, especially when impressions get spread across flight windows or when the methodology changes between vendors. We've seen 10–20x discrepancies between two reasonable interpretations of the same OOH reach file when the daily-reach figure was multiplied differently across the campaign window.
The fix: for these channels, switching the input from impressions to spend is often the cleanest move. Spend is directly measured and doesn't carry the same estimation risk. Many MMMs use spend-based modeling for OOH, DOOH, Linear TV, and out-of-platform audio for exactly this reason. Your Growth Advisor will let you know which of your channels falls into this bucket and recommend the cleaner approach.
Channels without impression data at all
Some channels don't have impression data at all. Affiliate programs are typically billed per-lead, direct mail is measured by piece count, content syndication is priced per placement, and sponsorship deals are usually priced per buy. These channels can absolutely be modeled. You just need to feed the model a different volume signal.
The fix: use spend (or piece count, mail sends, post count, etc., depending on the channel) as the input variable. The MMM doesn't require impressions; it requires a measurable volume signal that varies over time. We model affiliate, direct mail, content syndication, sponsorships, and partnership programs this way for many customers, and the channel still gets a fitted response curve and a clean read on its incremental contribution. For one customer with a heavy offline portfolio, around two-thirds of their channels are modeled on spend rather than impressions, and the model performs well across the whole portfolio.
When a live data feed cannot provide the same exposure metric you used manually
A practical version of this comes up when a team has been sending one metric manually — for example, unique clicks from an affiliate or partner platform — but their live connector or ETL tool cannot export that same field. This is especially common in affiliate setups where a platform may expose impressions and total clicks in the API or connector, but not the exact unique clicks field the team previously used in manual sendovers. In that situation, the right question is usually not "can we preserve the exact old metric at all costs?" It is "what volume signal can we source reliably and consistently going forward?"
The fix: prefer the metric that can be delivered cleanly and continuously in the live feed, as long as it is directionally aligned with the channel's real activity and stays consistently defined over time. For many affiliate or partner channels, that means using clicks, impressions, or even spend depending on what the platform actually supports. A slightly less ideal metric that is stable, automated, and historically consistent is usually better for MMM than a theoretically preferred metric that only exists in one-off manual exports.
If you're considering a swap like unique clicks → impressions, the key checks are straightforward: does the replacement metric have enough historical coverage, does it move in the same general direction as the channel's delivery, and does the change reflect a true data-availability constraint rather than a desire to optimize the story? If yes, the next step is usually to review the channel with your Growth Advisor and decide whether the cleaner long-term input is impressions, total clicks, or spend.
The important principle is simple: MMM needs a stable signal more than it needs one specific field name. When an automated source cannot provide the manual metric you used before, the best replacement is the one that is durable, interpretable, and least likely to break again during future refreshes.
Sudden impression spikes from a new low-CPM campaign within an existing channel
A more subtle version of the channel-level distortion problem: a new campaign with anomalously cheap impressions launches inside an existing channel bucket and flood the channel's monthly impression count. The impressions are real, but the channel is now doing different work than it was before, and the model can't tell the difference unless someone flags it. We've seen this concretely with display remarketing campaigns added to an existing "display other" bucket, where monthly impression counts jumped 10x and made the model overfit to that channel's apparent volume change.
The fix: either break the new campaign out as its own bucket so the original channel's signal stays stable, or flag the change to your Growth Advisor as a major strategy shift so the model can be told to handle it. Either approach works. The wrong move is to leave the channel composition mixed and assume the model will figure it out on its own.
When in doubt, talk to your Growth Advisor
If you're seeing something in your MMM that doesn't pass the smell test, like a CPN that spikes 14x, a channel coefficient that swings unexpectedly, or an in-platform read that diverges sharply from the model, that's a signal worth investigating, not a signal to change the input variable. Almost always, the cause is in your data layer (a campaign taxonomy issue, a missing data source, a bucketing change in your reporting) rather than in the model methodology.
Your Growth Advisor can walk you through what's driving the specific number you're seeing, whether it's a structural data fix, a channel breakout decision, or a real signal worth acting on. That's a faster and cleaner path to confidence than rebuilding the model on clicks.
Want to learn more?
How to think about your MMM channels: a strategic guide — the umbrella article on what's in your MMM and how it's structured
How granular should your channels be in your MMM? — when to break Shopping, PMAX, or audio out as their own channels
Why MMM Results Change Month to Month — many of the spikes that lead customers to ask about clicks have other explanations
Why in-platform results differ from Paramark's MMM — for the broader question of why MMM and platform numbers diverge
Want to learn more about MMM? Check out other Paramark MMM articles here.