Overview
For marketers utilizing Branch and Roku, this article details how to integrate Branch's robust deep linking and attribution features within your Roku ad campaigns.
Learn how this integration can improve the user journey and provide clearer insights into your advertising effectiveness on the Roku platform.
Roku Ads Manager
Roku's Self-Attributing Ad Network (SAN) provides Branch with access to attribution data for installs and event attribution for clients utilizing Roku’s Endemic (i.e. streaming) Media. This helps drive distribution and re-engagement with these apps. Roku receives conversion events tracked by the Branch SDK and uses it for performance optimization, audience segmenting, and re-targeting.
Roku OneView
Roku's non-SAN is for all other Roku media advertising. We have a separate guide to setup Oneview here.
Note
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 | ❌ |
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 first need to:
Create an account using the Branch Dashboard.
Enable Household Measurement for your Branch account. Contact your Branch account manager or visit the Pricing page.
Implement the Branch SDK into your OTT/CTV app:
Have admin access to your Roku Account.
Enable Roku
To enable Roku, complete the steps below:
Sign in to Roku Ads Manager.
Navigate to the Events page.
Identify an existing Event Group, or create a new Event Group.
Copy the Event Group ID.
Send Roku ([email protected]) the following information:
Your MMP name, in this case Branch.
Your Event Group ID.
Go to the Branch Dashboard, and navigate to the Ad Partners page.
Search for and select the “Roku SAN” tile. Do not use the “Roku” tile.
Enter your Roku Ads Manager Event Group ID and click Save.
Switch to the Events Config tab and map your Branch app events to Roku Ads Manager events.
Events will appear in Roku Ads Manager attribution reporting based on this mapping configuration.(Optional): If you want to change your attribution window settings specifically for Roku Ads Manager, do so by switching to the Attribution Windows tab.
Attribution type | Recommended 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 |
You are now ready to launch your campaign! Please note that events can take up to 4 hours to appear in Roku Ads Manager
Important considerations
Please take note of the following important considerations below:
You must have Household Measurement enabled within Branch for the Roku Ads Manager integration to function properly. If you do not have this enabled, please reach out to your Branch representative.
If you use a Branch click-URL for Action Ads, users will be routed to the correct app store based on their mobile OS. However, please note that click-events will not be considered in Branch attribution calculations at this time.
Roku Ads Manager does not currently send spend data to Branch.
Cross-device attribution
Caution
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
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 |
Forward 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 |