Connect Branch and Roku to unlock a more holistic picture of the customer journey for your app on OTT/CTV.



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




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.


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

  1. Created a Branch Dashboard.
  2. Enabled Universal 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.



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


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


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



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



Campaign ID


The ID of your Roku Campaign

Creative ID


The ID of your Roku Creative

Line Item ID


The ID of the Roku Line Item

Content ID


The ID of the Roku Content

Placement Type


"mychannels" or “screensaver”



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




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



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



Device initiated a trial period of an app



Device signed up for a product or service



The ongoing event that signifies a device’s subscription status



(“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)


The first QSS for that app.



Text Search Initiated

voice_search (custom event)


Voice Search Initiated



Video Playback Initiation (Request for Video Stream)



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

first_video_view (custom event)


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



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



CSAI or SSAI In-Stream Ad Initiated