CTV-to-mobile app view-through attribution for ad networks

At a glance: Attribute mobile app installs to ads viewed on CTV devices.

CTV-to-mobile app attribution for ad networks

With AppsFlyer cross-platform impression URLs, you can attribute mobile app installs to ads displayed on CTV. Multiple installs within the same household can be attributed to the same CTV ad impression.


CTV-to-mobile app view-through attribution uses a OneLink impression URL based on a cross-platform OneLink template (with a template ID) created by the advertisers. This lets advertisers group multiple apps from different platforms (for example, both Android and iOS apps) using a single URL.

When users view the ad on CTV, you send AppsFlyer the impression URL in real time. 

Example URL:


Postbacks are sent to you after each conversion.


To set up CTV-to-mobile app view-through attribution with an advertiser:

  1. Make sure you're an AppsFlyer integrated partner, that you have postbacks properly set up, and that you've tested your CTV-to-mobile app integration with AppsFlyer.
  2. Make sure the URL has the mandatory parameters, as well as any other parameters you want.
  3. Send AppsFlyer the user IP address and user agent. These are required for CTV-to-mobile app view-through attribution. They can be sent either:
    1. As the af_ip and af_ua parameters on the impression URL.
    2. As <X-Forwarded-For> and <User-Agent> parameters in the headers of the request.

Test partner integration

To test CTV-to-mobile app view-through attribution:

  1. Use the following test apps: com.appsflyer.android.deviceid and id1192323960
  2. Contact the AppsFlyer Partner Solutions Team to receive a test URL (log in to your partner dashboard, and click Help > Contact our team).
    • Sample URL: https://impressions.onelink.me/dfHa?pid=partner_int&c=test_1&af_xplatform=true&af_xplatform_vt_lookback=24h&af_ip=MACRO&af_ua=MACRO&redirect=false
  3. Confirm your partner ID in the pid parameter is correct.
  4. Enter your IP address for the af_ip parameter.
  5. Enter your user agent for the af_ua parameter.
  6. Enter the URL into a desktop browser.
  7. On your mobile device, go to the app store, and download, install and launch the app.
  8. A new install should display in AppsFlyer and you should receive a corresponding postback. If you don’t see the install or get the postback, contact the Partner Solutions Team.


The following parameters are used to provide attribution data and measurement for the advertisers.

Parameter Mandatory Description
template_ID The ID of the OneLink template. The template contains basic prediction settings for the advertiser apps, and is the basis for creating other links.

The partner identifier, allocated by AppsFlyer to the media source (ad network) placing the ad.

  • Set by the advertiser to indicate whether the link supports cross-platform attribution.
  • Values: true/false
af_xplatform_vt_lookback -

Configurable window that indicates the number of hours following the impression during which the app install can be attributed to the impression. Available parameter values: 1h - 72h (hours). The default is 24h.

  • The IP address of the CTV device that displays the ad.
  • If the IP address isn't sent in the URL, it must be sent in the headers of the request so AppsFlyer can be able to perform CTV-to-mobile app attribution.
  • The user agent of the CTV device that displays the ad.
  • If the user agent isn't sent in the URL, it must be sent in the headers of the request so AppsFlyer can be able to perform CTV-to-mobile app attribution.
af_source_platform -
  • A set list of values to represent the operating system where the impression occurs.
  • Values:
    • android
    • ios
    • tizen
    • webos
    • smartcast
    • roku
    • windowsphone
    • vidaa
    • PlayStation
    • smartcast
    • website
af_source_device_category -
  • A set list of values to represent the device type where the impression occurs.
    • tv
    • mobile_phone
    • desktop
    • tablet
    • set_top_box
    • game_console
af_engagement_type -
  • Represents the level of engagement of the user with the ad.
  • We recommend you send a regular impression URL when the ad displays, and another impression URL with af_engagement_type=engaged_view after the user views the ad for 10 seconds (or 5 seconds for shorter videos).

Other parameters that can be added to the URL can be found in the attribution link structure and parameters article.

Traits and limitations

Trait Remarks
Attribution window Between 1-72 hours, depending on the lookback window parameter af_xplatform_vt_lookback
  • Re-attribution: Supported for cross-platform-to-mobile. Not for other platforms.
  • Re-engagement: Not supported
Attribution method View-through attribution using probabilistic modeling (IP address)
Household attribution Supported. Meaning multiple installs within the same household can be attributed to the same CTV ad impression.
Test partner integration Not available for ad networks that have been flagged for high rates of mobile app-to-mobile app fraud or are affiliated with different flagged media sources.