คู่มือนี้จะอธิบายวิธีส่ง สตรีมเว็บและแอปของ Google Analytics Measurement Protocol กิจกรรมเป็น 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 ที่สร้างขึ้นใน UI ของ Google Analyticsหากต้องการสร้างข้อมูลลับใหม่ ให้ไปที่ผู้ดูแลระบบ > สตรีมข้อมูล > เลือก สตรีมของคุณ > Measurement Protocol > สร้าง
firebase_app_id
: รหัสแอป Firebase อยู่ในคอนโซล Firebase ในส่วน การตั้งค่าโปรเจ็กต์ > ทั่วไป > แอปของคุณ > รหัสแอปfirebase_app_id
ไม่เหมือนกับapp_instance_id
firebase_app_id
ระบุแอปของคุณ ในขณะที่app_instance_id
ระบุ สำหรับการติดตั้งแอปเพียงครั้งเดียว
ดูพารามิเตอร์การค้นหาสำหรับข้อมูลอ้างอิงแบบเต็ม
คุณต้องระบุข้อมูลต่อไปนี้ในเนื้อหาคำขอ
app_instance_id
: ตัวระบุที่ไม่ซ้ำกันสำหรับอินสแตนซ์แอป Firebase นี่คือ ที่แตกต่างจากเว็บclient_id
:
user_id
: ไม่บังคับ ตัวระบุที่ไม่ซ้ำกันสำหรับผู้ใช้ มีได้เฉพาะ UTF-8 อักขระ ดูข้อมูลเพิ่มเติมได้ที่ User-ID สําหรับการวิเคราะห์ข้ามแพลตฟอร์ม เกี่ยวกับตัวระบุนี้consent
: ไม่บังคับ ดูวิธีตั้งค่าความยินยอม การตั้งค่าtimestamp_micros
: ไม่บังคับ เวลา Unix Epoch ในหน่วยไมโครวินาทีสําหรับ เหตุการณ์และพร็อพเพอร์ตี้ผู้ใช้ในคำขอ หากไม่ได้ระบุไว้ จะมีค่าเริ่มต้นเป็น เวลาส่งคำขอevents
: อาร์เรย์ของรายการเหตุการณ์ คุณสามารถรวมหลายกิจกรรมไว้ในแคมเปญเดียว อีกครั้งวิธีแสดงกิจกรรมของผู้ใช้ในรายงาน เช่น เรียลไทม์ ต้องระบุ
engagement_time_msec
และsession_id
เป็นส่วนหนึ่งของparams
ในราคาevent
พารามิเตอร์engagement_time_msec
ควรแสดง เวลาในการมีส่วนร่วมของเหตุการณ์เป็นมิลลิวินาทีเช่น
{
"app_instance_id": "12345678901234567890123456789012",
"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
จะเป็นกิจกรรมที่จองไว้
ชื่อ
การสร้าง session_id
ใหม่จะเป็นการสร้างเซสชันใหม่โดยไม่ต้องส่ง
session_start
ทำความเข้าใจว่าเซสชัน
นับได้
ลองใช้
นี่คือตัวอย่างที่คุณสามารถใช้เพื่อส่งเหตุการณ์ tutorial_begin
ไปยัง Google
เซิร์ฟเวอร์ Analytics:
const firebase_app_id = `1:1234567890:android:321abc456def7890`;
const api_secret = `<secret_value>`;
fetch(`https://www.google-analytics.com/mp/collect?firebase_app_id=${firebase_app_id}&api_secret=${api_secret}`, {
method: "POST",
body: JSON.stringify({
app_instance_id: 'app_instance_id',
events: [{
name: 'tutorial_begin',
params: {},
}]
})
});
รูปแบบของ firebase_app_id
คือเฉพาะแพลตฟอร์ม โปรดดูรหัสแอปพลิเคชัน
ในส่วนไฟล์การกำหนดค่าและออบเจ็กต์ของ Firebase
ลบล้างการประทับเวลา
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 การวิเคราะห์:
- คำขอมีเหตุการณ์ได้สูงสุด 25 รายการ
- เหตุการณ์มีพารามิเตอร์ได้สูงสุด 25 รายการ
- เหตุการณ์มีพร็อพเพอร์ตี้ผู้ใช้ได้สูงสุด 25 รายการ
- ชื่อพร็อพเพอร์ตี้ผู้ใช้ต้องมีความยาวไม่เกิน 24 อักขระ
- ค่าพร็อพเพอร์ตี้ผู้ใช้ต้องมีความยาวไม่เกิน 36 อักขระ
- ชื่อเหตุการณ์ต้องมีอักขระไม่เกิน 40 ตัว และต้องประกอบด้วยตัวอักษรและตัวเลขเท่านั้น อักขระและขีดล่าง และต้องขึ้นต้นด้วยตัวอักษร
- ชื่อพารามิเตอร์ซึ่งรวมถึงพารามิเตอร์ของรายการต้องมีอักขระไม่เกิน 40 ตัว ต้องประกอบด้วยอักขระที่เป็นตัวอักษร ตัวเลข และเครื่องหมายขีดล่างเท่านั้น และต้องขึ้นต้นด้วย ที่มีอักขระเป็นพยัญชนะ
- ค่าพารามิเตอร์รวมถึงค่าพารามิเตอร์ของรายการต้องยาว 100 อักขระ หรือ น้อยกว่าสําหรับพร็อพเพอร์ตี้ Google Analytics มาตรฐาน และไม่เกิน 500 อักขระ สำหรับพร็อพเพอร์ตี้ Google Analytics 360
- พารามิเตอร์รายการมีพารามิเตอร์ที่กําหนดเองได้สูงสุด 10 รายการ
- เนื้อหาของโพสต์ต้องเล็กกว่า 130 kB
- เหตุการณ์ Measurement Protocol ของแอปที่ส่งไปยัง Google Analytics ไม่ป้อนข้อมูลใน Search กลุ่มเป้าหมายใน Google Ads สำหรับผู้ใช้แอป
ดูข้อกำหนดเพิ่มเติมของแต่ละกรณีการใช้งานได้ที่กรณีการใช้งานทั่วไป