Skip to navigation

CTV bundle IDs

Why bundle IDs are an unreliable way to identify CTV apps, and how Pixalate maps them to app store IDs.

Buyers and sellers often identify connected TV (CTV) apps by bundle ID. On CTV platforms, nobody controls bundle IDs, so one app can be known by many of them. Pixalate maps the bundle IDs it sees to each app’s app store ID, so you can identify the app reliably and legitimate traffic isn’t wrongly flagged as spoofing.

Bundle IDs and app store IDs

Bundle IDApp store ID
What it isA string chosen by whoever uses it, usually (but not always) in reverse domain notation, such as com.example.app.An identifier the platform’s app store assigns to each app.
Who controls itNo one. App stores and other bodies don’t mandate or regulate it.The app store.
Unique?No. Several bundle IDs can refer to the same app.Yes, per platform.
Verifiable?No. There’s no way to check a bundle ID against an app store.Yes.

For example, the Sling TV app on Roku has the app store ID 46041, but it appears in the bidstream under many different bundle IDs.

How CTV bundle IDs became unreliable

Bundle IDs started on iOS and Android, where app stores made them unique identifiers for apps. When the idea moved to CTV, each platform kept its own app store ID, and defining bundle IDs was left to whoever used them.

As a result, different companies use different bundle IDs for the same app. Because OpenRTB objects lacked fields for some information, the bundle ID field has also been used to carry other details, such as the operating system, the channel or network, or even the name of a show. For example, com.sling.cnn.ctv.roku tries to describe the CNN channel in the Sling TV app on Roku.

Why it matters

Unless bundle IDs are mapped to the right app, inconsistent bundle IDs cause problems for buyers and sellers alike:

  • Targeting: buyers struggle to identify the right app because of duplicate or misleading bundle IDs.
  • Attribution: misidentified apps make campaign performance harder to track.
  • Reporting: metrics may not line up because bundle ID data is inconsistent.
  • IVT detection: fraud detection tools that can’t tell a badly set-up bundle ID from a real spoofing attempt often misclassify legitimate impressions as spoofed. See App spoofing.

Industry direction

The industry is working on these problems:

  • IAB Tech Lab guidelines recommend using app store IDs as the unique identifiers for CTV apps.
  • OpenRTB 2.6 adds Channel and Network objects, so this information no longer needs to be packed into bundle IDs.

Until these are widely adopted, bundle ID variations need to be mapped.

How Pixalate maps bundle IDs

Pixalate uses machine learning to map the different bundle IDs that refer to the same app to that app’s app store ID. This means:

  • you can identify the app with confidence, whatever bundle ID was declared
  • legitimate impressions with a non-standard bundle ID aren’t wrongly flagged as app spoofing

Pixalate uses the same mapping in its Analytics and fraud detection products, so traffic isn’t penalized for app spoofing because of a bundle ID variation.

Where to see the mapping

  • Media Ratings Terminal (MRT): a CTV app’s Insight page lists the bundle IDs associated with the app and each bundle ID’s share of voice (SOV), its share of the app’s traffic. This section may not be turned on for every account; if you don’t see it, ask your Pixalate account manager.
  • Enrichment API: the appDetails widget for CTV apps returns bundleIds, with each bundleId and its sovRatio. See appDetails in the CTV field reference.

To block traffic with malformed or unidentifiable CTV bundle IDs before the bid, see the malformed CTV bundle ID feed.

How widespread the problem is

Pixalate publishes research on CTV bundle IDs, including:

For the latest reports, see pixalate.com/reports.

Questions? Email support@pixalate.com.