CTV, PC, and console platform direct attribution links

At a glance:  Learn about the AppsFlyer attribution link structure and parameters for CTV, PC, and console platforms. Note: For Android and iOS apps, including Android PC games, use mobile attribution link instructions.

Overview

CTV, PC, and console platform direct attribution links allow advertisers to redirect users and collect data following clicks. These direct attribution links are AppsFlyer links that support redirection and attribution for a single destination app on a single platform at a time. The redirection destination is the value of the af_r parameter included in the link. 

Note: For Android and iOS apps, including Android PC games, use mobile attribution link instructions.

Attribution links can be directly created by you and placed behind ads. To create such links, follow the instructions in this article.

Alternatively, links can be created via S2S using the Engagements API. This requires some developer work. Note: Links created via S2S can also collect impression data.

Attribution link

Attribution link structure
Base URL engagements.appsflyer.com/v1.0/c2s/click/app/
Mandatory path parameters
  • platform
    Example: steam
  • app_id
    Example: 123456
Mandatory query parameters
  • af_media_source
  • af_campaign_id
  • af_r
Other parameters See all parameters
URL structure https://engagements.appsflyer.com/v1.0/c2s/click/app/{platform}/{app_id}?af_media_source={media_source}&af_campaign_id={campaign_id}&af_r={app_store_url}
Sample URL https://engagements.appsflyer.com/v1.0/c2s/click/app/steam/123456?af_media_source=aloha&af_campaign_id=1234&af_r=https%3A%2F%2Fstore.steampowered.com%2Fapp%2F440%2FTest_app2%2F%3Futm_term%3Dhello

Parameters

Parameter Display name in Raw data export and Pull API Description Field type
platform Platform
  • Path param that specified the application platform.
  • Possible values:
    • smartcast
    • tizen
    • roku
    • webos
    • vidaa
    • playstation
    • steam
    • quest
    • battlenet
    • epic
    • switch
    • xbox
    • nativepc 
String
app_id App ID
  • Path param that specifies the app ID of the app for which you are posting.
  • Example: ap123456
String
af_media_source Media Source This is the unique partner identifier as defined on the AppsFlyer platform.
The following special characters are not allowed: ;, *, !, @, #, ?, $, ^, :, &, ~, `, =, +, ’, >, <, /, {, }, %.
String
af_campaign Campaign Campaign name String
af_campaign_id Campaign ID Campaign ID String
af_request_id N/A An identifier that uniquely identifies a request by a partner. String
af_adset Adset Adset name String
af_adset_id Adset ID Adset ID String
af_ad Ad Ad name String
af_ad_id Ad ID Ad ID String
af_campaign_type Campaign Type Either:
  • user_acquisition
  • retargeting
String
af_prt Partner
  • Agency account name that enables attributing installs to the agency
  • Caution: Don't use this parameter before ensuring that Agency Permissions are enabled
String
af_siteid Site ID

Unique ID that identifies the publisher that displays the ad

String
af_sub_siteid Sub Site ID

Ad sub-network/publisher ID

String
af_click_id N/A

Ad network unique transaction identifier

String
af_lookback_window N/A
  • Lookback window relevant for attribution via ID matching.
  • Configurable number of days/hours for the lookback window attribution period. Available parameter values: 1d-30d (days) OR 1h-23h (hours).
  • Validation: 3 char max, using the scheme above.
  • Default value is 24 hours for impressions and 7 days for clicks.
String
af_ad_placement N/A

Ad network unique transaction identifier

String
af_ad_type Ad Type
  • Ad type. Use the following naming convention:
    • text: an ad unit containing only text, for example a search result
    • banner: a basic format that appears at the top or bottom of the device screen
    • interstitial: a full-page ad that appears during breaks in the current experience
    • video: a standard video, that is non-rewarded
    • rewarded_video: an ad unit offering in-app rewards in exchange for watching a video
    • playable: an ad unit containing an interactive preview of the app experience
    • audio: an audio ad
  • Case-sensitivity enforcement.
String
af_channel Channel

The media source channel through which the ads are distributed, for example, UAC_Search, UAC_Display, Instagram, Meta Audience Network, etc.

String
af_model Device Model

Device model

String 64
af_os_version N/A
  • Device OS version
  • Only digits and dots allowed
  • Example: 8.1.0
String
af_device_id_type N/A

Device identifier type. Either:

  • vida
  • tifa
  • rida
  • lgudid
  • fire
  • advertising_id
  • fire
  • custom
String
af_device_id_value N/A

Device identifier type

String
af_r N/A
  • Mandatory
  • Contains the link to the correct app store or landing page
  • Everything within the af_r parameter needs to be encoded. This includes any UTM parameter values, if appended.

Note: Ensure that the URL domain for af_r is included in your redirect allowlist.

String

Traits and limitations

Lookback window With probabilistic modeling, a fixed lookback window of 24 hours for clicks and impressions is used. The af_lookback_window value is ignored.
Agency attribution
  • CTV-PC-Console to mobile flow - agency attribution is supported.
  • Mobile to CTV-PC-Console flow - agency attribution isn't supported.