Si un éditeur ou un utilisateur a besoin d'une protection renforcée de la confidentialité, Google peut réduire la quantité d'informations fournies dans les champs de l'agent utilisateur. 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 des user-agents 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 de 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 informations précises sur les versions de navigateur et de système d'exploitation, ainsi que d'autres données détaillées qui sont réduites dans la forme généralisée du user-agent.
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 BidRequest.ext.privacy_treatments.
Objet User-Agent généralisé
Dans le UserAgent généralisé, les champs version de toutes les entrées browser et du platform sont réduits pour ne contenir que la version majeure en remplaçant 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 :
Prix d'origine
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 de navigateur et de plate-forme, en particulier lorsque la version complète est figée par le navigateur. Par exemple, la valeur UserAgent.browser suivante ne sera pas modifiée : brand: "AppleWebKit" version: ["537", "36"].
Lorsque l'objet UserAgent est généralisé, la demande d'enchères 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 de navigateur et de 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 version figée, tels que "AppleWebKit/537.36", sont conservés. Ces modifications sont équivalentes à celles que nous avons décrites pour l'objet UserAgent.
Certains détails ou éléments non standards propres à la chaîne User-Agent peuvent également être masqués, par exemple la version du micrologiciel ou de compilation 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 :
Prix d'origine
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 :
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.