เลือกแพลตฟอร์ม
Measurement Protocol ของ Google Analytics ไม่แสดง
HTTPรหัสข้อผิดพลาด แม้เหตุการณ์จะใช้ไม่ได้หรือขาดพารามิเตอร์ที่จำเป็น
ไป หากต้องการยืนยันว่าเหตุการณ์ใช้ได้ คุณควรทดสอบกับเซิร์ฟเวอร์การตรวจสอบ Measurement Protocol ก่อนติดตั้งใช้งาน
หลังจากตรวจสอบแล้วว่าเหตุการณ์มีโครงสร้างที่ถูกต้อง คุณควรยืนยันการติดตั้งใช้งานเพื่อให้แน่ใจว่าคุณใช้คีย์ที่ถูกต้อง
คุณจะเรียกเซิร์ฟเวอร์การตรวจสอบโดยตรง หรือใช้เครื่องมือสร้างเหตุการณ์ Google Analytics ก็ได้ เครื่องมือสร้างเหตุการณ์ของ Google Analytics ช่วยให้คุณสร้างเหตุการณ์แบบอินเทอร์แอกทีฟ และใช้เซิร์ฟเวอร์การตรวจสอบ Measurement Protocol เพื่อ ตรวจสอบเหตุการณ์เหล่านั้นได้
คู่มือนี้อธิบายวิธีส่งเหตุการณ์ไปยัง Measurement Protocol สำหรับเซิร์ฟเวอร์การตรวจสอบ Google Analytics 4 และตีความการตอบกลับ
ส่งเหตุการณ์เพื่อตรวจสอบ
ความแตกต่างเพียงอย่างเดียวในคำขอสำหรับเหตุการณ์ที่ส่งไปยัง Measurement Protocol และเซิร์ฟเวอร์การตรวจสอบ Measurement Protocol คือ URL
| เซิร์ฟเวอร์ | URL | 
|---|---|
| Measurement Protocol | /mp/collect | 
| เซิร์ฟเวอร์การตรวจสอบ Measurement Protocol | /debug/mp/collect | 
ฟิลด์คำขออื่นๆ ทั้งหมดจะเหมือนกัน
เราขอแนะนำแนวทางการตรวจสอบต่อไปนี้
- ใช้การตรวจสอบการตรวจสอบที่เข้มงวดระหว่างการพัฒนาโดยใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
- ตรวจสอบคำขอด้วยเครื่องมือสร้างเหตุการณ์
 - ส่งคำขอไปยังเซิร์ฟเวอร์การตรวจสอบโดยตั้งค่า 
validation_behaviorเป็นENFORCE_RECOMMENDATIONS 
 - ในการผลิต ให้ส่งคำขอโดยไม่มี 
validation_behaviorเพื่อลด ข้อมูลที่ Measurement Protocol ปฏิเสธ 
โค้ดต่อไปนี้แสดงเหตุการณ์ที่ไม่ถูกต้องซึ่งส่งไปยังเซิร์ฟเวอร์การตรวจสอบ Measurement Protocol
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: {},
    }]
  })
});
การตอบกลับการตรวจสอบ
นี่คือการตอบกลับของเซิร์ฟเวอร์การตรวจสอบสำหรับเหตุการณ์ก่อนหน้า
{
  "validationMessages": [
    {
      "fieldPath": "events",
      "description": "Event at index: [0] has invalid name [_badEventName]. Names must start with an alphabetic character.",
      "validationCode": "NAME_INVALID"
    }
  ]
}
นี่คือการตอบกลับของเซิร์ฟเวอร์ตรวจสอบต่อคำขอที่ไม่มีปัญหาการตรวจสอบ
{
  "validationMessages": []
}
การตอบกลับ
| คีย์ | ประเภท | คำอธิบาย | 
|---|---|---|
validationMessages | 
    Array<ValidationMessage> | อาร์เรย์ของข้อความการตรวจสอบ | 
ValidationMessage
| คีย์ | ประเภท | คำอธิบาย | 
|---|---|---|
fieldPath | 
    สตริง | เส้นทางไปยังฟิลด์ที่ไม่ถูกต้อง | 
description | 
    สตริง | คำอธิบายของข้อผิดพลาด | 
validationCode | 
    ValidationCode | รหัสการตรวจสอบที่สอดคล้องกับข้อผิดพลาด | 
ValidationCode
| ค่า | คำอธิบาย | 
|---|---|
VALUE_INVALID | 
    
      ค่าที่ระบุสำหรับ fieldPath ไม่ถูกต้อง ดูข้อจำกัด
     | 
  
VALUE_REQUIRED | 
    ไม่ได้ระบุค่าที่ต้องระบุสำหรับ fieldPath | 
  
NAME_INVALID | 
    ชื่อที่ระบุไม่ถูกต้อง ดูข้อจำกัด | 
NAME_RESERVED | 
    ชื่อที่ระบุเป็นชื่อที่สงวนไว้ ดูชื่อที่สงวนไว้ | 
VALUE_OUT_OF_BOUNDS | 
    ค่าที่ระบุมีขนาดใหญ่เกินไป ดูข้อจำกัด | 
EXCEEDED_MAX_ENTITIES | 
    คำขอมีพารามิเตอร์มากเกินไป ดูข้อจำกัด | 
NAME_DUPLICATED | 
    มีการระบุชื่อเดียวกันมากกว่า 1 ครั้งในคำขอ |