What is the difference between clicks and impressions?
A click is a measured action: someone interacted with your ad and arrived somewhere you control. An impression is a delivery event: your ad was served into a slot on a screen. Most measurement tools record only the first.
That asymmetry is why upper-funnel media so often looks unprofitable when it is not: a channel whose main contribution is impressions arrives in your reporting with almost no evidence attached, competes against channels that arrive with clean click data, and loses. Both are marketing touchpoints. Only one of them is easy to count.
What is an impression in marketing, precisely?
An impression is one instance of an ad being served into an ad slot, logged by the platform or publisher that served it. Two things it is not:
- It is not a unique person. Ten impressions can be one person seeing an ad ten times. Impressions are exposures, not reach, so the count always exceeds the number of people reached.
- It is not your data. It is logged inside the serving platform’s environment, not yours. Whether you ever see it at a user level depends entirely on that platform, and that dependency is the whole problem.
What is a click, and what does it actually prove?
A click is a navigation event. The user acted, the browser issued a request to a destination you control, and that request carried campaign parameters with it: usually UTM tags, sometimes a platform click identifier. Your own analytics receives the request, opens a session, and writes the source down. The visitor and the campaign context arrive together, in one event, on infrastructure you own.
What a click proves is narrower than it looks. It proves intent to look, at that moment, from that placement. It does not prove that the click created the demand rather than harvested it. A branded search click closing a six-week journey is well measured and mostly reflects a decision made earlier, somewhere less measurable. Click-based measurement is precise about the wrong end of the journey, which is the case for multi-touch attribution in the first place.
Clicks vs impressions compared
| Dimension | Click | Impression |
|---|---|---|
| Carries campaign parameters | Yes, in the navigation to your site | Yes, in the pixel request, where impression pixel tracking is permitted and implemented |
| Creates a first-party session you can see | Yes | No |
| User-level data available to you | Yes, on your own domain | Sometimes. Never from a walled garden |
| Typical volume | Low. Often well under 1% of impressions | High |
| Where it sits in the journey | Skewed to the closing end | Skewed to the discovery end |
| Cost of getting it wrong | Overcrediting the last channel in the chain | Underfunding everything that starts journeys |
The last row is the one that costs money, and the two errors compound: the same model that overcredits the closer underfunds the opener.
Why are impressions harder to attribute than clicks?
Because the carrier is different, and one of the two carriers sits outside your control. A click produces an HTTP request to your domain, which brings the campaign parameters, triggers your tracking script, establishes a session, and lets you tie a later conversion back to a source.
An impression sends nobody to your site, so on its own it writes nothing to your first-party store. There is no landing page and no session. The event happens inside someone else’s environment, so its campaign context has to reach you another way. Two routes exist, covering different platforms.
Impression pixels. A third-party pixel placed in the ad creative fires when the ad is served. Where pixel placement is permitted and implemented, that request can carry campaign parameters and normally does, precisely so the data is usable: which campaign, which ad group, which creative, and when. That is the most precise impression data available. It works on demand-side platforms that allow third-party measurement, including Adform, DV360 and The Trade Desk among others, but not on every platform and not in every placement.
Pixels also decay. They depend on identifiers browsers increasingly restrict, so Intelligent Tracking Prevention and Enhanced Tracking Protection erode coverage over time. Depending on market, audience and setup, some businesses might miss up to 50% of their data, and that applies to impressions as much as to clicks. Roivenue’s cross-device measurement that does not rely on third-party cookies is built for that constraint.
Platform-reported data. Where a pixel cannot fire, the only source is the platform’s own API, and what it returns is pre-aggregated. That is the walled garden problem.
So the distinction is not that clicks carry campaign parameters and impressions do not. It is that a click delivers the visitor and the parameters together, in one first-party event you own, whereas an impression’s campaign context reaches you through a pixel or through the platform’s API, never through a visit.
What are walled gardens, and why can’t click-only tools value that spend?
Meta, TikTok, Pinterest, Snap and YouTube do not permit third-party pixels to observe impressions served inside their systems, and they do not expose user-level impression data through their APIs. They will sell you the media and report on it themselves. They will not let an independent tool verify it at the level attribution needs. That produces two opposite distortions, and most teams live with both.
Your analytics undervalues the platform. A click-only tool sees Meta exactly once: when somebody clicks through. Every exposure that contributed without a click is invisible, so a journey where a TikTok video created the demand and a Google search closed it is recorded as a Google conversion. The mathematics is fine. The touchpoint was never in the dataset.
The platform overvalues itself. The platform’s own dashboard counts post-view conversions from data only it can see, and claims them. So does the next platform. Add the dashboards up and the total exceeds booked revenue: several platforms taking full credit for one sale, each internally consistent and collectively impossible.
So the spend most in need of independent measurement is the spend least able to receive it, and the share of budget behind impression-only platforms has not shrunk since we first made the case for valuing ads that were seen but not clicked. The commercial version of the argument is in upper-funnel tracking, the tactical version in how to assess top-of-funnel campaigns when platforms won’t share data.
How can impressions be attributed when the platform won’t share them?
Roivenue’s answer is a methodology called Synthetic Impressions, which reconstructs impression touchpoints for platforms that refuse to expose raw user-level data. It uses two datasets you already have: your first-party conversion and journey data from Roivenue Measurement or GA4, and granular platform-reported conversion data from the platform APIs, hourly and segmented by campaign, ad group and creative, which is what Roivenue’s 70+ platform integrations are for.
The logic is a matching exercise. If a platform reports a post-view conversion that can be matched to a conversion your own tracking recorded, an impression from that platform must have been served to that customer, and a synthetic impression is inserted into that journey. Matching is deterministic where a reported conversion links uniquely to one tracked conversion on shared values such as value, timestamp and ad group, and probabilistic where several fall inside the same time segment and are matched as a group on combined value. Unmatched reported conversions are discarded.

Two design decisions matter more than the matching.
Synthetic impressions are also generated for non-converting journeys. Fill them in only where a journey converted and those exposures look far more powerful than they are, because you have ignored every impression served to someone who never bought. So they are added to non-converting paths in similar proportion. This is the guardrail that stops the method flattering the platforms it fills in for.
Insertion is not attribution. A synthetic impression is a candidate touchpoint, not credited revenue. The attribution model decides how much it contributed, and an inserted impression can receive close to nothing. Platforms, by contrast, claim the full conversion. Your own conversions stay the source of truth: platform data enriches, it never overrides.
Where impression attribution falls short
Impression attribution involves modelling. Anyone selling you certainty about impressions is overstating, including any vendor whose deck has no slide like this one.
Availability differs by platform and by integration. Some platforms expose user-level impression data, some allow a third-party pixel, some allow neither. Coverage is uneven across the media plan and moves when a platform changes policy, so establish which of your platforms sit where before comparing channels on impression contribution.
It infers, it does not observe. For walled gardens there is no raw impression log anywhere in your system. The reconstructed touchpoint is an inference from a matched conversion, which is a different thing from a measurement, and should be labelled as one in reporting rather than blended silently into observed data.
Matching depends on your conversion values lining up. Conversion value is the primary matching key, so if platform-reported values and your own analytics disagree, matching quality degrades. Getting conversion tracking consistent across every platform is most of the implementation work. Lead generation is harder than ecommerce for the same reason: conversions without a value can only be matched on timing, and assigning distinct artificial values per event is a deliberate setup decision.
You lose creative and frequency detail. A pixel tells you which creative was served and how often. A reconstructed impression does not carry that resolution, so if frequency management is the decision you are making, a walled garden will not give you what you need, from anyone.
Modelled credit needs a validation method, not trust. Reconstructed exposure is an estimate, so check it against something outside the model: a holdout test, a geo experiment, or a media mix model run alongside. Attribution cannot tell you what would have happened if the ad had never run, which is why serious programmes run more than one lens rather than one model.
What changes once impressions are counted?
Upper-funnel spend gets repriced. Channels that never win a last click stop looking like cost centres and start showing up as the channels that opened journeys others closed. Orange saw this directly: once ad impressions entered the model, media that had looked marginal turned out to be driving the pipeline, and revenue doubled.
CTR stops being the upper-funnel KPI. Once you can see impression contribution, click-through rate is no longer needed as a proxy for whether awareness media is working, which removes the most common reason good brand campaigns get switched off.
Reallocation becomes defensible. “Meta looks better in our model” does not survive a CFO. “Here is the impression data, here is how it was reconstructed, here are its limits, and here is what changes if we move 15%” does. The candour about the limits is what makes the argument hold. If you have to make that case, the performance manager view is a useful place to start.
What to evaluate in a tool that claims to measure impressions
- Does it record impressions at all, or only clicks? Most tools are click-only, including the free one you already have installed.
- How does it handle platforms that block third-party pixels? If it uses their reported numbers as-is, you have bought the double-counting, not a solution to it.
- Is the method documented? If you cannot see how impressions are reconstructed, you cannot defend the output to a finance team.
- What happens to non-converting journeys? If nothing happens to them, the model is biased in favour of every impression-heavy channel.
- Does inserting an impression guarantee it gets credit? It should not, and a vendor that sells media as well as measurement has an incentive to say it does.
Frequently asked questions
One instance of an ad being served into an ad slot, logged by the platform that served it. It records delivery, and it is not a unique person: one person can generate many impressions, so impression counts always exceed the number of people reached.
Neither, and the framing causes the problem. Clicks are better evidence and worse coverage. Impressions are worse evidence and where most of the journey happens.
A model that counts only clicks is precise about the end of the journey and blind to the start.
An impression sends no visitor to your site, so by itself it writes nothing to your first-party store.
But where impression pixel tracking is permitted and implemented, the pixel request carries campaign parameters, normally including UTMs, precisely so the data is usable. Where pixels are not allowed, campaign context comes from the platform’s own API instead.
Because Meta counts post-view conversions from impression data only it can see, while your analytics counts clicks. Both describe real events.
The problem appears when several platforms each claim the same sale, which is why platform dashboards summed together usually exceed booked revenue.
Not observed directly, because they do not expose user-level impression data. They can be reconstructed by matching the conversions those platforms report against the conversions your own tracking recorded, then inserting an impression touchpoint into the matched journey.
That is a modelled touchpoint and should be treated as one.
It depends on format and objective, and comparing across them is misleading. Search ads show higher CTR because the user is already looking for something, while display and video are bought for exposure, so a brand campaign with a low CTR can be working exactly as intended.
Compare CTR only between similar ad types, and judge it against the campaign’s goal.
