Si un éditeur ou un utilisateur demande une protection accrue de la confidentialité, Google peut réduire la quantité d'informations fournies dans les champs de l'user-agent. Lorsque les informations sont réduites, ces représentations d'agent utilisateur sont considérées comme généralisées.
Les représentations généralisées de l'user-agent renforcent la protection de la confidentialité en limitant les informations susceptibles de distinguer un navigateur ou un appareil donné des autres navigateurs ou appareils.
Présentation
La demande d'enchère contient deux représentations des informations sur l'User-Agent : la chaîne User-Agent
trouvée dans BidRequest.device.ua
et l'objet UserAgent
trouvé dans BidRequest.device.sua
. Les deux champs contiennent des informations fournies par les en-têtes HTTP de l'user-agent de la requête.
Les user-agents non généralisés peuvent contenir des versions précises du navigateur et du système d'exploitation, ainsi que d'autres données détaillées qui sont réduites dans la forme généralisée de l'user-agent.
La généralisation est rétrocompatible pour la détection du navigateur et du type d'appareil.
Les demandes d'enchères indiquent si les champs User-Agent ont été généralisés dans BidRequest.ext.privacy_treatments
.
Objet UserAgent généralisé
Dans le UserAgent
généralisé, les champs version
de toutes les entrées browser
et de platform
sont réduits pour ne contenir que la version majeure en remplaçant tous les composants de version plus précis par des zéros. Aucune autre information de l'objet UserAgent
n'est supprimée.
L'exemple suivant compare le contenu d'origine de UserAgent.browser
à sa forme généralisée:
brand: "Chrome" version: ["96", "0", "4664", "92"]
d'origine
brand: "Chrome" version: ["96", "0", "0", "0"]
généralisé
Google ne généralise pas toujours les versions du navigateur et de la plate-forme, en particulier lorsque la version complète est figé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 requête d'enchère contient également le champ user_agent_data
dans l'objet PrivacyTreatments
:
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 du navigateur et de la plate-forme sont réduits aux versions majeures uniquement. Par exemple, "Chrome/96.0.4664.92"
devient "Chrome/96.0.0.0"
. Les composants de la version congelée, tels que "AppleWebKit/537.36"
, sont conservés. Ces modifications sont équivalentes à ce que nous avons décrit pour l'objet UserAgent
.
Unique à la chaîne User-Agent
, certains détails ou éléments non standards peuvent également être masqués, par exemple la version de compilation ou du micrologiciel de l'appareil, ou certaines données spécifiques à l'application qui sont souvent ajoutées à la fin de la chaîne.
L'exemple suivant compare le contenu d'origine de la chaîne User-Agent
à sa forme généralisée:
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]
d'origine
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
généralisé
Lorsque la chaîne User-Agent
est généralisée, la requête d'enchère contient le signal user_agent
dans l'objet PrivacyTreatments
:
BidRequest.ext.privacy_treatments: { user_agent: USER_AGENT_COARSE }
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é d'informations similaire.