Se um editor ou usuário exigir mais proteções de privacidade, o Google poderá reduzir a quantidade de informações fornecidas nos campos do user agent. Quando as informações são reduzidas, essas representações do user agent são consideradas generalizadas.
As representações generalizadas do user agent oferecem mais proteções de privacidade ao limitar informações que podem distinguir um determinado navegador ou dispositivo de outros navegadores ou dispositivos.
Informações gerais
A solicitação de lance contém duas representações de informações do user agent: a string User-Agent
e o objeto UserAgent
(protocolo do Google, OpenRTB).
Ambos os campos contêm informações fornecidas pelos cabeçalhos HTTP do user agent
da solicitação.
Os user agents não generalizados podem conter versões granulares do navegador e do sistema operacional, além de outros dados detalhados que são reduzidos na forma generalizada do user agent.
A generalização é compatível com versões anteriores para detecção de tipo de dispositivo e navegador.
As solicitações de lance indicam se os campos do user agent foram generalizados nos campos PrivacyTreatments
(protocolo do Google, OpenRTB).
Objeto UserAgent generalizado
Na UserAgent
generalizada, os campos version
de todas as entradas browser
e do platform
são reduzidos para conter apenas a versão principal, substituindo todos os componentes de versão mais refinados por zeros. Nenhuma outra informação
no objeto UserAgent
é removida.
O exemplo a seguir compara o conteúdo original de UserAgent.browser
à
forma generalizada:
Original
brand: "Chrome" version: ["96", "0", "4664", "92"]
brand: "Chrome" version: ["96", "0", "0", "0"]
generalizado
O Google nem sempre generaliza as versões do navegador e da plataforma, principalmente quando a versão completa é congelada pelo navegador. Por exemplo, o seguinte valor de UserAgent.browser
não será modificado: brand: "AppleWebKit" version: ["537", "36"]
.
Quando o objeto UserAgent
é generalizado, a solicitação de lance também contém o campo user_agent_data
no objeto PrivacyTreatments
:
Protocolo do Google
BidRequest.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }
Protocolo OpenRTB
BidRequest.ext.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }
String User-Agent
generalizada
Na string User-Agent
generalizada, os identificadores de navegador e plataforma são
reduzidos apenas para as versões principais. Por exemplo, "Chrome/96.0.4664.92"
torna-se "Chrome/96.0.0.0"
. Os componentes da versão congelada, como
"AppleWebKit/537.36"
, são preservados. Essas alterações são equivalentes ao
que descrevemos para o objeto UserAgent
.
Exclusivo para a string user-Agent
, alguns detalhes ou elementos não padrão
também podem ser editados, por exemplo, a versão do build ou do firmware do dispositivo ou
determinados dados específicos do app que são frequentemente adicionados ao final da string.
O exemplo a seguir compara o conteúdo original da string User-Agent
com a forma generalizada:
Original
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]
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
generalizado
Quando a string User-Agent
é generalizada, a solicitação de lance contém o indicador user_agent
no objeto PrivacyTreatments
:
Protocolo do Google
BidRequest.privacy_treatments: { user_agent: USER_AGENT_COARSENED }
Protocolo OpenRTB
BidRequest.ext.privacy_treatments: { user_agent: USER_AGENT_COARSENED }
O Google usa abordagens semelhantes para generalizar a string User-Agent
e o
objeto UserAgent
. Como resultado, a string User-Agent
generalizada e o objeto UserAgent
generalizado carregam uma quantidade semelhante de informações.