Roku integration with AppsFlyer

At a glance: Integrate your Roku Connected TV (CTV) app (channel) with AppsFlyer to receive attribution and event data for your campaigns on Roku.

Related reading: CTV overview

About Roku CTV attribution

The Roku OS for streaming runs across all Roku devices, including streaming players and Roku TVs. 

CTV apps, AKA channels, streaming on Roku can integrate with AppsFlyer via API to receive attribution data and performance measurements about which sources (non-organic or organic) and paid campaigns drive app installs and post-install events. Marketers rely on these insights to measure and optimize marketing activities.

The Roku API integration supports:

  • Roku Smart TV and CTV devices. The integration doesn't support mobile, tablet, or desktop devices.   
  • CTV-to-CTV attribution and event recording. Meaning, attribution and recording of Roku app installs and events that occur on a user's Roku device.

Roku attribution flow

7435_CTV__3_.png

Integration procedures

The following table lists the tasks required to integrate your Roku CTV app with AppsFlyer. To record your progress, download this spreadsheet.

Task Actions Who's involved

App setup

Marketer

API integration with your app

Integrate the AppsFlyer Roku API into your CTV app with commands to report the following events to AppsFlyer.

  • Installs
  • In-app events
  • Sessions

Verify that when you set up the API, you set up and map the CTV events to send to AppsFlyer. 

Note: Installs must be reported before in-app events and sessions.

App developer
Partner integration

Add Roku as an ad network (integrated partner) in AppsFlyer.

Marketer
Reports setup Set up Data Locker to receive user-level raw data reports. Data engineer 

Integrate the AppsFlyer Roku API into your app

The developer must: 

  • Integrate the API. This enables the app to report installs, in-app events, and sessions
    Note: Installs must be reported before in-app events and sessions.
  • Send events using the API.
    • Tell your developer which events to send.

Add Roku ad network

To record attributions and in-app events from Roku, you must connect AppsFlyer to Roku as an integrated ad network.

To set up Roku as an integrated partner:

  1. In AppsFlyer. go to Configuration > Integrated Partners.
  2. Select Roku.
    The Roku partner integration page displays.

  3. Go to the Integration tab.
  4. Turn on Activate partner. See partner activation/deactivation.
  5. [Optional] Edit Click-through attribution. Default is 14 days.
    The click-through attribution setting lets you set the maximum time from click to install. Only installs (first launches) that take place within this lookback window can be attributed to Roku. See click lookback windows.
  6. [Optional] Turn on and edit View-through attribution. Default is 14 days.

    Use the slider to set the maximum time from impression to install. Only installs (first launches) that take place within this lookback window, following an ad impression, are attributed to the partner, providing there was no other relevant ad click. See view-through attribution.

  7. Click Save Integration.

View data

Dashboard

The Overview CTV dashboard gives advertisers a real-time window into the lifetime value (LTV) performance 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.

To open the dashboard:

  • In AppsFlyer, select your CTV app and go to Dashboards > Overview.
    The dashboard opens, with the settings and filters, headline metrics, charts, and table, specifically relevant for CTV.

Tip! Familiarize and experiment with the dashboard and use our Overview dashboard V2 article as a reference guide.

Reports

Roku raw data reports, as seen in the list that follows, are available via Data Locker (Premium feature; requires subscription). The list of fields is described in the next section. Click on a report type to view a sample. 

Roku CTV raw data fields

Field formats
Format name Description
String

The maximum length of the string. We don't usually enforce field length limitations on receipt of the data, but data may be truncated thereafter.

Enum Enum fields can only contain specific values. For example, Cost currency has 3 characters and can contain only currency codes as specified.
Timestamp

10-digit UNIX timestamp. Example:

August 4, 2020, 07:25 UTC translates to "timestamp": "1596525944"

Boolean

The value of the field can be either TRUE or FALSE

Raw data fields
Field name Description Format

attributed_touch_type

CLICK or IMPRESSION Enum

attributed_touch_time

  Timestamp

install_time

  Timestamp
event_time   Timestamp

event_name

Install, session, or in-app event configured and sent by advertiser String

media_source

Partner name (for example roku_int) or organic String

campaign

  String

af_c_id

Campaign ID String

af_adset

  String

af_adset_id

  String

af_ad

  String
af_ad_id   String
ad_placement   String
region   String
country_code   String
country_name   String
state   String
city   String
postal_code   String

dma

  String

connection_type

For example: WIFI or SATELLITE Enum

ip

  String
selected_timezone The selected timezone for the CTV app. Default is UTC. Timezone

user_agent

For example: Roku/DVP-9.21 (AE9.21E04090A) String

platform

For example: ROKU Enum

os_version

  String

device_model

  String

app_id

  String

app_version

  String

rida

For Roku devices, this is the Roku advertising ID String

advertiser_id_enabled

  • If user has limit ad tracking (LAT) on, then advertiser_id_enabled=false.
  • If user has LAT off, then advertiser_id_enabled=true.
Boolean

custom_device_id

Device ID managed by the advertiser String

customer_user_id

User ID managed by the advertiser String

conversion_type

One of:

  • INSTALL_ORGANIC
  • INSTALL_NON_ORGANIC
  • REINSTALL_ORGANIC
  • REINSTALL_NON_ORGANIC
Enum

af_attribution_lookback

For example: 30d String

contrib fields

All contributor fields return as null in CTV reports.  

Traits and limitations

Trait Remarks
Retargeting

Not supported

Delete app

Must contact CSM

Transfer app

Not supported. App can't be transferred to another AppsFlyer account.

Account users

Access to data can't be restricted.

Was this article helpful?