คู่มือนี้อธิบายวิธีส่งMeasurement Protocol ของ Google Analytics สำหรับสตรีมเว็บและแอป เหตุการณ์ไปยังเซิร์ฟเวอร์ Google Analytics เพื่อให้คุณดูเหตุการณ์ Measurement Protocol ในรายงาน Google Analytics ได้
เลือกแพลตฟอร์มที่ต้องการดูในคู่มือนี้
จัดรูปแบบคำขอ
Measurement Protocol ของ Google Analytics รองรับเฉพาะคําขอ HTTP POST
หากต้องการส่งเหตุการณ์ ให้ใช้รูปแบบต่อไปนี้
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
PAYLOAD_DATA
คุณต้องป้อนข้อมูลต่อไปนี้ใน URL ที่ขอ
api_secret
: API SECRET ที่สร้างใน Google Analytics UIหากต้องการสร้างข้อมูลลับใหม่ ให้ไปที่ ผู้ดูแลระบบ > การเก็บรวบรวมและการแก้ไขข้อมูล > สตรีมข้อมูล > เลือกสตรีม > ข้อมูลลับของ Measurement Protocol API > สร้าง
measurement_id
: รหัสการวัดที่เชื่อมโยงกับสตรีม ซึ่งดูได้ใน UI ของ Google Analytics ภายใต้ผู้ดูแลระบบ > สตรีมข้อมูล > เลือกสตรีม > รหัสการวัดmeasurement_id
ไม่ใช่รหัสสตรีม
คุณต้องระบุเนื้อความของคำขอในรูปแบบเนื้อความ JSON POST สำหรับ Measurement Protocol เช่น
{
"client_id": "CLIENT_ID",
"events": [
{
"name": "login",
"params": {
"method": "Google",
"session_id": "SESSION_ID",
"engagement_time_msec": 100
}
}
]
}
แม้ว่า session_start
จะเป็นชื่อเหตุการณ์ที่สงวนไว้
แต่การสร้าง session_id
ใหม่จะเป็นการสร้างเซสชันใหม่โดยไม่ต้องส่ง session_start
ทําความเข้าใจวิธีนับเซสชัน
ลองใช้
ต่อไปนี้คือตัวอย่างที่คุณใช้ส่งเหตุการณ์หลายรายการพร้อมกันได้ ตัวอย่างนี้
จะส่งเหตุการณ์ tutorial_begin
และเหตุการณ์
join_group
ไปยังเซิร์ฟเวอร์ Google Analytics รวมถึงข้อมูลทางภูมิศาสตร์โดยใช้ฟิลด์ user_location
และรวมข้อมูลอุปกรณ์โดยใช้ฟิลด์ device
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"
}
})
});
ลบล้างการประทับเวลา
Measurement Protocol ใช้การประทับเวลาแรกที่พบในรายการต่อไปนี้ สําหรับแต่ละเหตุการณ์ในคําขอ
timestamp_micros
ของกิจกรรมtimestamp_micros
ของคำขอ- เวลาที่ Measurement Protocol ได้รับคำขอ
ตัวอย่างต่อไปนี้จะส่งการประทับเวลาที่ระดับคำขอซึ่งใช้กับเหตุการณ์ทั้งหมดในคำขอ ด้วยเหตุนี้ Measurement Protocol จึงกําหนดการประทับเวลาของเหตุการณ์ tutorial_begin
และ join_group
เป็น requestUnixEpochTimeInMicros
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"events": [
{
"name": "tutorial_begin"
},
{
"name": "join_group",
"params": {
"group_id": "G_12345",
}
}
]
}
ตัวอย่างต่อไปนี้จะส่งทั้งการประทับเวลาระดับคำขอและการประทับเวลาระดับเหตุการณ์
ด้วยเหตุนี้ Measurement Protocol จึงกําหนดการประทับเวลาของเหตุการณ์ tutorial_begin
เป็น tutorialBeginUnixEpochTimeInMicros
และการประทับเวลาของเหตุการณ์ join_group
เป็น requestUnixEpochTimeInMicros
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"events": [
{
"name": "tutorial_begin",
"timestamp_micros": tutorialBeginUnixEpochTimeInMicros
},
{
"name": "join_group",
"params": {
"group_id": "G_12345",
}
}
]
}
ข้อจำกัด
ข้อจํากัดต่อไปนี้มีผลกับการส่งเหตุการณ์ Measurement Protocol ไปยัง Google Analytics
- คำขอมีเหตุการณ์ได้สูงสุด 25 รายการ
- เหตุการณ์มีพารามิเตอร์ได้สูงสุด 25 รายการ
- เหตุการณ์มีพร็อพเพอร์ตี้ผู้ใช้ได้สูงสุด 25 รายการ
- ชื่อพร็อพเพอร์ตี้ผู้ใช้ต้องมีความยาวไม่เกิน 24 อักขระ
- ค่าพร็อพเพอร์ตี้ผู้ใช้ต้องมีความยาวไม่เกิน 36 อักขระ
- ชื่อเหตุการณ์ต้องขึ้นต้นด้วยตัวอักษรและมีความยาวไม่เกิน 40 อักขระ ซึ่งจะใช้ได้เพียงตัวอักษร ตัวเลข และขีดล่างเท่านั้น
- ชื่อพารามิเตอร์ รวมถึงพารามิเตอร์ของสินค้า ต้องมีความยาวไม่เกิน 40 อักขระ ใช้ได้เพียงตัวอักษร ตัวเลข และขีดล่างเท่านั้น และต้องขึ้นต้น ด้วยตัวอักษร
- ค่าพารามิเตอร์ รวมถึงค่าพารามิเตอร์ของสินค้า ต้องมีความยาวไม่เกิน 100 อักขระสําหรับพร็อพเพอร์ตี้ Google Analytics มาตรฐาน และไม่เกิน 500 อักขระสําหรับพร็อพเพอร์ตี้ Google Analytics 360
- พารามิเตอร์รายการมีพารามิเตอร์ที่กำหนดเองได้สูงสุด 10 รายการ
- เนื้อหาของโพสต์ต้องมีขนาดเล็กกว่า 130 KB
- เหตุการณ์ Measurement Protocol ของแอปที่ส่งไปยัง Google Analytics จะไม่สร้างกลุ่มเป้าหมาย Search ใน Google Ads สําหรับผู้ใช้แอป
ดูข้อกำหนดเพิ่มเติมของ Use Case แต่ละรายการได้ที่Use Case ทั่วไป