Motivation
Provide more precise and more expected signal to the SSPs/DSPs in an attempt to optimize for publisher revenue.
Background
Currently the module does not fill the ortb2.device.hwv field because there was no direct mapping to these field provided by 51Degrees under OpenRTB mappings - it only "said that this information is contained under HardwareModel property". However with the addition of HardwareNameVersion property we can fill this value.
We were also using populating ortb2.device.model as HardwareModel if we had it - including both Prefix and Version into the model. With the fallback to HardwareName (coma-concatenated) if there was no value returned for HardwareModel. This led to device.model potentially being over-specific (specifying full device name and version while the SSP/DSP expected just "iPhone" not "iPhone 12 Pro Max" - this is a hypothesis however).
Objective
Change the logic like so:
- If
HardwareNamePrefix is non-empty use it to populate device.model, otherwise fallback to the existing code.
- Populate
device.hwv with HardwareNameVersion.
- Add unit tests.
- Update documentation in the
prebid.github.io repo.
cc: @51Degrees/data please review - if you are happy with this we'll move on with the implementation.
Motivation
Provide more precise and more expected signal to the SSPs/DSPs in an attempt to optimize for publisher revenue.
Background
Currently the module does not fill the
ortb2.device.hwvfield because there was no direct mapping to these field provided by 51Degrees under OpenRTB mappings - it only "said that this information is contained under HardwareModel property". However with the addition ofHardwareNameVersionproperty we can fill this value.We were also using populating
ortb2.device.modelasHardwareModelif we had it - including both Prefix and Version into the model. With the fallback toHardwareName(coma-concatenated) if there was no value returned forHardwareModel. This led todevice.modelpotentially being over-specific (specifying full device name and version while the SSP/DSP expected just "iPhone" not "iPhone 12 Pro Max" - this is a hypothesis however).Objective
Change the logic like so:
HardwareNamePrefixis non-empty use it to populatedevice.model, otherwise fallback to the existing code.device.hwvwithHardwareNameVersion.prebid.github.iorepo.cc: @51Degrees/data please review - if you are happy with this we'll move on with the implementation.