Обобщение пользовательского агента

Если издателю или пользователю требуется повышенная защита конфиденциальности, Google может уменьшить объем информации, предоставляемой в полях пользовательского агента. Когда информация сокращена, эти представления пользовательского агента считаются обобщенными.

Обобщенные представления пользовательского агента обеспечивают повышенную защиту конфиденциальности за счет ограничения информации, которая может отличать данный браузер или устройство от других браузеров или устройств.

Обзор

Запрос ставки содержит два представления информации User Agent: строку User-Agent и объект UserAgent ( протокол Google , OpenRTB ). Оба поля содержат информацию, предоставленную HTTP-заголовками пользовательского агента запроса.

Необобщенные пользовательские агенты могут содержать подробные версии браузера и операционной системы, а также другие подробные данные, которые сокращаются в обобщенной форме пользовательского агента.

Обобщение обратно совместимо для определения типа браузера и устройства. Запросы ставок указывают, были ли поля User Agent обобщены в полях PrivacyTreatments ( протокол Google , OpenRTB ).

Обобщенный объект UserAgent

В обобщенном UserAgent поля version из всех записей browser и с platform сокращаются до содержания только основной версии путем замены всех более детальных компонентов версии нулями. Никакая другая информация в объекте UserAgent не удаляется.

В следующем примере исходное содержимое UserAgent.browser сравнивается с его обобщенной формой:

Оригинальный brand: "Chrome" version: ["96", "0", "4664", "92"]

Общий brand: "Chrome" version: ["96", "0", "0", "0"]

Google не всегда обобщает версии браузера и платформы, особенно когда полная версия зависает браузером. Например, следующее значение UserAgent.browser не будет изменено: brand: "AppleWebKit" version: ["537", "36"] .

Когда объект UserAgent является обобщенным, запрос ставки также содержит поле user_agent_data в объекте PrivacyTreatments :

Протокол Google BidRequest.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }

Протокол OpenRTB BidRequest.ext.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }

Обобщенная строка User-Agent

В обобщенной строке User-Agent идентификаторы браузера и платформы сокращаются только до основных версий. Например, "Chrome/96.0.4664.92" становится "​​Chrome/96.0.0.0" . Компоненты замороженной версии, такие как "AppleWebKit/537.36" , сохраняются. Эти изменения эквивалентны тому, что мы описали для объекта UserAgent .

Некоторые детали или нестандартные элементы, уникальные для строки user-Agent , также могут быть отредактированы, например версия сборки или прошивки устройства, а также определенные данные, специфичные для приложения, которые часто добавляются в конце строки.

В следующем примере исходное содержимое строки User-Agent сравнивается с ее обобщенной формой:

Оригинальная Mozilla/5.0 (Linux; Android 11; M2007J20CG Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.92 Mobile Safari/537.36 [MyApp:CustomSignals:ABC123]

Обобщенный Mozilla/5.0 (Linux; Android 11; M2007J20CG; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.0.0 Mobile Safari/537.36

Когда строка User-Agent обобщена, запрос ставки содержит сигнал user_agent в объекте PrivacyTreatments :

Протокол Google BidRequest.privacy_treatments: { user_agent: USER_AGENT_COARSENED }

Протокол OpenRTB BidRequest.ext.privacy_treatments: { user_agent: USER_AGENT_COARSENED }

Google использует аналогичные подходы к обобщению строки User-Agent и объекта UserAgent . В результате обобщенная строка User-Agent и обобщенный объект UserAgent содержат одинаковый объем информации.