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 kılavuzda görmek istediğiniz platformu seçin:
İsteği biçimlendirme
Google Analytics Measurement Protocol yalnızca HTTP POST
isteklerini destekler.
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 gizli anahtarı.Yeni bir gizli anahtar oluşturmak için Yönetici > Veri Akışları > akışınızı seçin > Measurement Protocol > 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.
Tam referans için sorgu parametrelerine bakın.
İstek gövdesinde şunları sağlamanız gerekir:
client_id
: İstemci için benzersiz tanımlayıcı. Bu, Firebaseapp_instance_id
'ten farklıdır. gtag.js('get') işlevini kullanın.
user_id
: İsteğe bağlı. Kullanıcı için benzersiz tanımlayıcı. Yalnızca UTF-8 karakterler içerebilir. Bu tanımlayıcı hakkında daha fazla bilgi için Platformlar arası analiz için User-ID başlıklı makaleyi inceleyin.consent
: İsteğe bağlı. İzin ayarlarını nasıl yapacağınızı öğrenin.timestamp_micros
: İsteğe bağlı. İstekteki etkinlikler ve kullanıcı özellikleri için mikro saniye cinsinden Unix epoch zaman damgası. Belirtilmemesi durumunda varsayılan olarak isteğin zaman damgasını gösterir.events
: Etkinlik öğeleri dizisi. Bir isteğe birden çok etkinlik ekleyebilirsiniz.Kullanıcı etkinliğinin anlık gibi raporlarda gösterilmesi için
event
içinparams
kapsamındaengagement_time_msec
vesession_id
sağlanmalıdır.engagement_time_msec
parametresi, etkinliğin milisaniye cinsinden etkileşim süresini belirtmelidir.Aşağıda bununla ilgili bir örnek verilmiştir:
{
"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
}
}
]
}
session_start
, ayrılmış bir etkinlik adı olmasına rağmen yeni bir session_id
oluşturulması durumunda session_start
gönderilmesine gerek kalmadan yeni oturum oluşturulur. Oturumların nasıl sayıldığını öğrenin.
Dene
Tek seferde 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önderilmektedir.
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
}
}
]
})
});
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:
- Etkinliğin
timestamp_micros
. - İsteğin
timestamp_micros
. - Measurement Protocol'un isteği aldığı zaman.
Aşağıdaki örnek, istekteki tüm etkinlikler için geçerli olan istek düzeyinde bir zaman damgası gönderir. Sonuç olarak Measurement Protocol, hem tutorial_begin
hem de join_group
etkinliklerine requestUnixEpochTimeInMicros
zaman damgası 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 zaman damgası gönderilmektedir. Sonuç olarak Measurement Protocol, tutorial_begin
etkinliğine tutorialBeginUnixEpochTimeInMicros
zaman damgası, join_group
etkinliğine ise requestUnixEpochTimeInMicros
zaman damgası 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önderilmesi için 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 parametre adları en fazla 40 karakterden oluşabilir. Yalnızca alfanümerik karakterler ve alt çizgiler içerebilir ve alfabetik 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 en fazla 500 karakterden oluşmalıdır.
- Öğe parametreleri en fazla 10 özel parametreye sahip olabilir.
- Yayın metni 130 KB'tan küçük olmalıdır.
- Google Analytics'e gönderilen uygulama Measurement Protocol etkinlikleri, uygulama kullanıcıları için Google Ads'deki Arama kitlelerini doldurmaz.
Her kullanım alanı için ek koşullar için yaygın kullanım alanlarına bakın.