Envoyer des événements du protocole de mesure à Google Analytics

Ce guide explique comment envoyer des événements de flux Web et d'application Protocole de mesure Google Analytics à un serveur Google Analytics afin de pouvoir les afficher dans vos rapports Google Analytics.

Choisissez la plate-forme que vous souhaitez voir dans ce guide:

Mise en forme de la requête

Le protocole de mesure Google Analytics n'est compatible qu'avec les requêtes HTTP POST.

Pour envoyer un événement, utilisez le format suivant:

POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>

Vous devez fournir les éléments suivants dans l'URL de la requête :

  • api_secret: CODE SECRET DE L'API généré dans l'UI Google Analytics.

    Pour créer un secret, accédez à Administration > Flux de données > choisissez votre flux > Protocole de mesure > Créer.

  • measurement_id: ID de mesure associé à un flux, que vous trouverez dans l'UI Google Analytics sous Administration > Flux de données > choisissez votre flux > ID de mesure.

    measurement_id n'est pas votre ID de flux.

Pour obtenir la documentation de référence complète, consultez la section Paramètres de requête.

Vous devez fournir les éléments suivants dans le corps de la requête:

  • client_id: identifiant unique d'un client. Il s'agit d'une valeur différente de celle d'un app_instance_id Firebase. Utilisez gtag.js('get').
  • user_id : facultatif. identifiant unique d'un utilisateur. Il ne doit contenir que des caractères UTF-8. Pour en savoir plus sur cet identifiant, consultez User-ID pour l'analyse multiplate-forme.

  • consent : facultatif. Découvrez comment définir les paramètres de consentement.

  • timestamp_micros : facultatif. epoch Unix (en microsecondes) des événements et propriétés utilisateur dans la requête. Si aucune valeur n'est spécifiée, la date et l'heure de la requête s'affichent par défaut.

  • events: tableau des éléments associés à l'événement. Vous pouvez inclure plusieurs événements dans une requête.

    Pour que l'activité de l'utilisateur s'affiche dans les rapports comme Temps réel, engagement_time_msec et session_id doivent être fournis dans params pour un event. Le paramètre engagement_time_msec doit refléter la durée d'engagement de l'événement en millisecondes.

    Exemple :

  {
   "client_id": "123456.7654321",
   "events": [
     {
        "name": "campaign_details",
        "params": {
          "campaign_id": "google_1234",
          "campaign": "Summer_fun",
          "source": "google",
          "medium": "cpc",
          "term": "summer+travel",
          "content": "logolink",
          "session_id": "123",
          "engagement_time_msec": 100
        }
     }
   ]
  }

Même si session_start est un nom d'événement réservé, créer un session_id génère une nouvelle session sans qu'il soit nécessaire d'envoyer session_start. Découvrez comment les sessions sont comptabilisées.

Essayer

Voici un exemple que vous pouvez utiliser pour envoyer plusieurs événements à la fois. Cet exemple envoie un événement tutorial_begin et un événement join_group à votre serveur Google Analytics.

const measurement_id = `G-XXXXXXXXXX`;
const api_secret = `<secret_value>`;

fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurement_id}&api_secret=${api_secret}`, {
  method: "POST",
  body: JSON.stringify({
    client_id: "XXXXXXXXXX.YYYYYYYYYY",
    events: [
      {
        name: "tutorial_begin",
        params: {
          "session_id": "123",
          "engagement_time_msec": 100
        }
      },
      {
        name: "join_group",
        params: {
          "group_id": "G_12345",
          "session_id": "123",
          "engagement_time_msec": 150
        }
      }
    ]
  })
});

Code temporel de remplacement

Le protocole de mesure utilise le premier code temporel qu'il trouve dans la liste suivante pour chaque événement de la requête:

  1. timestamp_micros de l'événement.
  2. timestamp_micros de la requête.
  3. Heure à laquelle le protocole de mesure reçoit la requête.

L'exemple suivant envoie un code temporel au niveau de la requête qui s'applique à tous les événements de la requête. Par conséquent, le protocole de mesure attribue un code temporel requestUnixEpochTimeInMicros aux événements tutorial_begin et join_group.

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin"
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

L'exemple suivant envoie à la fois un code temporel au niveau de la requête et un code temporel au niveau de l'événement. Par conséquent, le protocole de mesure attribue à l'événement tutorial_begin un code temporel de tutorialBeginUnixEpochTimeInMicros et à l'événement join_group un code temporel de requestUnixEpochTimeInMicros.

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin",
      "timestamp_micros": tutorialBeginUnixEpochTimeInMicros
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

Limites

Les limites suivantes s'appliquent à l'envoi d'événements du protocole de mesure à Google Analytics:

  • Les requêtes peuvent comporter 25 événements au maximum.
  • Les événements ne doivent pas inclure plus de 25 paramètres.
  • Les événements ne doivent pas inclure plus de 25 propriétés utilisateur.
  • Les noms de propriétés utilisateur ne doivent pas dépasser 24 caractères.
  • Les valeurs des propriétés utilisateur ne doivent pas dépasser 36 caractères.
  • Les noms d'événements ne doivent pas dépasser 40 caractères. Ils ne doivent contenir que des caractères alphanumériques et des traits de soulignement, et doivent commencer par un caractère alphabétique.
  • Les noms de paramètres, y compris les paramètres d'article, ne doivent pas dépasser 40 caractères. Ils ne doivent contenir que des caractères alphanumériques et des traits de soulignement, et doivent commencer par un caractère alphabétique.
  • Les valeurs de paramètres, y compris les valeurs des paramètres d'article, ne doivent pas dépasser 100 caractères pour une propriété Google Analytics standard et 500 caractères pour une propriété Google Analytics 360.
  • Les paramètres d'élément peuvent comporter jusqu'à 10 paramètres personnalisés.
  • Le corps du post doit être inférieur à 130 ko.
  • Les événements du protocole de mesure des applications envoyés à Google Analytics ne remplissent pas les audiences de recherche dans Google Ads pour les utilisateurs de l'application.

Pour connaître les exigences supplémentaires de chaque cas d'utilisation, consultez les cas d'utilisation courants.