Measurement Protocol etkinliklerini Google Analytics'e gönderme

Bu kılavuzda Google Analytics Measurement Protocol web ve uygulama akışı etkinlikleri Böylece Measurement Protocol etkinliklerini Google Analytics'te görüntüleyebilirsiniz. Google Analytics raporlarınız.

Bu kılavuzda görmek istediğiniz platformu seçin:

İsteği biçimlendirme

Google Analytics Measurement Protocol yalnızca HTTP POST isteklerini destekler.

Bir etkinlik göndermek için aşağıdaki biçimi kullanın:

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

İstek URL'sinde aşağıdakileri sağlamanız gerekir:

  • api_secret: Google Analytics kullanıcı arayüzünde oluşturulan API SECRET.

    Yeni bir gizli anahtar oluşturmak için Yönetici bölümüne gidin > Veri Akışları > seç canlı yayınınıza gidin > Measurement Protocol > Oluştur.

  • firebase_app_id: Firebase uygulama kimliği, Firebase konsolunda şunun altında bulunur: Proje Ayarları > Genel > Uygulamalarınız > Uygulama kimliği.

    firebase_app_id, app_instance_id ile aynı değil. İlgili içeriği oluşturmak için kullanılan firebase_app_id uygulamanızı tanımlarken app_instance_id tanımlar ve uygulamayı tekrar yüklemelisiniz.

Tam referans için sorgu parametreleri bölümüne bakın.

İstek gövdesinde aşağıdakileri sağlamanız gerekir:

  • user_id: İsteğe bağlı. Kullanıcının benzersiz tanımlayıcısıdır. Yalnızca UTF-8 içerebilir karakteri ekleyin. Daha fazla bilgi için Platformlar arası analiz için User-ID bölümüne bakın. hakkında daha fazla bilgi edinin.

  • consent: İsteğe bağlı. Rızayı nasıl ayarlayacağınızı öğrenin Ayarlar'da bulabilirsiniz.

  • timestamp_micros: İsteğe bağlı. için mikrosaniye cinsinden Unix sıfır etkinlikleri ve kullanıcı özelliklerini belirtir. Belirtilmezse varsayılan olarak bilgi edinin.

  • events: Etkinlik öğeleri dizisi. Tek bir etkinliğe birden fazla etkinlik ekleyebilirsiniz isteğinde bulunabilirsiniz.

    Kullanıcı etkinliğinin, Google Ads gibi raporlarda Gerçek zamanlı, engagement_time_msec ve session_id, event için params. engagement_time_msec parametresi, etkinliğin etkileşim süresini milisaniye cinsinden gösterir.

    Aşağıda bununla ilgili bir örnek verilmiştir:

  {
   "app_instance_id": "12345678901234567890123456789012",
   "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"
        }
     }
   ]
  }
  ```



While `session_start` is a [reserved event
name](/analytics/devguides/collection/protocol/ga4/reference#reserved_names),
creating a new `session_id` creates a new session without the need to send
`session_start`. Understand how [sessions are
counted](//support.google.com/analytics/answer/9191807).

## Try it

Here's an example you can use to send a [`tutorial_begin`] event to your Google
Analytics server:



```javascript
const firebase_app_id = `1:1234567890:android:321abc456def7890`;
const api_secret = `<secret_value>`;

fetch(`https://www.google-analytics.com/mp/collect?firebase_app_id=${firebase_app_id}&api_secret=${api_secret}`, {
  method: "POST",
  body: JSON.stringify({
    app_instance_id: 'app_instance_id',
    events: [{
      name: 'tutorial_begin',
      params: {},
    }]
  })
});
```

The format of `firebase_app_id` is platform specific. See **Application ID**
under [Firebase config files and objects].



## Override timestamp

The Measurement Protocol uses the *first* timestamp it finds in the following
list for each event in the request:

1.  The `timestamp_micros` of the event.
1.  The `timestamp_micros` of the request.
1.  The time that the Measurement Protocol receives the request.

The following example sends a request-level timestamp that applies to all of
the events in the request. As a result, the Measurement Protocol assigns both the
`tutorial_begin` and `join_group` events a timestamp of
`requestUnixEpochTimeInMicros`.

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

The following example sends both a request-level timestamp and an event-level
timestamp. As a result, the Measurement Protocol assigns the `tutorial_begin`
event a timestamp of `tutorialBeginUnixEpochTimeInMicros`, and the `join_group`
event a timestamp of `requestUnixEpochTimeInMicros`.

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

## Limitations

The following limitations apply to sending Measurement Protocol events to Google
Analytics:

Note: For information on the limitations of 360 features, see [Google Analytics
360](//support.google.com/analytics/answer/11202874).

*   Requests can have a maximum of 25 events.
*   Events can have a maximum of 25 parameters.
*   Events can have a maximum of 25 user properties.
*   User property names must be 24 characters or fewer.
*   User property values must be 36 characters or fewer.
*   Event names must be 40 characters or fewer, can only contain alpha-numeric
    characters and underscores, and must start with an alphabetic character.
*   Parameter names including item parameters must be 40 characters or fewer,
    can only contain alpha-numeric characters and underscores, and must start
    with an alphabetic character.
*   Parameter values including item parameter values must be 100 characters or
    fewer for a standard Google Analytics property, and 500 characters or fewer
    for a Google Analytics 360 property.
*   Item parameters can have a maximum of 10 custom parameters.
*   The post body must be smaller than 130kB.
*   App Measurement Protocol events sent to Google Analytics 4 don't populate
    Search audiences in Google Ads for app users.

For additional requirements of each use case, see [common use cases].