Généralisation du user-agent

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.