Este guia explica como enviar a um servidor do Analytics os eventos de fluxos de app e Web do Measurement Protocol do Google Analytics. Assim, você pode conferir eventos do Measurement Protocol nos seus relatórios do Analytics.
Escolha a plataforma a ser retratada neste guia:
Formatar a solicitação
O Measurement Protocol do Google Analytics só oferece suporte a solicitações POST HTTP.
Para enviar um evento, use este formato:
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
PAYLOAD_DATA
É necessário informar o seguinte no URL da solicitação:
api_secret: a chave secreta da API gerada na interface do Google Analytics.Para criar uma nova chave secreta, navegue até Administrador > Coleta e modificação de dados > Fluxos de dados > escolha seu fluxo > Chaves secretas da API Measurement Protocol > Criar.
firebase_app_id: o ID do app Firebase, que fica no console do Firebase em Configurações do projeto > Geral > Seus apps > ID do app.O
firebase_app_idnão é igual aoapp_instance_id. Ofirebase_app_ididentifica seu app, e oapp_instance_ididentifica uma única instalação do app.
É necessário fornecer um corpo de solicitação no formato JSON POST body para o Measurement Protocol. Veja um exemplo:
  {
   "app_instance_id": "APP_INSTANCE_ID",
   "events": [
      {
        "name": "login",
        "params": {
          "method": "Google",
          "session_id": "SESSION_ID",
          "engagement_time_msec": 100
        }
      }
   ]
  }
Embora session_start seja um nome de evento reservado, criar um novo session_id gera uma nova sessão sem a necessidade de enviar session_start. Saiba como as sessões são contabilizadas.
Testar
Confira um exemplo que você pode usar para enviar vários eventos de uma só vez. Este exemplo envia um evento tutorial_begin e um evento join_group ao servidor do Google Analytics, inclui informações geográficas usando o campo user_location e inclui informações do dispositivo usando o campo device.
const firebaseAppId = "FIREBASE_APP_ID";
const apiSecret = "API_SECRET";
fetch(`https://www.google-analytics.com/mp/collect?firebase_app_id=${firebaseAppId}&api_secret=${apiSecret}`, {
  method: "POST",
  body: JSON.stringify({
    app_instance_id: "APP_INSTANCE_ID",
    events: [
      {
        name: "tutorial_begin",
        params: {
          "session_id": "SESSION_ID",
          "engagement_time_msec": 100
        }
      },
      {
        name: "join_group",
        params: {
          "group_id": "G_12345",
          "session_id": "SESSION_ID",
          "engagement_time_msec": 150
        }
      }
    ],
    user_location: {
      city: "Mountain View",
      region_id: "US-CA",
      country_id: "US",
      subcontinent_id: "021",
      continent_id: "019"
    },
    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"
    }
  })
});
O formato de firebase_app_id é específico da plataforma. Consulte o ID do aplicativo em Objetos e arquivos de configuração do Firebase.
Substituir carimbo de data/hora
O Protocolo de avaliação usa o carimbo de data/hora first que encontra na seguinte lista para cada evento e propriedade do usuário na solicitação:
- O 
timestamp_microsdo evento ou da propriedade do usuário. - O 
timestamp_microsda solicitação. - O horário em que o Measurement Protocol recebe a solicitação.
 
O exemplo a seguir envia uma marca de tempo no nível da solicitação que se aplica a todos os
eventos e propriedades do
usuário na
solicitação. Como resultado, o Measurement Protocol atribui um carimbo de data/hora de
requestUnixEpochTimeInMicros aos eventos tutorial_begin e join_group
e à propriedade do usuário customer_tier.
{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin"
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ],
  "user_properties": {
    "customer_tier": {
      "value": "PREMIUM"
    }
  }
}
O exemplo a seguir envia um carimbo de data/hora no nível da solicitação, um carimbo de data/hora no nível do evento e um carimbo de data/hora no nível da propriedade do usuário. Como resultado, o Protocolo de medição atribui os seguintes carimbos de data/hora:
tutorialBeginUnixEpochTimeInMicrospara o eventotutorial_begincustomerTierUnixEpochTimeInMicrospara a propriedade do usuáriocustomer_tierrequestUnixEpochTimeInMicrospara o eventojoin_groupe a propriedade do usuárionewsletter_reader.
{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin",
      "timestamp_micros": tutorialBeginUnixEpochTimeInMicros
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ],
  "user_properties": {
    "customer_tier": {
      "value": "PREMIUM",
      "timestamp_micros": customerTierUnixEpochTimeInMicros
    },
    "newsletter_reader": {
      "value": "true"
    }
  }
}
Comportamento de validação para eventos passados e propriedades do usuário
Os eventos e as propriedades do usuário podem ser atualizados em até 72 horas. Se o valor de timestamp_micros for anterior a 72 horas, o Measurement Protocol vai aceitar ou rejeitar o evento ou a propriedade do usuário da seguinte forma:
- Se 
validation_behaviornão estiver definido ou estiver definido comoRELAXED, o Protocolo de Medição vai aceitar o evento ou a propriedade do usuário, mas vai substituir o carimbo de data/hora por 72 horas atrás. - Se o 
validation_behaviorestiver definido comoENFORCE_RECOMMENDATIONS, o Measurement Protocol vai rejeitar o evento ou a propriedade do usuário. 
Limitações
As limitações a seguir são válidas para o envio de eventos do Measurement Protocol ao Google Analytics:
- As solicitações podem ter no máximo 25 eventos.
 - Os eventos podem ter no máximo 25 parâmetros.
 - Os eventos podem ter até 25 propriedades do usuário.
 - Os nomes das propriedades do usuário podem ter, no máximo, 24 caracteres.
 - Os valores de propriedade do usuário precisam ter, no máximo, 36 caracteres.
 - Os nomes dos eventos precisam ter no máximo 40 caracteres alfanuméricos e sublinhados, além de começar com um caractere alfabético.
 - Os nomes dos parâmetros (incluindo os parâmetros de item) precisam ter no máximo 40 caracteres alfanuméricos e sublinhados, além de começar com um caractere alfabético.
 - Os valores de parâmetros, incluindo os de itens, precisam ter no máximo 100 caracteres em uma propriedade padrão do Google Analytics e 500 caracteres em uma propriedade do Google Analytics 360.
 - Os parâmetros de itens podem ter no máximo 10 parâmetros personalizados.
 - O corpo da postagem precisa ter menos de 130 KB.
 - O carimbo de data/hora precisa estar dentro das últimas 72 horas. Consulte Comportamento de validação para eventos anteriores para mais detalhes.
 - Eventos de app relacionados ao Measurement Protocol que são enviados ao Google Analytics não adicionam usuários de apps para preencher os públicos-alvo de pesquisa no Google Ads.
 
Para outros requisitos de cada caso de uso, consulte casos de uso comuns.