Digital Advertising continues to grow. According to the IAB/PwC Internet Advertising Revenue Report, U.S. digital ad revenue hit a record $258.6 billion in 2024 — a 14.9% year-over-year increase. IAB’s 2026 Outlook Study forecasts another 9.5% growth in U.S. ad spend this year, with digital channels continuing to outpace the broader market. As advertising continues to evolve, the devices that support internet advertising also change.

The shift from desktops and laptops to mobile devices accelerated with the rise of smartphones, and new advertising markets continue to emerge. Connected TV (CTV) ad spending is projected to grow 13.8% in 2026, while digital video overall reached $62.1 billion in 2024 — capturing nearly 60% of total U.S. TV/video ad spend, up from just 29% in 2020.
OpenRTB Device and Programmatic Growth
To participate in the various forms of Internet Advertising, Publishers, Supply Side Platforms, Demand Side Platforms, and Advertisers all use the standards outlined by the IAB and its Open Real-Time Bidding (RTB) specifications.
Device Detection Enhances the Value of Ads in an Exchange
The more a publisher can tell advertisers about their potential audience, the more valuable a publisher’s ad space becomes. One critical piece of information you can instantly identify is the mobile device. According to Verve, a leading SSP, clearly identifying a mobile device increases eCPM by more than 29%. And if a publisher, SSP, or DSP can provide other demographic and technographic indicators, like the price paid for the smartphone or its age, then the advertisers will target those viewers, increase their campaign effectiveness while still paying a premium for the right type of audience.
How WURFL Populates the IAB’s OpenRTB Spec
IAB has developed the OpenRTB specification to support the data interchange required to support automated trading of digital ads. This API specification outlines industry standards for objects and parameters that are communicated between buyers of advertising and sellers of publisher inventory.
One critical object describes the device used to view the publisher’s web page. To populate this device object effectively, developers need to take the browser’s user agent string and quickly detect the device and several other parameters.
In addition to the User Agent string, in the April 2022 OpenRTB specification (version 2.6, section 3.2.29) OpenRTB has added the Structured User Agent (SUA) object. These changes regarding SUA will support Google’s efforts to replace the traditional user agent string that has been around since the beginning of the internet to identify the requesting device and browser. The SUA is an outgrowth of Google’s transition to a new mechanism called User-Agent Client Hints. Essentially, the SUA is a combination of the User-Agent Client Hints. You can learn more about Structured User Agents and how to use them with WURFL device detection here.
WURFL is the industry’s leading device detection solution, providing 80% of the web’s mobile device analytics, and is used by advertising leaders like Google, Amazon, Criteo, Smaato, and MediaMath. ScientiaMobile provides several different products suited to the advertising industry. WURFL can supply more than 500 capabilities describing different attributes of desktops, smartphones, tablets, smart TVs, and game consoles. These device detection capabilities are updated weekly to ensure the highest level of accuracy and speed for OpenRTBs and other programmatic advertisers to correctly optimize ads to the right device, screen, size, and more. To help developers, we have matched WURFL capabilities to the OpenRTB device object’s parameters.
Mapping of OpenRTB Spec Device Object to WURFL
Here is the mapping of WURFL capabilities to the OpenRTB spec device object put out by the IAB.
| OpenRTB | WURFL |
|---|---|
| ua | User-agent (not a capability, but an input to the WURFL API) |
| sua | Structured user agent. Users should feed both the ua and sua objects into WURFL. The WURFL API has the intelligence to determine which will provide better detection accuracy. Learn how to do this in this blog post. |
| devicetype | See the ORTB2GetDevicetype reference implementation to map WURFL capability values to devicetype |
| make | brand_nameNote: in cases like the Google Pixel, the manufacturer, HTC, is available via manufacturer_name |
| model | model_name, marketing_name |
| os | advertised_device_os |
| osv | advertised_device_os_version |
| hwv | model_name, marketing_name |
| h | resolution_height |
| w | resolution_width |
| ppi | pixel_density |
| pxratio | density_class |
| js | ajax_support_javascript |
| flashver | No version info, but full_flash_support is available to find if a device supports flash |
| connectiontype | WURFL does not know the current connection type, but max_data_rate can be used to find the max connection speed |
Notes:
- make: WURFL offers
brand_nameandmanufacturer_name.manufacturer_nameis only set if it is different thanbrand_name. For example: “Google Pixel” hasbrand_name="Google", withmanufacturer_name="HTC" - model: WURFL offers
model_nameandmarketing_name.marketing_nameis only set if it differs frommodel_name. For example: “Samsung Galaxy S8+” hasmodel_name="SM-G955F"(and many others), withmarketing_name="Galaxy S8+" - hwv: For iOS devices, iOS and iPadOS User-Agent strings do not expose hardware model information, meaning server-side detection alone cannot distinguish between, for example, an iPhone Air and an iPhone 16e. For publishers and platforms that require hardware-level
hwvprecision on iOS, WURFL.js and WurflRTD for Prebid.js are the recommended solutions to provide accuratemodel_nameandmarketing_namevalues, as they are able to interrogate the device directly in the browser context and provide model-level detection for iOS.
A few notes on populating the OpenRTB devicetype field
The ORTB2GetDevicetype reference implementation in the WURFL InFuze Golang module is the authoritative guide for this mapping logic.
The WURFL OnSite PHP API and the WURFL InFuze Golang module both provide native methods to retrieve the devicetype value directly from a User-Agent string or HTTP request, without requiring a manual implementation of the mapping logic.
The WURFL OnSite API for Java release package (available to licensed customers) includes a demo project named wurfl-ortb2-demo containing a sample Java implementation.
The following static capabilities: is_ott, is_console, physical_form_factor and the following virtual capabilities: form_factor are required to be present in the loaded wurfl.xml file for the devicetype mapping logic to function correctly.
Adding More Capabilities, More Advertising Value
Publishers, DSPs, SSPs and Advertisers can go beyond these parameters and provide even more value. Using WURFL to decode the user-agent string (or resolve the WURFL ID if your trading counterparty provides it), you can add even more detail and increase value. For example, our is_robot capability will identify bots/crawlers. is_robot can help limit showing ads to non-human traffic. Below are other ways Advertising firms use WURFL device intelligence.
