Generalização do user agent

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 o for reduzida, essas representações do user agent serão consideradas ser generalizada.

As representações generalizadas do user agent aumentam a proteção da privacidade ao limitando informações que podem distinguir um determinado navegador ou dispositivo de em outros navegadores ou dispositivos.

Visão geral

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 pelo user agent da solicitação cabeçalhos HTTP.

User agents não generalizados podem conter um navegador e um sistema operacional granulares versões e outros dados detalhados que são reduzidos na forma generalizada do do usuário.

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 Campos PrivacyTreatments (protocolo do Google, OpenRTB).

Objeto UserAgent generalizado

No UserAgent generalizado, os campos version de todas as entradas browser e do platform são reduzidos para conter apenas a versão principal em substituindo os componentes de versão mais refinados por zeros. Nenhuma outra informação no objeto UserAgent é removido.

O exemplo a seguir compara o conteúdo original de UserAgent.browser com sua forma generalizada:

Original brand: "Chrome" version: ["96", "0", "4664", "92"]

Generalizado brand: "Chrome" version: ["96", "0", "0", "0"]

O Google nem sempre generaliza as versões do navegador e da plataforma, principalmente quando a versão completa é congelada pelo navegador. Por exemplo, os seguintes 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 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 são reduzidos apenas a versões principais. Por exemplo, "Chrome/96.0.4664.92". se torna "​​Chrome/96.0.0.0". Componentes de versão congelada, como "AppleWebKit/537.36", são preservados. Essas mudanças são equivalentes a o 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, o build ou a versão do firmware do dispositivo ou certos dados específicos do app que geralmente são adicionados ao final da string.

O exemplo a seguir compara o conteúdo original da string User-Agent à 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]

Generalizado 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

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_COARSE }

Protocolo OpenRTB BidRequest.ext.privacy_treatments: { user_agent: USER_AGENT_COARSE }

O Google usa abordagens semelhantes para generalizar a string User-Agent e o objeto UserAgent. Como resultado, a string User-Agent generalizada e o o objeto UserAgent generalizado transporta uma quantidade semelhante de informações.