เลือกแพลตฟอร์ม
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 ครั้งในคำขอ |