Contextual Parameters in our audience builder SDK
With the upcoming changes on IDFA settings in iOS 14 updates, we want to support our partners by providing this draft of the contextual parameters which will be available in our SDK product we are currently working on.
As the whole advertising ecosystem is affected by these changes, we are taking this opportunity to innovate with our audience builder SDK, which doesn’t rely on IDFA and personal identifiers, but rather uses contextual data on edge to create audiences which can not be linked to a specific person. We have been advocates for more privacy centered advertising for a while (we are a member of Prebid Committee and taking part in IAB initiatives) and we are very much looking forward to help realize more privacy centered as well as future-oriented practices in the ecosystem.
Please note that this is a draft and we will add more parameters as we progress with our product.
OpenRTB Attributes for Contextual App Targeting
Publishers can include the following parameters for Contextual App Targeting.
These attribute structure is based on OpenRTB 2.3 specifications.
Note
- All attributes are optional
- This is a list that is updated periodically
User
Attribute Name | Description | Attribute | Type | Example |
---|---|---|---|---|
Sessionduration | The total duration of time a user has spent so far in a specific app session expressed in seconds. | ext.sessionduration | integer/string | 45 |
Impdepth | The count of impressions for a specific placement type in a given app session. The impression depth is reset once the session ends. | ext.impdepth | integer/string | 3 |
Age Rating | App or screen content rating. | ext.agerating | string | "pg13" |
Device
Attribute Name | Description | Attribute | Type | Example |
---|---|---|---|---|
ATTrackingManager AuthorizationStatus | (iOS Only) passed to represent the app's app tracking authorization status. Possible values: 0 = not determined 1 = restricted 2 = denied 3 = authorized | ext.atts | integer | "atts":2 |
IDFV | (iOS Only) An alphanumeric string that uniquely identifies a device to the app’s vendor. | ext.ifv | string | "60A06FF5-3755-4077-AXXX-4520CCC9CFXX" |
Device Keyboard Languages | A string array containing the languages setup on the user's device keyboard. | ext.inputlanguage | string array | ["en","ko"] |
Battery | Remaining battery percentage | ext.battery | Integer | 91 |
IPv6 | IP address closest to device as IPv6 (128-bit value) | ipv6 | string | "2001:0db8:85a3:0000:0000:8a2e:0370:7334" |
inputlanguage | A string array containing the languages setup on the user's device keyboard. | ext.inputlanguage | string | “en-US, en” |
diskspace | An integer value describing the available disk space on the device in megabytes, where i.e. "18201" = device has 18201 MB of available disk space. | ext.diskspace | int | 18201 |
totaldisk | An integer value describing the total disk space on the device in megabytes, where i.e. "63989" = 63989 MB of total disk space. | ext.totaldisk | int | 63989 |
ringmute | (Android only) An integer value describing the device sound setting during time of ad request describing if sound is set to ring or mute, where "0" = mute and "1" = ring. | ext.ringmute | int | 0 |
charging | An integer value describing if the device is connected to a charger, where: "0" = unplugged and "1" = plugged into power outlet | ext.charging | int | 1 |
headset | A boolean value indicating if the device is connected to a headset, where: "1" = device is connected to any headset and "0" = no headset is connected | ext.headset | bool | 1 |
batterylevel | batterylevel An integer passed describing percent battery remaining on the user's device, segmented into buckets, where 100-85% = 8 84-70% = 7 69-55% = 6 54-40% = 5 39-25% = 4 21-10% = 3 9-5% = 2 < 5% = 1 | ext.batterylevel | int | 7 |
batterysaver | A boolean value indicating if battery saver ("Low Power Mode" on iOS) has been enabled, where "1" = battery saver, "0" = not enabled | ext.batterysaver | bool | 1 |
darkmode | A boolean value indicating if dark mode is enabled on the device, where "1" = dark mode enabled, "0"= not enabled | ext.darkmode | bool | 1 |
airplane | A boolean value indicating if airplane mode is enabled, where "1" = airplane mode enabled, "0" = not enabled | ext.airplane | bool | 1 |
dnd | (Android only) A boolean value indicating if “do not disturb” setting is enabled, where "1" = do not disturb enabled, "0" = not enabled. | ext.dnd | bool | 0 |
atts | (iOS 14 + only) An integer passed to represent the app's app tracking authorization status, where 0 = not determined 1 = restricted 2 = denied 3 = authorized | ext.atts | int | 3 |
bluetooth | A boolean value indicating if the device is connected to bluetooth where "1" = connected to bluetooth “0” = not connected to bluetooth | ext.bluetooth | bool | 1 |
App
Attribute Name | Description | Attribute | Type | Example |
---|---|---|---|---|
App Version | The version of the application. | ver | string | "14.16.0" |
Publisher
Attribute Name | Description | Attribute | Type | Example |
---|---|---|---|---|
Developer Domain | The developer domain used for app-ads.txt | domain | string | "developer.com" |
{
"id": "92d6421e44a44dff9f05b29be0ca5bef",
"imp": [
{
"id": "94628ee5-fe99-436d-94b5-f3270ad06529",
"banner": {
"w": 300,
"h": 250
},
"tagid": "1-abc-xyz",
"bidfloor": 0.01,
"bidfloorcur": "USD",
"secure": 1
}
],
"publisher": {
"domain": "developer.com"
},
"app": {
"id": "1008118",
"name": "Test_Android",
"bundle": "com.android.test",
"ver": "14.16.0",
"cat": [
"IAB2-1",
"IAB2-2"
],
"storeurl": "https://play.google.com/store/apps/details?id=com.android.test",
"keywords": "test, android",
"privacypolicy": 1,
"publisher": {
"id": "pub12345",
"name": "Publisher A"
}
},
"device": {
"ua": "Dalvik/2.1.0 (Linux; U; Android 6.0; MotoG3 Build/MPI24.65-25)",
"ip": "107.219.186.28",
"ipv6": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
"geo": {
"lat": 33.9775,
"lon": -118.2133,
"country": "USA",
"region": "CA",
"city": "los angeles",
"zip": "90001",
"type": 1
},
"carrier": "att internet services",
"language": "en",
"model": "Moto G3",
"os": "Android",
"osv": "6.0",
"connectiontype": 2,
"devicetype": 1,
"ifa": "03F9F0E4-937D-4F85-9275-F530E0107B2F",
"ext": {
"atts": 2,
"ifv": "60A06FF5-3755-4077-AXXX-4520CCC9CFXX",
"battery": 91,
"airplane": 0,
"batterylevel": 8,
"batterysaver": 1,
"bluetooth": 1,
"charging": 0,
"darkmode": 0,
"dnd": 0,
"headset": 0,
"inputLanguage": [
"en"
],
"ringmute": 0,
"diskspace": 1821,
"totaldisk": 128000
}
},
"user": {
"id": "50cf7979-18a7-51dd-9645-091009ad842f",
"ext": {
"sessionduration": 45,
"agerating": "pg13"
}
},
"at": 1,
"tmax": 1500,
"allimps": 0,
"cur": [
"USD"
],
"bcat": [
"IAB24",
"IAB25",
"IAB26"
]
}