Attributing TV ad campaigns

At a glance: Attribute mobile users to TV ads aired in specific locations and at specific times.

Attributing TV ad campaigns

Advertisers running install ads on TV can define the timeframe (in minutes) they want organic installs from a specific GEO or city (optional) to be attributed to a TV ad. These installs are attributed to the TV media source with the associated campaign details populated by the TV channel and the TV show name.

To set up TV attribution, advertisers should create a CSV file containing the exact details of the aired ads.

Alternately, advertisers can use the help of partners that enable TV attribution via their services.
To view the list of these AppsFlyer integrated partners, go to Integration > Integrated Partners. Select TV in the filter panel.

Post-install analytics are available in the same manner as for other media sources.

Attributed installs populate attribution fields as listed in the following table. 

Attribution field API name Populate with
Media source media_source TV (always)



Campaign name

Site ID af_siteid TV channel name. Example: ESPN
Sub Param 1 af_sub1 TV show name. Example: SportsCenter HD
Country country Country code
City city City name


Check out our comprehensive guide on OTT television to learn about advanced TV terminology, buying methods, content formats, how OTT attribution works

Setting up a TV campaign

AppsFlyer supports bulk upload of media plans using the TV attribution upload file having a CSV format according to the schema that follows.

To upload the file, please contact your customer success manager.

TV schedule schema

  • File schema for TV schedule uploads.
  • Optional columns must be sent, but the fields could be left empty.
  • Avoid setting the same time slot for two separate campaigns of the same app.


Column name Mandatory Remarks Example
app_id Yes
  • You can set TV campaigns for multiple apps using the same file.
  • For each aired ad, you can set the specific app ID it relates to.
  • Note that for TV campaigns targeting both Android and iOS users, you need to set a separate table entry for each platform.
com.example, id123456789
Campaign name No

Especially useful if you have several ad formats and wish to A/B test them.

10-sec teaser, full 30-sec
TV channel name No   CWTV
TV show name No   Arrow
Start date


  • Format: yyyy-mm-dd format
  • The time and date must be in the future
Start time


  • The starting hour for the TV attribution window. The time should be in 24h format in the UTC time zone.
    Required format: hh:mm
  • The time and date must be in the future
Attribution window Yes
  • TV attribution windows have a maximum duration of 180 minutes.
  • The TV campaign is attributed if the user launches the app for the first time during the attribution window.
Country code Yes 2 letter country code. List of country codes. US, CN
City name No  

List of supported cities. If the city name is not in the CSV file but appears in attribution data, you can use it.



An ad on TV (or radio) can be Shazamed with the app, and the user who Shazams it is redirected to the market as if clicking on a specific URL. This URL may contain parameters to identify the specific ad, which can be reached via the conversion data.

Was this article helpful?