The Flyer

Get the latest mobile trends and strategies straight to your inbox

Thanks!

CTV Measurement: Attribution to Contribution

CTV Measurement: Attribution to Contribution OG image
Gil Bouhnick
Gil Bouhnick
Director of Product
CTV Measurement: Attribution to Contribution OG image

Your connected TV (CTV) campaign looks like it’s flatlining, while everything else in the account looks fine. It’s tempting to conclude that your CTV campaign just isn’t working and cut it from the mix, but in reality it’s your measurement setup that’s not built to see what CTV is doing.

Nothing about CTV actually changed. The measurement just wasn’t built to see what CTV was doing, because it was applying last-touch, click-based logic to a channel that never had a click to log.

CTV drives awareness and intent that shows up later, on a different device, through a different channel. When that other channel gets the credit, CTV looks like it’s underperforming, even when it did the actual work.

Getting CTV measurement right takes two things working together: cross-device attribution and incrementality. One connects a TV impression to a real install or purchase. The other proves whether that install would have happened anyway. 

TL;DR

  • Last-touch attribution misses CTV because the channel rarely gets a click to credit, the conversion shows up later, on a different device.
  • Attribution assigns credit; contribution proves whether that credit was earned. Only incrementality testing answers contribution.
  • Multi-touch models beat last-touch for CTV but still depend on cross-device identity, which breaks at the CTV-to-mobile boundary.
  • AppsFlyer matches a CTV impression to a same-household install by IP; probabilistic, not deterministic.
  • Measure CTV in four layers: delivery, engagement, outcome, contribution. Only contribution holds up in a budget meeting.
  • A geo-holdout test can show a channel is driving real growth even when last-touch says it’s doing nothing.

What is CTV measurement?

CTV measurement connects what happens on a connected-TV screen to the business outcomes that follow on a different device: an app install, a web sign-up, a first purchase. It’s built from impression logs, video-completion data, household-level identity, and cross-device conversion signals from a phone, web, or app. Skip any one of those and you’re guessing instead of measuring.

CTV isn’t just another video format. It has household-level delivery, no cookies, fragmented inventory, and a weak click signal. That’s what makes the identity layer messy: the path from impression to conversion crosses device types with no shared identifier by default.

That gap is costing brands real money right now. IAB’s latest forecast puts US digital video ad spend at $80 billion in 2026, with linear TV’s share falling below 40% for the first time. That money is moving whether your measurement is ready for it or not, and without accurate attribution and incrementality, a real share of that spend ends up wasted or misjudged.

What’s the difference between CTV and OTT?

CTV is the device: a smart TV, a streaming stick, a console connected to the internet. OTT is the content delivered over the internet on top of that device. Mix them up and your inventory sources, identity signals, and attribution mechanisms all get confused, because they genuinely differ between the two. Keep the distinction between CTV vs OTT straight before you compare vendors or read results.

Why last-touch attribution falls short for CTV

CTV rarely gets a click. It drives awareness and intent that shows up later, and last-touch gives all the credit to the final touchpoint before a conversion. The work CTV did goes unseen.

Multi-touch, time-decay, and position-based models all beat last-touch for the multi-surface journey CTV kicks off, because they spread credit instead of dumping it all on the last touchpoint. None of them fully solve it. They all need a shared identity across devices, and that identity breaks exactly at the boundary between CTV and mobile. That’s the one boundary that actually matters here.

A better attribution model doesn’t close that gap; incrementality does.

Attribution vs. contribution: what’s the difference?

Attribution assigns credit for a conversion to a touchpoint. Contribution measures how much that touchpoint actually added. One is a credit-assignment question (attribution). The other is causal (contribution).

For CTV specifically: attribution tells you a household was exposed to an ad before converting. Contribution tells you whether that ad actually caused the conversion. You can only answer contribution with an incrementality test: a controlled experiment where the campaign is withheld from a holdout group, and the results compared against an exposed group. The gap in conversion rate is the real incremental lift.

Both matter, for different reasons. Attribution runs your day-to-day optimization, which creative is working, which publisher to scale. Incrementality answers the strategic question: is this channel actually driving growth.

CTV attribution methods compared

MethodStrengthsLimitationsBest for
Last-touch (click-based)Simple, deterministic, fastMisses CTV entirely, no click signalSingle-channel, click-heavy campaigns
View-through attribution (IP match)Connects a CTV impression to a mobile conversion without a clickProbabilistic, household-level, not individualCTV-to-mobile attribution
Multi-touch attributionDistributes credit across digital touchpointsRequires shared identity across devices; breaks at the CTV/mobile boundaryComplex digital journeys with a consistent ID
Incrementality (geo-holdout, ghost bidding, PSA)Proves causal lift; works without individual-level identityRequires real experiment design and enough volumeContribution measurement, CTV budget defense

How CTV attribution actually works

Here’s how CTV attribution works using AppsFlyer. 

An ad displays on CTV. The moment it plays, an impression URL carrying the device’s IP fires to AppsFlyer automatically.

A mobile device in the same household installs and opens the app. That first-launch event comes in too.

AppsFlyer matches the impression and the install by IP, inside a configurable view-through window with a 24-hour minimum. It’s a probabilistic match, not deterministic: there’s no click in this flow, and deep linking is deliberately disabled on the CTV OneLink template, because the match itself is IP-based, not a deep-link handoff.

An ad for an app displays on CTV and fires a URL impression to AppsFlyer; a subsequent of that app results in the impression and install data being matched by IP.
CTV attribution with AppsFlyer works by matching impression and install data by IP in a probabilistic match.

A meaningful share of CTV conversions don’t happen instantly. CTV data from Moloco shows that 66% of installs land within 6 hours of exposure, with real volume still arriving after that window closes. Cut your lookback window too short and you’ll understate what the channel actually did.

Playtika’s a good example of a team that wouldn’t move on CTV without this in place. Their growth team wouldn’t add a channel without a way to measure it, full stop, and CTV only made the roster once AppsFlyer’s CTV-to-mobile solution gave them a way to run campaigns, analyze them, and compare them against every other channel. They’re still tuning media mix and lookback windows now. 

The core CTV metrics to measure

Most CTV metric lists stop at delivery, but it’s far more useful to split your metrics into four layers to get the full picture.

  1. Delivery tells you the campaign ran as planned: impressions, unique households, frequency per household, and viewable-impression percentage.
  2. Engagement tells you how the ad performed in the moment: video completion rate (VCR), the 25/50/75/100% quartiles, and interactive-ad engagement.
  3. Outcome gives you the standard performance numbers: attributed installs, site visits, CPA, and ROAS. These are exactly the numbers last-touch gets wrong for CTV, for every reason already covered.
  4. Contribution is the one that survives a budget conversation, as it shows incremental lift. How much of that outcome layer would have happened without the campaign? You only get there with an incrementality test.

Incrementality: proving CTV’s true contribution

Say a brand runs a CTV campaign for four weeks alongside paid search and re-engagement campaigns. Last-touch shows paid search driving most conversions, re-engagement claiming most of the rest. CTV shows almost nothing, because it rarely gets the click that closes a conversion. On the dashboard, CTV looks like it’s not working.

That same brand is also running a geo-holdout in parallel: one set of regions sees the campaign, a matched group doesn’t. By week four, the exposed regions show a measurably higher conversion rate than the holdout. The campaign is generating real net-new revenue the whole time. The last-touch dashboard just isn’t built to see it.

Incrementality creates two matched groups, one exposed to an ad and one as a holdout.
Incrementality compares user activity across an exposed group and a holdout group, to show what lift was truly driven by ads versus what would have happened anyway.

Geo-holdout is AppsFlyer’s native method of incrementality testing; other industry options include ghost bidding and PSA (public service announcement) control. All methods of incrementality can inform CTV frequency and saturation, or how much CTV is too much.

That’s the actual value of incrementality here. A channel can lose the last-click battle to lower-funnel campaigns and still be driving genuine, net-new growth. Incrementality is what proves it, in a budget meeting, not just on a dashboard.

Unified measurement: tying CTV to web and mobile

A flat last-touch read on CTV is usually a sign you’re missing a layer, not a signal that the channel failed. A few problems unified measurement actually solves:

The ad platform’s number isn’t neutral

CTV publishers have an obvious interest in showing strong performance, and self-reported lift comes from the party with the most to gain from a favorable result. Incrementality testing gives you a holdout group no ad platform can produce for its own inventory, a read on what would have happened without the campaign, from a layer with no stake in the outcome.

Knowing a conversion happened downstream isn’t enough

Cross-device attribution connects CTV, mobile, and web, and shows you exactly which impression, creative, and publisher led to that outcome. That’s the difference between a correlation and an answer.

Your CTV ROAS shouldn’t live in a separate spreadsheet

Measure it in its own silo, apart from paid social and search, and every budget conversation becomes apples-to-oranges. Put ROI measurement on the same attribution infrastructure across every channel, and CTV gets calculated the same way as Meta. AppsFlyer’s own CTV Attribution customers see a 4x increase in ROAS and a 20% lift in LTV once that infrastructure replaces last-touch alone. That’s the actual cost of staying on last-touch for this channel.

Conversions alone don’t tell you who’s worth keeping

A CTV user who converts once and disappears is a different outcome than one who becomes a long-term subscriber. Marketing analytics on CTV-attributed users shows you LTV, retention, and downstream purchase behavior, not just who converted.

How do you choose a CTV measurement tool?

Four things decide this: data sources, identity resolution, cross-device reach, and incrementality support.

An MMP makes sense when CTV is one surface in a cross-channel setup that includes mobile and web, because it connects the CTV impression to a downstream install or event using the same infrastructure as every other channel, and most provide native incrementality testing. 

A demand-side platform (DSP) with a measurement layer works for delivery optimization inside that one buying platform, but can’t cover gaps to mobile or in-app events outside its own ecosystem. 

A measurement pure-play like Nielsen, iSpot, or Comscore is built for audience measurement and linear/CTV deduplication at the brand level: good for reach and frequency planning, not built for attributing a specific install or purchase.

Before you commit, evaluate the following. Can they deduplicate conversions across CTV and mobile, or do they report each surface independently? Is incrementality testing native, or a managed third-party service? How do they resolve identity across devices without a shared cookie or user ID? What’s the minimum and maximum lookback window for view-through attribution, and is it configurable? And can they connect a CTV impression to an in-app purchase, or only to an install?

That last one matters more than most teams realize. An install is a signal. Revenue is the outcome. Stop at the install and you’re missing the number that actually shows what the campaign was worth.

Putting it together: a CTV measurement checklist

Once you’ve settled on a tool or vendor that meets your needs, it’s time to get your CTV measurement up and running. Run through the steps below, making sure you don’t just stop at attribution.

Before the campaign launches

  • Define your KPI hierarchy in order: delivery → engagement → outcome → contribution. Know which metric you’re using to optimize in-flight, and which one you’ll use to evaluate the channel’s true impact.
  • Confirm your attribution setup: impression URL firing, view-through attribution (VTA) lookback window configured, deep linking disabled for CTV.
  • Design your incrementality test before the campaign starts. Define holdout regions and send them to media partners before the first impression runs. A test you design after the campaign is already underway can’t produce a clean result.

In-flight

  • Consider both endpoints: the impression (CTV device IP, via impression URL) and the conversion (MMP SDK or server-to-server for installs and in-app events).
  • Don’t optimize on last-touch attribution data for CTV. Monitor delivery and completion as leading indicators; save the attribution read for post-campaign.

Post-campaign

  • Report delivery, attribution, and incrementality results separately. They answer different questions and should be read that way.
  • Before deciding to scale or cut: put the last-touch attribution result next to the geo-holdout result. If they diverge significantly, and for CTV, they often do, trust the holdout.

The measurement your CTV budget actually needs

Last-touch was built for a click-based world. CTV isn’t that world. What this calls for is a contribution model: cross-device attribution plus incrementality, together.
The question CTV measurement needs to answer is simple: did this campaign drive growth that wouldn’t have happened without it? That’s contribution — and it’s the only way your CTV numbers hold up when someone asks what the spend actually bought.
Request a demo of AppsFlyer’s CTV Attribution to see cross-device attribution and incrementality working together on your own CTV mix.

Frequently Asked Questions

Gil Bouhnick

Gil Bouhnick

Director of Product

Gil Bouhnick is the Product Director leading privacy-preserving attribution at AppsFlyer. With over 20 years of experience as a seasoned product entrepreneur, he has led the development of successful B2B and B2C products for both large global companies and early-stage startups.

Ready to start making good choices?

Background
Ready to start making good choices?