Roku

Overview

Roku Ad Manager
Roku's Self-Attributing Ad Network, provides access for its third-party Measurement Partners to request attribution for install and event attribution for clients utilizing Roku’s Endemic(i.e. streaming) Media to help drive distribution and re-engagement of their apps. Similar to other Self-Attributing Networks (SANs), Roku will be able to receive conversion events tracked via Branch SDK and use it for performance optimization, audience segmenting, and re-targeting.

Roku OneView
Roku's non Self-Attributing Ad Network(non-SAN) is for all other Roku media advertising. We have a separate guide to setup Oneview here. OneView was formerly known as DataXu before Roku purchased them in 2019 and renamed it.

Roku Data Sharing

Roku last-attributed data will be wiped at the log-level (via Custom Exports and Daily Exports) and this data will appear as null/blank in exports but you can still export it via aggregated data (Aggregate API or Query API)

Feature Support

Feature

Details

Supported?

Engagement and Install Ads

Understand which ad impressions and clicks drove installs.
Attribution Match Methods:

  • Advertising ID

  • Fingerprint

  • Full IP

  • Partial IP

  • Properties

Pre-Install Tracking

Measure app installs from apps packaged with your partner platforms

Session Counts

Measure daily installs, opens, and session length

Conversion Events

Attribute subscription events, logins, views, opens, etc. back to the last ad seen or Branch Link clicked

Partner Events

Forward activity from partners directly to Branch

Deep Linking

Route users directly to content in your app from the Roku Ad

App-to-App Activity

Measure user journeys to and from your various OTT apps

Supported Attribution Methods

Attribution Method

How does it work?

  1. You, as an advertiser, serve an ad for your streaming media app on a CTV platform (ex. Roku, FireTV, Samsung, etc).

  2. User downloads your streaming media app on their CTV device.

    • Your streaming media app will have the Branch SDK installed.

  3. Branch connects with the Ad Partner and attributes the install & downstream streaming media app events to them.

Prerequisites

In order to enable Roku, you need to have completed the following:

  1. Created a Branch Dashboard.

  2. Enabled Ads for your Branch account.

  3. Implemented the Branch SDK into your OTT/CTV app:

  4. Admin access to your Roku Account.

Enable Roku

1. Set up Roku Exposure Pixel & Channel ID

If you have a Roku Account Manager, send a request to them to set up the Roku Exposure Pixel on all of your eligible Roku display and video media. This ensures that all impressions and clicks are properly being attributed.

They will also be able to provide you with your Channel ID from your channel's properties. (Channel ID will be used later)

If you do not have a Roku Account Manager, you need to select Branch as the approved measurement provider when are uploading a creative:

Afterward, you can locate your Channel ID by searching by channel name and it will populate including the 6-digit ID:

2. Connect Roku in Branch

In the Branch Dashboard in Ads → Partner Management page, find and search for Roku. If you're already logged into the Branch Dashboard, you can also click here to go there directly.

Setting

Description

Roku Channel ID

Obtained from your channel properties.

Attribution Mode

Choose attribution based on clicks, impressions, or considering both equally (Best Match Attribution)

  • Best Match Attribution: Find the best match treating impressions and clicks equally

  • Click-through only: Only match to clicks

  • View-through only: Only match to impressions

Match By

Attribution methods to be considered for attribution

Properties

Key/value pairs to be used for advanced attribution methods

Click Save

3. Configure Events

After authenticating your Roku account to Branch, navigate to the Events Config tab to configure your events.

It's important to add your event mappings here for Branch to properly send event metadata to Roku for attribution. You should see the events you are tracking with the Branch SDK here when you Add Event Mappings.

Events from mParticle or Segment

If you are using mParticle or Segment to track events, you can import them through Branch's integration. View the guides below to enable event importing:

More details on the Roku event mapping can be found here.

4. Configure Attribution Windows

After configuring your events, navigate to the Attribution Windows tab to set windows by attribution type.

You have full freedom to choose your attribution windows; however, it may cause discrepancies between the Branch and Roku when comparing.

Recommended Attribution Windows:

Attribution Type

Window

click to session start

1 day

click to install

7 days

click to conversion event

1 day

impression to session start

1 day

impression to install

1 day

impression to conversion event

1 day

5. Cross-Device Attribution

Beta

OTT/CTV Cross-Device Attribution with Branch is currently in beta. Please be aware that there may be unexpected bugs/behaviors until the full release. Please reach out to your Branch account manager to get access to OTT/CTV Cross-Device Attribution.

Typically, you do not need Branch Ad Links in order to attribute your Roku campaigns because attribution works through a server-to-server connection between Branch and Roku. For cross-device attribution, however, you will need to use a Branch Ad Link and include the $cross_device=true parameter to your Branch Click & Impression tracking links to be used in your Roku campaigns.

Data Mapping Between Roku & Branch

Branch maps the following data fields from Roku to Branch.

Roku Data

Branch Data

Possible Values

Touch Type

last_attributed_touch_type

CLICK or IMPRESSION

Campaign ID

last_attributed_touch_data_tilde_campaign_id

The ID of your Roku Campaign

Creative ID

last_attributed_touch_data_tilde_creative_id

The ID of your Roku Creative

Line Item ID

last_attributed_touch_data_tilde_ad_set_id

The ID of the Roku Line Item

Content ID

last_attributed_touch_data_tilde_content_id

The ID of the Roku Content

Placement Type

last_attributed_touch_data_tilde_placement

"mychannels" or “screensaver”

Timestamp

last_attributed_touch_timestamp

Timestamp of the ad impression or click

Forwarding Events to Roku

Once you begin tracking events through the Branch SDK, we will start sending them to Roku. Roku has pre-defined events that map to pre-defined Branch events, listed below.

Branch will forward in-app events to Roku for campaign optimization. In addition, Branch will receive attribution data for rich analysis in the Branch dashboard.

Branch Event Name

Roku Event Name

Description

INSTALL

first_open

Initial App Open (First time app open will map to Roku Install)

OPEN

session_start

App Session (First time app session should be sent as First App Session)

START_TRIAL

trial

Device initiated a trial period of an app

COMPLETE_REGISTRATION

sign_up

Device signed up for a product or service

SUBSCRIBE

subscription

The ongoing event that signifies a device’s subscription status

COMPLETE_STREAM

qss

(“Qualified Streaming Session”) Trigger QSS on Video Views exceeding 5M of contiguous video playback time. A single video view of 60M, for example, will result in a single QSS event.

FQSS (custom event)

FQSS

The first QSS for that app.

SEARCH

text_search

Text Search Initiated

voice_search (custom event)

voice_search

Voice Search Initiated

INITIATE_STREAM

video_stream

Video Playback Initiation (Request for Video Stream)

PURCHASE

est_transaction

EST Transaction (Entertainment Sell Thru) - a one time purchase

first_video_view (custom event)

first_video_view

Video View (First time video view will map to Roku FTV)

VIEW_ITEM

video_view

Video Metadata (Detailed Content View - Content BOB Info in terms of - Network, Title, Genre, Type, Rating)

VIEW_AD

ad_initiated

CSAI or SSAI In-Stream Ad Initiated