Generalizzazione dello user agent

Se un editore o un utente richiedono maggiori protezioni della privacy, Google potrebbe ridurre la quantità di informazioni fornite nei campi dello user agent. Quando le informazioni vengono ridotte, queste rappresentazioni dello user agent sono considerate generalizzate.

Le rappresentazioni generalizzate dello user agent forniscono maggiori protezioni della privacy limitando le informazioni che potrebbero distinguere un determinato browser o dispositivo da altri browser o dispositivi.

Panoramica

La richiesta di offerta contiene due rappresentazioni delle informazioni dello user agent: la stringa User-Agent e l'oggetto UserAgent (protocollo Google, OpenRTB). Entrambi i campi contengono informazioni fornite dalle intestazioni HTTP dello user agent della richiesta.

Gli user agent non generalizzati possono contenere versioni granulari del browser e del sistema operativo, nonché altri dati dettagliati ridotti sotto forma di user agent.

La generalizzazione è compatibile con le versioni precedenti per il rilevamento del browser e del tipo di dispositivo. Le richieste di offerta indicano se i campi user agent sono stati generalizzati nei campi PrivacyTreatments (protocollo Google, OpenRTB).

Oggetto UserAgent generalizzato

Nella versione UserAgent generalizzata, i campi version di tutte le voci browser e di platform vengono ridotti per contenere solo la versione principale, sostituendo con zeri i componenti della versione più granulari. Nessun'altra informazione nell'oggetto UserAgent viene rimossa.

L'esempio seguente confronta i contenuti originali di UserAgent.browser con la sua forma generalizzata:

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

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

Google non sempre generalizza le versioni del browser e della piattaforma, in particolare quando la versione completa viene bloccata dal browser. Ad esempio, il seguente valore di UserAgent.browser non verrà modificato: brand: "AppleWebKit" version: ["537", "36"].

Quando l'oggetto UserAgent è generalizzato, la richiesta di offerta contiene anche il campo user_agent_data nell'oggetto PrivacyTreatments:

Protocollo Google BidRequest.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }

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

Stringa User-Agent generalizzata

Nella stringa User-Agent generalizzata, gli identificatori di browser e piattaforma sono ridotti solo alle versioni principali. Ad esempio, "Chrome/96.0.4664.92" diventa "​​Chrome/96.0.0.0". I componenti della versione bloccata, come "AppleWebKit/537.36", vengono conservati. Queste modifiche corrispondono a quanto descritto per l'oggetto UserAgent.

Nel caso della stringa user-Agent, potrebbero essere oscurati anche alcuni dettagli o elementi non standard, ad esempio la versione della build o del firmware del dispositivo oppure alcuni dati specifici dell'app che vengono spesso aggiunti alla fine della stringa.

L'esempio seguente confronta i contenuti originali della stringa User-Agent con la sua forma generalizzata:

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

Generalizzata 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

Quando la stringa User-Agent è generalizzata, la richiesta di offerta contiene l'indicatore user_agent nell'oggetto PrivacyTreatments:

Protocollo Google BidRequest.privacy_treatments: { user_agent: USER_AGENT_COARSENED }

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

Google utilizza approcci simili per generalizzare la stringa User-Agent e l'oggetto UserAgent. Di conseguenza, la stringa User-Agent generalizzata e l'oggetto UserAgent generalizzato portano una quantità di informazioni simile.