Nesta página, descrevemos o mecanismo de transporte e os parâmetros de dados do protocolo de medição.
Transporte
Todos os dados precisam ser enviados com segurança usando solicitações HTTPS POST.
Envie solicitações para o seguinte endpoint:
https://www.google-analytics.com/mp/collect
Se você quiser que seus dados sejam coletados na UE, use o seguinte endpoint em vez disso:
https://region1.google-analytics.com/mp/collect
Confira um exemplo de solicitação POST:
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
PAYLOAD_DATA
Substitua PAYLOAD_DATA pelo payload da solicitação.
O Measurement Protocol retorna um código de status 2xx se a solicitação HTTP for recebida. O Measurement Protocol não retorna um código de erro se o payload estiver incorreto ou se os dados estiverem errados ou não forem processados pelo Google Analytics.
Payload
O payload tem duas partes:
- Parâmetros de consulta.
 - Um corpo 
POSTJSON. 
Parâmetros de consulta
| Nome do parâmetro | Descrição | 
|---|---|
 | 
    
        Obrigatório. A chave secreta da API da interface do Google Analytics.
         Encontrado em Administrador > Fluxos de dados > Escolha seu fluxo > Measurement Protocol > Criar. Privado para sua organização. Precisa ser atualizado regularmente para evitar excesso de spam.  | 
  
Corpo da postagem JSON
| Chave | Tipo | Descrição | 
|---|---|---|
 | 
    string | 
    
       Opcional. Identificador exclusivo de um usuário. Para mais informações sobre esse identificador, consulte User-ID para análise multiplataforma. Pode incluir apenas caracteres UTF-8.  | 
  
 
 | 
    number | 
    
       
        Opcional. Um carimbo de data/hora do Unix, microssegundos, não milissegundos. Representa o horário do evento. Só pode ser definido para registrar eventos que aconteceram no passado. Pode ser substituído por   | 
  
 | 
    object | 
    Opcional. As propriedades do usuário para a medição. | 
 | 
    object | 
    Opcional. Dados fornecidos pelo usuário. | 
 | 
    object | 
    Opcional. Configurações de consentimento para a solicitação. Confira a seção de consentimento para saber mais. | 
 | 
    boolean | 
    
      
      Opcional. Defina como true para indicar que os dados do usuário não podem ser usados para anúncios personalizados.
     | 
  
 | 
    object | 
    Opcional. Define as informações geográficas da solicitação em um formato estruturado. | 
 | 
    string | 
    Opcional. Endereço IP usado pelo Google Analytics para derivar informações geográficas da solicitação. | 
 | 
    object | 
    Opcional. Define as informações do dispositivo para a solicitação em um formato estruturado. | 
 | 
    string | 
    
       Opcional. Define o comportamento de validação da solicitação. 
  | 
  
 | 
    array | 
    
      Obrigatório. Uma matriz de itens event. Até 25 eventos podem ser enviados por solicitação.  Consulte a referência de eventos para todos os eventos válidos.
     | 
  
 | 
    string | 
    Obrigatório. Nome do evento. Consulte Eventos para todas as opções. | 
 | 
    object | 
    Opcional. Parâmetros do evento. Confira os parâmetros sugeridos para cada evento e os parâmetros comuns de eventos. | 
Parâmetros de evento comuns
O Measurement Protocol tem os seguintes parâmetros de evento comuns:
| Chave | Tipo | Descrição | 
|---|---|---|
 | 
    number | 
    
      Um número positivo que identifica a sessão do usuário. Necessário para vários casos de uso comuns.
      Precisa corresponder à expressão regular ^\d+$.
     
     
     | 
  
 | 
    number | 
    A duração do engajamento do usuário, em milissegundos, para o evento. Use um valor que reflita a quantidade de tempo de engajamento do usuário desde o evento anterior. | 
 | 
    number | 
    O horário da época Unix, em microssegundos, do evento. Use esse parâmetro para substituir o carimbo de data/hora do evento. | 
Consentimento
O atributo consent configura os tipos e estados de consentimento.
Se você não especificar consent, o Google Analytics usará as configurações de consentimento das transações on-line correspondentes para a instância do cliente ou aplicativo.
| Chave | Tipo | Descrição | 
|---|---|---|
 | 
    string | 
    
       Opcional. Consentimento para enviar dados do usuário dos eventos e propriedades do usuário da solicitação ao Google para fins de publicidade. 
  | 
  
 | 
    string | 
    
       Opcional. Consentimento para publicidade personalizada para o usuário. 
  | 
  
Informações geográficas
Os atributos user_location e ip_override fornecem informações geográficas.
user_location tem precedência sobre ip_override.
Esta é a estrutura do campo
user_location. Forneça o máximo possível de atributos. Recomendamos country_id e region_id, no mínimo.
| Chave | Tipo | Descrição | 
|---|---|---|
 | 
    string | 
    
      Opcional. O nome da cidade. Se a cidade for nos EUA, defina também country_id e region_id para que o Google Analytics possa mapear corretamente o nome da cidade para um ID da cidade.
     | 
  
 | 
    string | 
    
      Opcional. O país e a subdivisão ISO 3166. Por exemplo, US-CA, US-AR,
      CA-BC, GB-LND, CN-HK.
     | 
  
 | 
    string | 
    
      Opcional. O país no formato ISO 3166-1 alfa-2. Por exemplo, US, AU,
      ES, FR.
     | 
  
 | 
    string | 
    
      Opcional. O subcontinente no formato M49 da ONU. Por exemplo, 011, 021, 030, 039.
     | 
  
 | 
    string | 
    
      Opcional. O continente no formato UN M49. Por exemplo, 002, 019, 142, 150.
     | 
  
Confira um exemplo de user_location:
"user_location": {
  "city": "Mountain View",
  "region_id": "US-CA",
  "country_id": "US",
  "subcontinent_id": "021",
  "continent_id": "019"
}
ip_override é uma alternativa a user_location. Se você enviar ip_override, o Google Analytics vai derivar informações geográficas do endereço IP.
Se você enviar user_location, o Google Analytics vai ignorar ip_override.
Se você não enviar user_location ou ip_override, o Google Analytics vai derivar informações geográficas de eventos de inclusão de tag usando
client_id.
O Google Analytics aplica as configurações de dados de localização granulares da propriedade à solicitação, independente das informações geográficas enviadas.
Informações do dispositivo
Para enviar informações do dispositivo, use o campo device. Esta é a estrutura do campo device. Forneça o máximo possível de atributos. Recomendamos pelo menos category.
| Chave | Tipo | Descrição | 
|---|---|---|
 | 
    string | 
    
      Opcional. A categoria do dispositivo. Por exemplo:
      desktop,
      tablet,
      mobile,
      smart TV.
     | 
  
 | 
    string | 
    
      Opcional. O idioma no formato ISO 639-1. Por
      exemplo, en, en-US.
     | 
  
 | 
    string | 
    
      Opcional. A resolução do dispositivo, formatada como
      WIDTHxHEIGHT. Por exemplo, 1280x2856,
      1080x2340.
     | 
  
 | 
    string | 
    
      Opcional. O sistema operacional ou a plataforma. Por exemplo,
      MacOS.
     | 
  
 | 
    string | 
    
      Opcional. A versão do sistema operacional ou da plataforma. Por
      exemplo, 13.5.
     | 
  
 | 
    string | 
    
      Opcional. O modelo do dispositivo. Por exemplo,
      Pixel 9 Pro, Samsung Galaxy S24.
     | 
  
 | 
    string | 
    
      Opcional. A marca do dispositivo. Por exemplo,
      Google, Samsung.
     | 
  
 | 
    string | 
    
      Opcional. A marca ou o tipo de navegador. Por exemplo,
      Chrome, Firefox.
     | 
  
 | 
    string | 
    
      Opcional. A versão do navegador. Por exemplo,
      136.0.7103.60, 5.0.
     | 
  
O snippet a seguir mostra um exemplo de configurações de device:
"device": {
  "category": "mobile",
  "language": "en",
  "screen_resolution": "1280x2856",
  "operating_system": "Android",
  "operating_system_version": "14",
  "model": "Pixel 9 Pro",
  "brand": "Google",
  "browser": "Chrome",
  "browser_version": "136.0.7103.60"
}
Independente de você especificar o Google Analytics aplica as configurações de dados granulares de dispositivos da propriedade à solicitação.
Comportamento da validação
O atributo validation_behavior controla como o Measurement Protocol
valida o conteúdo da solicitação.
- A validação 
RELAXEDsó rejeita solicitações malformadas. Ele ainda pode aceitar eventos e parâmetros com nomes de campo inválidos ou com dados que não são do tipo correto, mas ignora parâmetros que excedem os limites. O Protocolo de medição usa a validaçãoRELAXEDpor padrão. - A validação do 
ENFORCE_RECOMMENDATIONSrejeita parâmetros de evento e item que não são do tipo correto ou que excedem os limites. Além disso,ENFORCE_RECOMMENDATIONSrejeita qualquer evento ou propriedade do usuário com um carimbo de data/hora que não esteja nas últimas 72 horas. 
Recomendamos a seguinte abordagem:
Use
ENFORCE_RECOMMENDATIONSao validar eventos para receber o máximo de feedback possível sobre possíveis problemas com suas solicitações.Também é possível validar solicitações usando o Criador de eventos, já que ele especifica
ENFORCE_RECOMMENDATIONSao validar solicitações.Não especifique
validation_behaviorao enviar eventos para minimizar os dados rejeitados pelo Measurement Protocol.Se você quiser priorizar a validação estrita em vez da coleta de dados ao enviar uma solicitação específica, adicione o campo
validation_behaviore defina comoENFORCE_RECOMMENDATIONS.
Parâmetros personalizados
Você pode incluir parâmetros personalizados no escopo do usuário, do evento e do item em um payload do Measurement Protocol.
- Parâmetros personalizados no escopo do usuário podem ser incluídos em 
user_properties. - Parâmetros personalizados no escopo do evento podem ser incluídos em 
events[].params. - Parâmetros personalizados no escopo do item podem ser incluídos em
items. 
Valores recomendados para determinados eventos
Alguns eventos têm parâmetros recomendados. Consulte eventos e veja os parâmetros recomendados para todos os eventos compatíveis.
Nomes reservados
Alguns nomes de eventos, parâmetros e propriedades do usuário são reservados e não podem ser usados:
Nomes de eventos reservados
Os nomes de evento a seguir estão reservados e não podem ser usados:
ad_activeviewad_clickad_exposuread_queryad_rewardadunit_exposureapp_clear_dataapp_exceptionapp_installapp_removeapp_store_refundapp_updateapp_upgradedynamic_link_app_opendynamic_link_app_updatedynamic_link_first_openerrorfirebase_campaignfirebase_in_app_message_actionfirebase_in_app_message_dismissfirebase_in_app_message_impressionfirst_openfirst_visitnotification_dismissnotification_foregroundnotification_opennotification_receivenotification_sendos_updatesession_startuser_engagement
Além disso, os eventos ad_impression, in_app_purchase e screen_view são permitidos apenas para streams de apps.
Nomes de parâmetros reservados
Os nomes de parâmetro a seguir estão reservados e não podem ser usados:
firebase_conversion
Os nomes de parâmetros não podem começar com o seguinte:
_ (underscore)firebase_ga_google_gtag.
Nomes de propriedades do usuário reservados
Os seguintes nomes de propriedades do usuário são reservados e não podem ser usados:
first_open_timefirst_visit_timelast_deep_link_referreruser_idfirst_open_after_install
Além disso, os nomes das propriedades do usuário não podem começar com:
_ (underscore)firebase_ga_google_