Generalización de usuario-agente

Si un editor o un usuario requieren más protecciones de la privacidad, Google puede reducir la cantidad de información proporcionada en los campos del usuario-agente. Cuando se reduce la información, estas representaciones de usuario-agente se consideran generalizadas.

Las representaciones de usuario-agente generalizadas proporcionan una mayor protección de la privacidad, ya que limitan la información que podría distinguir un navegador o un dispositivo determinado de otros navegadores o dispositivos.

Descripción general

La solicitud de oferta contiene dos representaciones de información de usuario-agente: la string User-Agent y el objeto UserAgent (protocolo de Google, OpenRTB). Ambos campos contienen información proporcionada por los encabezados HTTP de 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 para la detección de navegadores y tipos de dispositivos. Las solicitudes de oferta indican si los campos de usuario-agente se generalizaron en campos PrivacyTreatments (protocolo de Google, OpenRTB).

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 mediante el reemplazo de los componentes de la versión más detallados 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:

Original brand: "Chrome" version: ["96", "0", "4664", "92"]

Generalizada brand: "Chrome" version: ["96", "0", "0", "0"]

Google no siempre generaliza las versiones del navegador y de la plataforma, en especial cuando el navegador bloquea la versión completa. Por ejemplo, el siguiente valor de UserAgent.browser no se modificará: 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:

Protocolo de Google BidRequest.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }

Protocolo OpenRTB BidRequest.ext.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }

String User-Agent generalizada

En la string User-Agent generalizada, los identificadores de navegador y de plataforma se reducen solo a las versiones principales. Por ejemplo, "Chrome/96.0.4664.92" se convierte en "​​Chrome/96.0.0.0". Los componentes de la versión congelada, como "AppleWebKit/537.36", se conservan. Estos cambios son equivalentes a lo que describimos para el objeto UserAgent.

Es posible que también se oculten algunos detalles o elementos no estándar de la cadena user-Agent, como la versión de compilación o de firmware del dispositivo, o ciertos datos específicos de la app que se suelen agregar al final de la cadena.

En el siguiente ejemplo, se compara el contenido original de la string User-Agent con su forma generalizada:

Original 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]

Generalizada 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:

Protocolo de Google BidRequest.privacy_treatments: { user_agent: USER_AGENT_COARSENED }

Protocolo OpenRTB BidRequest.ext.privacy_treatments: { user_agent: USER_AGENT_COARSENED }

Google usa enfoques similares para generalizar la cadena User-Agent y el objeto UserAgent. Como resultado, la string User-Agent generalizada y el objeto UserAgent generalizado llevan una cantidad similar de información.