Si un editor o un usuario requiere una mayor protección de la privacidad, es posible que Google reduzca la cantidad de información proporcionada en los campos de usuario-agente. Cuando se reduce la información, estas representaciones de usuario-agente se consideran generalizadas.
Las representaciones de usuario-agente generalizados proporcionan una mayor protección de la privacidad, ya que limitan la información que podría distinguir un navegador o un dispositivo de otros navegadores o dispositivos.
Descripción general
La solicitud de oferta contiene dos representaciones de la información del usuario-agente: la cadena User-Agent
que se encuentra en BidRequest.device.ua
y el objeto UserAgent
que se encuentra en BidRequest.device.sua
. Ambos campos contienen información proporcionada por los encabezados HTTP del usuario-agente de la solicitud.
Los usuarios-agentes no generalizados pueden contener versiones detalladas del navegador y del sistema operativo, y otros datos detallados que se reducen en la forma generalizada del usuario-agente.
La generalización es retrocompatible con la detección de navegadores y tipos de dispositivos.
Las solicitudes de ofertas indican si los campos de usuario-agente se generalizaron en BidRequest.ext.privacy_treatments
.
Objeto UserAgent generalizado
En el UserAgent
generalizado, los campos version
de todas las entradas browser
y de platform
se reducen para contener solo la versión principal reemplazando cualquier componente de versión más detallado por ceros. No se quita ninguna otra información del objeto UserAgent
.
En el siguiente ejemplo, se compara el contenido original de UserAgent.browser
con su forma generalizada:
brand: "Chrome" version: ["96", "0", "4664", "92"]
original
Generalizado
brand: "Chrome" version: ["96", "0", "0", "0"]
Google no siempre generaliza las versiones del navegador y de la plataforma, en particular cuando el navegador inmoviliza la versión completa. Por ejemplo, no se modificará el siguiente valor de UserAgent.browser
: brand: "AppleWebKit" version: ["537", "36"]
.
Cuando se generaliza el objeto UserAgent
, la solicitud de oferta también contiene el campo user_agent_data
en el objeto PrivacyTreatments
:
BidRequest.ext.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }
Cadena User-Agent
generalizada
En la cadena User-Agent
generalizada, los identificadores de navegador y plataforma se reducen solo a las versiones principales. Por ejemplo, "Chrome/96.0.4664.92"
se convierte en "Chrome/96.0.0.0"
. Se conservan los componentes de la versión inmovilizada, como "AppleWebKit/537.36"
. Estos cambios son equivalentes a lo que describimos para el objeto UserAgent
.
Algunos detalles o elementos no estándar, exclusivos de la cadena User-Agent
, también pueden estar ocultos, por ejemplo, la compilación o la versión de firmware del dispositivo, o ciertos datos específicos de la app que a menudo se agregan al final de la cadena.
En el siguiente ejemplo, se compara el contenido original de la cadena User-Agent
con su forma generalizada:
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]
original
Generalizado
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
Cuando se generaliza la cadena User-Agent
, la solicitud de oferta contiene el indicador user_agent
en el objeto PrivacyTreatments
:
BidRequest.ext.privacy_treatments: { user_agent: USER_AGENT_COARSE }
Google usa enfoques similares para generalizar la cadena User-Agent
y el objeto UserAgent
. Como resultado, la cadena User-Agent
generalizada y el objeto UserAgent
generalizado contienen una cantidad similar de información.