prebid-server icon indicating copy to clipboard operation
prebid-server copied to clipboard

New module: WURFL Device Enrichment Module

Open lucor opened this issue 11 months ago • 1 comments

This PR adds the WURFL Device Enrichment Module.

Overview

The WURFL Device Enrichment Module for Prebid Server enhances the OpenRTB 2.x payload with comprehensive device detection data powered by ScientiaMobile’s WURFL device detection framework. Thanks to WURFL's device database, the module provides accurate and comprehensive device-related information, enabling bidders to make better-informed targeting and optimization decisions.

Key features

Device Field Enrichment

The WURFL module populates missing or empty fields in ortb2.device with the following data:

  • make: Manufacturer of the device (e.g., "Apple", "Samsung").
  • model: Device model (e.g., "iPhone 14", "Galaxy S22").
  • os: Operating system (e.g., "iOS", "Android").
  • osv: Operating system version (e.g., "16.0", "12.0").
  • h: Screen height in pixels.
  • w: Screen width in pixels.
  • ppi: Screen pixels per inch (PPI).
  • pxratio: Screen pixel density ratio.
  • devicetype: Device type (e.g., mobile, tablet, desktop).
  • js: Support for JavaScript, where 0 = no, 1 = yes

Note: If these fields are already populated in the bid request, the module will not overwrite them.

Publisher-Specific Enrichment

Device enrichment is selectively enabled for publishers based on their account ID. The module identifies publishers through the following fields:

  • site.publisher.id (for web environments).
  • app.publisher.id (for mobile app environments).
  • dooh.publisher.id (for digital out-of-home environments).

Build prerequisites

To build the WURFL module, you need to install the WURFL Infuze from ScientiaMobile. For more details, visit: ScientiaMobile WURFL Infuze.

Note

The WURFL module requires CGO at compile time to link against the WURFL Infuze library.

To enable the WURFL module, the wurfl build tag must be specified:

go build -tags wurfl .

If the wurfl tag is not provided, the module will compile a demo version that returns sample data, allowing basic testing without an Infuze license.

lucor avatar Jan 17 '25 13:01 lucor

@linux019 we have green light from Rules commitee wrt including non open source dependencies/libraries.

paulborile avatar Oct 20 '25 08:10 paulborile