Appearance
OperaAds App Set ID Integration Guide
What is App Set ID?
App Set ID is a privacy-friendly Android device identifier introduced by Google as a replacement for the Advertising ID (GAID). It is shared only across apps published under the same developer account and is intended for anti-fraud and analytics use cases. It must not be used to track users across different publishers or developers.
For details, see the official documentation: AppSetIdInfo.
Availability
OperaAds normalizes the App Set ID fields received from upstream SSPs and forwards them to bidders as standard Google fields. The fields are:
- Only sent for Android requests (
device.os == "ANDROID"); - Only present when the upstream SSP actually provided an App Set ID;
- Optional for bidders — the fields may be absent, and
app_set_id_scopemay be absent even whenapp_set_idis present.
Specification
Request
| Field | Type | Description |
|---|---|---|
| device.ext.app_set_id | string | App Set ID, a 36-character lowercase UUID. |
| device.ext.app_set_id_scope | int | Scope of the identifier. 1 = App, 2 = Developer. Omitted when not provided. |
app_set_id_scope is only present when the upstream SSP explicitly provided a valid scope value (1 or 2).
Sample
Request
json
{
"id": "00000822d5685e68fc80_9872",
"imp": [
{
"id": "00000822d5685e68fc80_9872",
"banner": {
"w": 320,
"h": 50
},
"displaymanager": "opera",
"displaymanagerver": "0.0.1",
"instl": 0,
"tagid": "s887400326784",
"bidfloor": 0.08,
"bidfloorcur": "USD",
"secure": 1,
"exp": 7200
}
],
"app": {
"id": "app307992346304",
"name": "Opera for Android Final",
"domain": "opera.com",
"privacypolicy": 1,
"publisher": {
"id": "pub236088034304"
},
"bundle": "com.opera.browser",
"storeurl": "https://play.google.com/store/apps/details?id=com.opera.browser",
"ver": "74.1.3922.71199"
},
"device": {
"ua": "Mozilla/5.0 (Linux; Android 12; TECNO LG7n) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.5481.192 Mobile Safari/537.36 OPR/74.1.3922.71199",
"geo": {
"type": 2,
"country": "RUS",
"region": "RU-KIR",
"city": "Kirov"
},
"dnt": 0,
"lmt": 0,
"ip": "176.59.255.255",
"devicetype": 4,
"make": "TECNO",
"model": "TECNOLG7n",
"os": "ANDROID",
"osv": "12",
"h": 1567,
"w": 720,
"js": 1,
"language": "ru",
"mccmnc": "250-20",
"connectiontype": 5,
"ext": {
"app_set_id": "550e8400-e29b-41d4-a716-446655440000",
"app_set_id_scope": 1
}
},
"user": {
"id": "511b4522807a7902"
},
"at": 1,
"tmax": 1000,
"cur": ["USD"],
"bcat": ["IAB24", "IAB25", "IAB26"],
"badv": [],
"bapp": [],
"regs": {
"coppa": 0,
"ext": {
"gdpr": 0
}
}
}