Si un éditeur ou un utilisateur a besoin d'une protection accrue de la confidentialité, Google peut réduire la quantité d'informations fournies dans les champs du user-agent. Lorsque les informations sont réduites, ces représentations user-agent sont considérées comme généralisées.
Les représentations user-agent généralisées renforcent la protection de la confidentialité en limitant les informations pouvant distinguer un navigateur ou un appareil donné d'autres navigateurs ou appareils.
Présentation
La demande d'enchère contient deux représentations des informations user-agent : la chaîne User-Agent
et l'objet UserAgent
(protocole Google, OpenRTB).
Les deux champs contiennent des informations fournies par les en-têtes HTTP du user-agent de la requête.
Les user-agents non généralisés peuvent contenir des versions précises des navigateurs et des systèmes d'exploitation, ainsi que d'autres données détaillées réduites sous leur forme généralisée.
La généralisation est rétrocompatible pour la détection du type de navigateur et d'appareil.
Les demandes d'enchères indiquent si les champs user-agent ont été généralisés dans les champs PrivacyTreatments
(protocole Google, OpenRTB).
Objet UserAgent généralisé
Dans la UserAgent
généralisée, les champs version
de toutes les entrées browser
et de platform
sont réduits pour ne contenir que la version majeure. Pour ce faire, les composants de version plus précis sont remplacés par des zéros. Aucune autre information dans l'objet UserAgent
n'est supprimée.
L'exemple suivant compare le contenu d'origine de UserAgent.browser
à sa forme généralisée:
Originale
brand: "Chrome" version: ["96", "0", "4664", "92"]
Généralisé
brand: "Chrome" version: ["96", "0", "0", "0"]
Google ne généralise pas toujours les versions des navigateurs et des plates-formes, en particulier lorsque la version complète est gelée par le navigateur. Par exemple, la valeur suivante de UserAgent.browser
ne sera pas modifiée : brand: "AppleWebKit" version: ["537", "36"]
.
Lorsque l'objet UserAgent
est généralisé, la demande d'enchère contient également le champ user_agent_data
dans l'objet PrivacyTreatments
:
Protocole Google
BidRequest.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }
Protocole OpenRTB
BidRequest.ext.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }
Chaîne User-Agent
généralisée
Dans la chaîne User-Agent
généralisée, les identifiants de navigateur et de plate-forme ne sont limités qu'aux versions majeures. Par exemple, "Chrome/96.0.4664.92"
devient "Chrome/96.0.0.0"
. Les composants de la version figée, tels que "AppleWebKit/537.36"
, sont conservés. Ces modifications sont équivalentes à ce que nous avons décrit pour l'objet UserAgent
.
Certains détails ou éléments non standards peuvent également être masqués, par exemple la version du build ou du micrologiciel de l'appareil, ou certaines données spécifiques à l'application souvent ajoutées à la fin de la chaîne. Il est possible de masquer certains détails ou éléments non standards spécifiques à la chaîne user-Agent
.
L'exemple suivant compare le contenu d'origine de la chaîne User-Agent
à sa forme généralisée:
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]
Généralisé
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
Lorsque la chaîne User-Agent
est généralisée, la demande d'enchère contient le signal user_agent
dans l'objet PrivacyTreatments
:
Protocole Google
BidRequest.privacy_treatments: { user_agent: USER_AGENT_COARSENED }
Protocole OpenRTB
BidRequest.ext.privacy_treatments: { user_agent: USER_AGENT_COARSENED }
Google utilise des approches similaires pour généraliser la chaîne User-Agent
et l'objet UserAgent
. Par conséquent, la chaîne User-Agent
généralisée et l'objet UserAgent
généralisé contiennent une quantité similaire d'informations.