Measurement Protocol etkinliklerini Google Analytics'e gönderme

Bu kılavuzda, Google Analytics Measurement Protocol web ve uygulama veri akışı etkinliklerini bir Google Analytics sunucusuna nasıl gönderebileceğiniz açıklanmaktadır. Böylece, Measurement Protocol etkinliklerini Google Analytics raporlarınızda görüntüleyebilirsiniz.

Bu rehberde 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 şunları sağlamanız gerekir:

  • api_secret: Google Analytics kullanıcı arayüzünde oluşturulan API GİZLİ ANAHTARI.

    Yeni bir gizli anahtar oluşturmak için Yönetici > Veri toplama ve değiştirme > Veri akışları > akışınızı seçin > Measurement Protocol API gizli anahtarları > Oluştur'a gidin.

  • measurement_id: Bir akışla ilişkilendirilen ölçüm kimliği. Bu kimlik, Google Analytics kullanıcı arayüzünde Yönetici > Veri Akışları > akışınızı seçin > Ölçüm Kimliği bölümünde bulunur.

    measurement_id, akış kimliğiniz değildir.

Measurement Protocol için JSON POST gövdesi biçiminde bir istek gövdesi sağlamanız gerekir. Aşağıda bununla ilgili bir örnek verilmiştir:

  {
   "client_id": "CLIENT_ID",
   "events": [
      {
        "name": "login",
        "params": {
          "method": "Google",
          "session_id": "SESSION_ID",
          "engagement_time_msec": 100
        }
      }
   ]
  }

session_start, ayrılmış bir etkinlik adı olduğunda yeni bir session_id oluşturulması durumunda session_start parametresinin gönderilmesine gerek kalmadan yeni oturum oluşturulur. Oturumların nasıl sayıldığını öğrenin.

Dene

Aynı anda birden fazla etkinlik göndermek için kullanabileceğiniz bir örneği burada bulabilirsiniz. Bu örnekte, Google Analytics sunucunuza bir tutorial_begin etkinliği ve bir join_group etkinliği gönderilir, user_location alanı kullanılarak coğrafi bilgiler eklenir ve device alanı kullanılarak cihaz bilgileri eklenir.

const measurementId = "MEASUREMENT_ID";
const apiSecret = "API_SECRET";

fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurementId}&api_secret=${apiSecret}`, {
  method: "POST",
  body: JSON.stringify({
    client_id: "CLIENT_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"
    }
  })
});

Zaman damgasını geçersiz kılma

Measurement Protocol, istekteki her etkinlik için aşağıdaki listede bulduğu ilk zaman damgasını kullanır:

  1. Etkinliğin timestamp_micros.
  2. İsteğin timestamp_micros.
  3. Measurement Protocol'ün isteği aldığı zaman.

Aşağıdaki örnek, istekteki tüm etkinlikler için geçerli olan bir istek düzeyinde zaman damgası gönderir. Sonuç olarak Measurement Protocol, hem tutorial_begin hem de join_group etkinliklerine requestUnixEpochTimeInMicros zaman damgasını atar.

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

Aşağıdaki örnekte hem istek düzeyinde hem de etkinlik düzeyinde bir zaman damgası gönderilir. Sonuç olarak Measurement Protocol, tutorial_begin etkinliğine tutorialBeginUnixEpochTimeInMicros zaman damgasını, join_group etkinliğine ise requestUnixEpochTimeInMicros zaman damgasını atar.

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

Sınırlamalar

Measurement Protocol etkinliklerinin Google Analytics'e gönderilmesiyle ilgili aşağıdaki sınırlamalar geçerlidir:

  • İstekler en fazla 25 etkinlik içerebilir.
  • Etkinlikler en fazla 25 parametreye sahip olabilir.
  • Etkinlikler en fazla 25 kullanıcı özelliğine sahip olabilir.
  • Kullanıcı özelliği adları en fazla 24 karakterden oluşmalıdır.
  • Kullanıcı özelliği değerleri en fazla 36 karakterden oluşmalıdır.
  • Etkinlik adı en fazla 40 karakterden oluşmalıdır. Yalnızca alfanümerik karakterler ve alt çizgiler içerebilir ve alfabetik karakterle başlaması gerekir.
  • Öğe parametreleri dahil olmak üzere parametre adları en fazla 40 karakterden oluşabilir, yalnızca alfanümerik karakterler ve alt çizgiler içerebilir ve alfabetik bir karakterle başlaması gerekir.
  • Öğe parametresi değerleri dahil olmak üzere parametre değerleri, standart bir Google Analytics mülkü için en fazla 100 karakter, Google Analytics 360 mülkü için ise en fazla 500 karakter olmalıdır.
  • Öğe parametreleri en fazla 10 özel parametreye sahip olabilir.
  • Gönderi gövdesi 130 KB'tan küçük olmalıdır.
  • Google Analytics'e gönderilen uygulama Measurement Protocol etkinlikleri, Google Ads'deki uygulama kullanıcıları için arama kitlelerini doldurmaz.

Her kullanım alanının ek şartları için yaygın kullanım alanları bölümüne bakın.