OAID: рекламный идентификатор Huawei и Android без Google
OAID (Open Anonymous Device Identifier) — рекламный идентификатор Android-устройств, который выдает не Google, а система производителя: Huawei, Honor и ряд других брендов. Он выполняет ту же роль, что GAID: анонимная сбрасываемая строка для частоты, атрибуции и аудиторий. На смартфонах Huawei без сервисов Google OAID — единственный доступный рекламный ID.
Откуда взялся OAID
Рекламный ID на Android исторически был частью Google Play services. Устройства без этих сервисов — прежде всего Huawei, выпущенные с конца 2019 года, — остались без GAID. Но сам стандарт OAID — не только про Huawei: его описал Mobile Security Alliance (MSA) — отраслевой альянс в Китае, где Android-смартфоны для внутреннего рынка и так выпускают без сервисов Google. Поэтому OAID отдают системы Huawei, Honor, Xiaomi, OPPO, vivo и других брендов, а Huawei — через Huawei Mobile Services (HMS).
Для российского мобильного трафика это заметная доля: смартфоны Huawei и Honor распространены, а приложения на них часто ставят не из Google Play, а из альтернативных магазинов.
Как приложение получает OAID
- Приложение запрашивает идентификатор через SDK производителя (у Huawei —
AdvertisingIdClientиз HMS). - Система возвращает OAID и флаг
isLimitAdTrackingEnabled. - Рекламный SDK или SSP кладет OAID в запрос ставки.
- DSP использует его так же, как GAID: для частотных ограничений, сегментов и атрибуции.
Обычный вид OAID — строка в формате UUID, например 1a2b3c4d-5e6f-7a8b-9c0d-112233445566. Если пользователь ограничил персонализацию, идентификатор может прийти обнуленным.
Как OAID передается в OpenRTB
Стандарта для OAID в OpenRTB нет, и SSP делают по-разному:
"device": {
"os": "android",
"make": "HUAWEI",
"ifa": "1a2b3c4d-5e6f-7a8b-9c0d-112233445566",
"ext": { "ifa_type": "oaid" }
}
или
"device": {
"os": "android",
"ifa": "38400000-8cf0-11bd-b23e-10b96e40000d",
"ext": { "oaid": "1a2b3c4d-5e6f-7a8b-9c0d-112233445566" }
}
Во втором варианте у устройства есть оба идентификатора. DSP, которая смотрит только на device.ifa, примет OAID за GAID или потеряет его вовсе, — поэтому формат источника нужно разбирать явно.
Чем OAID отличается от GAID
| GAID | OAID | |
|---|---|---|
| Кто выдает | Google Play services | производитель устройства (HMS у Huawei) |
| Где есть | Android с сервисами Google | Huawei, Honor и ряд других Android-брендов |
| Сброс и запрет персонализации | да | да |
| Поддержка в MMP | повсеместная | в крупных трекерах, нужен модуль или SDK |
| Поле в OpenRTB | device.ifa |
device.ifa или расширение, по договоренности с SSP |
Нюансы атрибуции
- В трекинговой ссылке должен быть OAID. Если MMP-ссылка передает только
gaid, установки с Huawei без Google не сопоставятся с кликом. - Одно устройство — два ID. На старых Huawei с сервисами Google есть и GAID, и OAID; события по ним нужно связывать, иначе один пользователь считается двумя.
- Приложение должно уметь получить OAID. Без подключенного SDK производителя трекер в приложении рекламодателя его не увидит, и атрибуция по OAID не сработает.
OAID в Ibiza
DSP Ibiza принимает OAID наравне с GAID и сводит их в identity-графе: идентификаторы одного устройства относятся к одному пользователю, поэтому частотные ограничения и сегменты не дробятся. В клик-ссылку MMP OAID подставляется макросом {oaid}, GAID — макросом {gaid}; подробности — в разделе макросы и трекеры.
Частые вопросы
Чем OAID отличается от GAID?
Оба — сбрасываемые рекламные идентификаторы Android. GAID выдают сервисы Google Play, OAID — система производителя устройства. На смартфонах Huawei без сервисов Google GAID нет, и OAID остается единственным рекламным ID.
Как получить OAID в приложении?
На устройствах Huawei — через SDK HMS (Ads Kit / OAID SDK) и класс AdvertisingIdClient; у других производителей — через их системные API, которые обычно оборачивают в общий SDK. MMP-трекеры, как правило, собирают OAID сами при подключении нужного модуля.
Можно ли пользователю сбросить OAID?
Да. В настройках конфиденциальности можно сбросить идентификатор и запретить персонализированную рекламу; приложение получает флаг ограничения отслеживания и должно его соблюдать.