CTV, PC, and console platform attribution concepts

At a glance: Learn about how attribution works for CTV, PC, and console platforms to allow AppsFlyer to receive attribution and event data for your campaigns on these cross-platform devices.


The AppsFlyer cross-platform solution

In today's digital landscape, growth professionals face the challenge of reaching consumers across multiple devices and platforms. Traditional measurement approaches fall short in capturing the full scope of user journeys that span platforms. Cross-platform measurement is essential to understanding the impact of marketing activities and making informed decisions.

AppsFlyer offers an extensive cross-platform solution that complements conventional mobile attribution tools. It aids growth professionals in accurately measuring and attributing marketing efforts when users interact across multiple platforms and devices. This solution focuses on CTV, PC, and console platforms.

Advertisers can promote an app on the same or different platforms as the ad displays. For example, an advertiser can display an ad for a Steam app on the Steam platform. Or, they can display an ad for a Steam app on desktop web, for example via Google Ads. Whatever their marketing strategy, advertisers integrate with AppsFlyer to receive attribution data and performance measurements about sources (non-organic or organic) and campaigns driving CTV, PC, and console platform app installs and post-install events. Marketers use these insights to calculate user lifetime value (LTV) and measure and optimize marketing activities. Learn more about AppsFlyer attribution

Supported platforms

Platform AppsFlyer integration method
Android TV -
tvOS (Apple TV) -
MacOS -
Amazon Fire TV -
Chromecast -
Vizio -
PlayStation -
Vidaa -
Native PC
Meta Quest (Oculus)
Epic Games
Nintendo Switch -
Xbox -

Cross-platform attribution flows

When marketing apps on CTV, PC, and console platforms, there are several flowsfrom ad display (impression or click) to AppsFlyer attributionthat apply to all platforms:

  • Direct attribution link
  • Cross-platform OneLink link
  • SRN (self-reporting network, also known as SAN, self-attributing network)
  • Cross-platform landing page

Each app, advertiser, and platform can have 1 or more of these flows implemented at the same time. The sections that follow explain the different flow types and when each is used.

Direct attribution link

Direct attribution links are AppsFlyer links that support redirection and attribution for a single destination app on a single platform at a time. They're typically utilized for:

  • Same platform to same platform advertising. Meaning the platform displaying the ad and the platform supporting the app are identical. For example, an advertiser can display an ad for a Samsung TV app on a Samsung TV.
  • Any platform to any platform advertising, with the destination/platform predetermined. For example, a desktop web landing page shows an ad with 1 or more buttons, with each button redirecting to a specific platform store/marketplace. 

Direct attribution links support both probabilistic modeling and deterministic matching (when an ID is provided in the link) attribution methods, whereby one install by one user is matched to an ad click or impression. The attribution flow is illustrated in the diagram that follows.

CTV attribution flow - Direct attribution link flow.png

Because direct attribution links are for an app on a specific predetermined platform and lead to one specific destination, they always contain the app ID and platform information in the URL.

Sample direct attribution link: https://engagements.appsflyer.com/v1.0/c2s/click/app/steam/1234561?&af_media_source=game_media_source&af_campaign=campaign_yellow&af_campaign_id=1234&af_ad=game_ad_name&af_adset=game_adset_name&af_r=https%3A%2F%2Fstore.steampowered.com%2Fapp%2F1176160%2FSpace_Wars%2F

Learn how to set up direct attribution links.

Cross-platform OneLink link

Cross-platform OneLink links support redirection and attribution when the ad and destination platforms differ. They're used when various platform choices exist. For example, in a CTV-to-mobile flow, an ad displays on a Roku platform/device, but the destination can be an Android/iOS app. Another example is a desktop web-to-console flow, where the ad displays on desktop web, but the game is available on PC and multiple console platforms, like PlayStation, Xbox, and Steam.

Cross-platform OneLink links only support the probabilistic modeling attribution method (based on IP address). For this reason, multiple installs by multiple users can be attributed to the same impression. The attribution flow is illustrated in the diagram that follows.

CTV attribution flow - Cross-platform Onelink link attribution flow (1).png

All possible app destinations/platforms are configured in the OneLink template. To that end, cross-platform OneLink links don't contain a specific app ID or specific platform information in the URL. Instead, the URL includes the template ID where all the possible app destinations/platforms are configured.

Sample cross-platform OneLink link: https://impressions.onelink.me/ch/AG7A?pid=game_media_source&c=game_landing_page&af_ad=game_ad_name&af_adset=game_adset_name&af_xplatform=true

Learn how to set up cross-platform OneLink links


With direct attribution links and cross-platform OneLink links, AppsFlyer attribute installs via data contained in the URL. In contrast, self-reporting networks (SRNs), sometimes also known as Self-attributing networks (SANs), self-attribute using the device ID when notified of an install by AppsFlyer.

Attribution to SRNs is via deterministic matching. When an advertiser integrates an SRN, attribution works as illustrated in the diagram that follows.

CTV attribution flow - SRN attribution flow (1).png

Currently, SRN attribution only works for same platform to same platform advertising. Meaning, when the touchpoint (click or impression) occurs on the same platform as the install. For example, if a Roku CTV install is checked with Roku Endemic Media (the SRN for Roku) and an impression is found to have occurred on a Roku device. If the impression happened on a different platform, such as mobile, it is not considered for attribution.

In the future, SRN attribution may become available for any platform to any platform ads, allowing for more comprehensive cross-platform attribution.

Cross-platform landing page

Cross-platform landing pages are designed to support common cross-platform user journeys and marketing flows. They are most-commonly used for gaming apps. The landing pages run the AppsFlyer Smart Script to perform web-to-app attribution. This means they attribute installs on any platform (such as CTV, PC, console, and mobile platforms) to ads displayed on web.

The Smart Script in a cross-platform landing page uses the incoming link (the link on the web ad) to do 2 things that ensure the original media source and web ad are attributed with the install:

  • Create a cross-platform OneLink link that sends an impression to AppsFlyer. This lets AppsFlyer log an impression that can later be used to attribute user installs. Impressions are sent when the landing page opens. Even if users leave the landing page without clicking any buttons, and then download and install the app on their own, the impression is still attributed.
  • Create direct attribution links for each app/platform. When users click these links, they are directed to the correct platform/app store. And when they subsequently download and install the app, the install is attributed to the click. 

The landing page supports both probabilistic modeling and deterministic matching (when an ID is provided in the link) attribution methods. With probabilistic modeling, it's possible that multiple installs by multiple users can be attributed to the same impression. The attribution flow is illustrated in the diagram that follows.

CTV attribution flow - Landing page attribution flow.png

For example:

  1. You have a gaming app that can be downloaded and played on desktop, mobile, Epic, or Steam platforms.
  2. You advertise on the web.
  3. A user sees the ad on the web, whether from paid search results or social media promotions.
  4. The users click on the ad and is redirected to a landing page, that has separate download buttons for each platform: desktop, mobile, Epic, and Steam.
  5. The landing page runs the AppsFlyer Smart Script that:
  6. Captures essential data points from the incoming link (the link that brought the user from web to the landing page), like query or UTM params, or default values, that identify the media source, campaign, ad, and more.
  7. Uses the above data points to generate an impression and send it to AppsFlyer.
  8. Generates outgoing links for each of the platform download buttons. 
  9. The user clicks one of the download buttons, is taken to the platform app store, downloads and opens the app.
  10. The install/first app open is matched to the impression and attributed to the media source that showed the original ad on the web.

Additional information:

Data availability

CTV, PC, and console platform data includes install data, as well as in-app event data that gives advertisers insights regarding the lifetime value (LTV) of non-organic and organic users, based on subscription, in-app purchases, and ad monetization. LTV metrics are calculated from the attribution date until the present.

Data is available as follows:

Note: For platforms with Android and iOS operating systems, aggregate and raw data report availability is the same as for mobile apps.

Traits and limitations

Trait Remarks
Re-attribution window

For CTV, PC, and console platforms, the re-attribution window is based on a defined period of inactivity (default 90 days).  

Post-reinstall events 

Attributed to the first install. Learn more

  • Re-attribution: Supported for cross-platform-to-mobile. Not for other platforms.
  • Re-engagement: Not supported
Attribution method

See CTV, PC, and console platform attribution methods


USD or as defined in AppsFlyer app settings



Cost data

For apps on CTV, PC, and console platforms, cost data must be sent via Ad Spend Ingestion using the upload file by email method.