Search specific term/phrase surrounded by double quotes. e.g. “deep linking”
Exclude records that contain a specific term prefixed with a minus. e.g. Android -Firebase

Roku

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

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 TrackingMeasure app installs from apps packaged with your partner platforms
Session CountsMeasure daily installs, opens, and session length
Conversion EventsAttribute subscription events, logins, views, opens, etc. back to the last ad seen or Branch Link clicked
Partner EventsForward activity from partners directly to Branch
Deep LinkingRoute users directly to content in your app from the Roku Ad
App-to-App ActivityMeasure 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 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.

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 ByAttribution methods to be considered for attribution
PropertiesKey/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 TypeWindow
click to session start1 day
click to install7 days
click to conversion event1 day
impression to session start1 day
impression to install1 day
impression to conversion event1 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 DataBranch DataPossible Values
Touch Typelast_attributed_touch_typeCLICK or IMPRESSION
Campaign IDlast_attributed_touch_data_tilde_campaign_idThe ID of your Roku Campaign
Creative IDlast_attributed_touch_data_tilde_creative_idThe ID of your Roku Creative
Line Item IDlast_attributed_touch_data_tilde_ad_set_idThe ID of the Roku Line Item
Content IDlast_attributed_touch_data_tilde_content_idThe ID of the Roku Content
Placement Typelast_attributed_touch_data_tilde_placement"mychannels" or “screensaver”
Timestamplast_attributed_touch_timestampTimestamp 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 NameRoku Event NameDescription
INSTALLfirst_openInitial App Open (First time app open will map to Roku Install)
OPENsession_startApp Session (First time app session should be sent as First App Session)
START_TRIALtrialDevice initiated a trial period of an app
COMPLETE_REGISTRATIONsign_upDevice signed up for a product or service
SUBSCRIBEsubscriptionThe ongoing event that signifies a device’s subscription status
COMPLETE_STREAMqss(“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)FQSSThe first QSS for that app.
SEARCHtext_searchText Search Initiated
voice_search (custom event)voice_searchVoice Search Initiated
INITIATE_STREAMvideo_streamVideo Playback Initiation (Request for Video Stream)
PURCHASEest_transactionEST Transaction (Entertainment Sell Thru) - a one time purchase
first_video_view (custom event)first_video_viewVideo View (First time video view will map to Roku FTV)
VIEW_ITEMvideo_viewVideo Metadata (Detailed Content View - Content BOB Info in terms of - Network, Title, Genre, Type, Rating)
VIEW_ADad_initiatedCSAI or SSAI In-Stream Ad Initiated