Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New module: WURFL Device Enrichment Module #4158

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

lucor
Copy link

@lucor lucor commented Jan 17, 2025

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).
  • pixelratio: Screen pixel density ratio.
  • devicetype: Device type (e.g., mobile, tablet, desktop).

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant