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.
| ✅ |
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?
- You, as an advertiser, serve an ad for your streaming media app on a CTV platform (ex. Roku, FireTV, Samsung, etc).
- User downloads your streaming media app on their CTV device.
- Your streaming media app will have the Branch SDK installed.
- 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:
- Created a Branch Dashboard.
- Enabled Universal Ads for your Branch account.
- Contact your Branch account manager or visit https://branch.io/pricing
- Implemented the Branch SDK into your OTT/CTV app:
- 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)
|
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 |
Updated about 1 year ago