Platformunuzu seçin:
Etkinlik hatalı biçimlendirilmiş veya zorunlu parametreler eksik olsa bile Google Analytics Measurement Protocol, HTTP hata kodları döndürmez. Etkinliklerinizin geçerli olduğunu doğrulamak için etkinlikleri üretim ortamına aktarmadan önce Measurement Protocol doğrulama sunucusu ile test etmeniz gerekir.
Etkinliklerinizin doğru şekilde yapılandırıldığını doğruladıktan sonra doğru anahtarları kullandığınızdan emin olmak için uygulamanızı doğrulamanız gerekir.
Doğrulama sunucusunu doğrudan çağırabilir veya Google Analytics Etkinlik Oluşturucu'yu kullanabilirsiniz. Google Analytics Etkinlik Oluşturucu, etkinlikleri etkileşimli olarak oluşturmanıza olanak tanır ve bunları doğrulamak için Measurement Protocol doğrulama sunucusunu kullanır.
Bu kılavuzda, Google Analytics 4 doğrulama sunucusu için Measurement Protocol'e etkinliklerin nasıl gönderileceği ve yanıtın nasıl yorumlanacağı açıklanmaktadır.
Doğrulama için etkinlik gönderme
Measurement Protocol'e ve Measurement Protocol doğrulama sunucusuna gönderilen etkinlik isteğindeki tek fark URL'dir.
| Sunucu | URL |
|---|---|
| Measurement Protocol | /mp/collect |
| Measurement Protocol doğrulama sunucusu | /debug/mp/collect |
Diğer tüm istek alanları aynıdır.
Doğrulama için aşağıdaki yaklaşımı öneririz:
- Geliştirme sırasında aşağıdaki seçeneklerden birini kullanarak katı doğrulama kontrolleri uygulayın:
- İstekleri Etkinlik Oluşturucu ile doğrulayın.
validation_behaviordeğeriENFORCE_RECOMMENDATIONSolarak ayarlanmış şekilde doğrulama sunucusuna istek gönderin.
- Üretim aşamasında, Measurement Protocol tarafından reddedilen verileri en aza indirmek için
validation_behaviorayarlanmamış istekler gönderin.
Aşağıdaki kodda, Measurement Protocol doğrulama sunucusuna geçersiz bir etkinlik gönderildiği gösterilmektedir:
const firebaseAppId = "FIREBASE_APP_ID";
const apiSecret = "API_SECRET";
fetch(`https://www.google-analytics.com/debug/mp/collect?firebase_app_id=${firebaseAppId}&api_secret=${apiSecret}`, {
method: "POST",
body: JSON.stringify({
app_instance_id: "APP_INSTANCE_ID",
validation_behavior: "ENFORCE_RECOMMENDATIONS",
events: [{
// Event names must start with an alphabetic character.
name: "_badEventName",
params: {},
}]
})
});
Doğrulama yanıtı
Doğrulama sunucusunun önceki etkinliğe verdiği yanıt aşağıda verilmiştir:
{
"validationMessages": [
{
"fieldPath": "events",
"description": "Event at index: [0] has invalid name [_badEventName]. Names must start with an alphabetic character.",
"validationCode": "NAME_INVALID"
}
]
}
Doğrulama sunucusunun, doğrulama sorunu içermeyen bir isteğe verdiği yanıt aşağıda verilmiştir:
{
"validationMessages": []
}
Yanıt
| Anahtar | Tür | Açıklama |
|---|---|---|
validationMessages |
Array<ValidationMessage> | Doğrulama mesajları dizisi. |
ValidationMessage
| Anahtar | Tür | Açıklama |
|---|---|---|
fieldPath |
dize | Geçersiz olan alanın yolu. |
description |
dize | Hatayla ilgili açıklama. |
validationCode |
ValidationCode | Hatayla ilgili bir doğrulama kodu. |
ValidationCode
| Değer | Açıklama |
|---|---|
VALUE_INVALID |
fieldPath için sağlanan değer geçersizdi. Sınırlamaları inceleyin.
|
VALUE_REQUIRED |
fieldPath için gerekli bir değer sağlanmadı. |
NAME_INVALID |
Sağlanan ad geçersizdi. Sınırlamaları inceleyin. |
NAME_RESERVED |
Belirtilen ad, ayrılmış adlardan biriydi. Ayrılmış adlar bölümüne bakın. |
VALUE_OUT_OF_BOUNDS |
Sağlanan değer çok büyüktü. Sınırlamaları inceleyin. |
EXCEEDED_MAX_ENTITIES |
İstek çok fazla parametre içeriyordu. Sınırlamaları inceleyin. |
NAME_DUPLICATED |
Aynı ad, istekte birden fazla kez sağlandı. |