Open programmatic advertising on Connected TV (CTV) depends on being able to clearly identify the apps on which transactions occur. Unfortunately, the mechanism through which apps are commonly identified - known as “Bundle IDs” - is problematic because these IDs are not guaranteed to be unique.
This results in a number of issues, including the ability to bid on desired inventory. It also makes for easy opportunities for bad actors to exploit the CTV supply chain.
Pixalate conducted a study of CTV transactions over the last three months (June to August 2022) to provide insights into the scale of variations in CTV Bundle IDs. The full report is available for download here.
The study covers relevant traffic analyzed by Pixalate over a three-month period from June-August 2022. We excluded app spoofing numbers to keep the focus on the challenges caused by normal traffic rather than on ad fraud attempts, which are handled separately. We also only included Bundle IDs that reached a materiality threshold of impressions. Additionally, case was not taken into account (“Com.Hulu” and “com.hulu” would be considered one Bundle ID in this study).
The full report includes more details including a list of “Top 20” CTV Apps on Roku and Amazon Fire TV, along with the number of “valid” Bundle IDs associated with them.
Bundle IDs are strings, usually structured in reverse domain notation, commonly used by sellers and buyers to identify apps.
For example, the string com.sling could be a Bundle ID used to reference the Sling TV app, or com.hulu could be used to point to the Hulu app.
App Store IDs, on the other hand, are identifiers generated by the App Store. These are a better mechanism to identify apps, but the industry has not yet fully made the shift from Bundle IDs. In fact, we see fewer than 5% of Roku and fewer than 25% of Fire TV traffic using App Store IDs.
The use of Bundle IDs originated on iOS and Android mobile apps as a means to identify apps. As mobile app stores matured, these became unique and were referred to generically as “App Store IDs” (“app bundles” on Android and “bundle IDs” on iOS). However, when this concept moved to CTV Apps, Bundle IDs were completely left to the discretion of whoever was using them, while each CTV platform had its own “App Store ID”.
Since they are manually created, Bundle IDs are not regulated and not guaranteed to be unique. Their structure is dependent on the users following best practices. And unlike App Store IDs, there also is no means to verify their authenticity on app stores.
This has led to multiple Bundle IDs being used to refer to the same app by different entities. The Bundle ID field has been used to pass additional information that may have been considered useful. For example, some Bundle IDs have the OS platform concatenated to the original string. The lack of fields in the OpenRTB bid stream to communicate “Channel” and “Network” information, and sometimes even the name of the show, has resulted in many companies appending that information to the Bundle ID.
Ex: com.sling.cnn.ctv.roku is an attempt to describe the CNN channel on the Sling TV Roku App.
These example Bundle ID strings on the Sling TV app demonstrate these various scenarios:
In the examples above, it appears that the sellers tried to include Channel info (foxnews, msnbc, food network,cnn, etc) and also platform info (ctv.roku) in the Bundle ID. We also see 46041 - which is the App Store ID, and would have been the right identifier to use.
This lack of uniqueness results in buyers struggling to identify which app an ad request is referring to.
In addition, many fraud detection solutions incorrectly mark these impressions as “spoofed” due to their inability to differentiate between incorrectly set up Bundle IDs as opposed to actual spoofing attempts. This makes it difficult,if not impossible, to correctly measure CTV impressions unless a mapping solution, like the one developed by Pixalate, is used.
Pixalate built a solution using machine-learning and AI to handle these problems early on. Pixalate’s tech ensures that the various Bundle IDs used to refer to an app are all mapped to the correct app store identifier. This helps our clients identify the app confidently, and it also helps us ensure that we don’t incorrectly tag impressions for “app spoofing.”
The list of Bundle IDs for an app - along with the Share of Voice for each Bundle ID - can be seen in the Media Ratings Terminal (see image below) and also accessed via API. This knowledge is also used in our post-bid analytics product to ensure that we don’t incorrectly penalize traffic for “app spoofing.”
The industry is aware of this problem and has been working on various solutions:
But until the above solutions get implemented, an intelligent mapping solution like Pixalate’s is required to handle the explosion of Bundle ID variations on CTV platforms.
If you have any questions or feedback regarding this report, please contact us at firstname.lastname@example.org.
Disclaimer: The content of this page reflects Pixalate’s opinions with respect to the factors that Pixalate believes can be useful to the digital media industry. Any proprietary data shared is grounded in Pixalate’s proprietary technology and analytics, which Pixalate is continuously evaluating and updating. Any references to outside sources should not be construed as endorsements. Pixalate’s opinions are just that - opinion, not facts or guarantees.
Per the MRC, “'Fraud' is not intended to represent fraud as defined in various laws, statutes and ordinances or as conventionally used in U.S. Court or other legal proceedings, but rather a custom definition strictly for advertising measurement purposes. Also per the MRC, “‘Invalid Traffic’ is defined generally as traffic that does not meet certain ad serving quality or completeness criteria, or otherwise does not represent legitimate ad traffic that should be included in measurement counts. Among the reasons why ad traffic may be deemed invalid is it is a result of non-human traffic (spiders, bots, etc.), or activity designed to produce fraudulent traffic.”