หน้านี้อธิบายกลไกการรับส่งและพารามิเตอร์ข้อมูลสำหรับ Measurement Protocol
การขนส่ง
ต้องส่งข้อมูลทั้งหมดอย่างปลอดภัยโดยใช้คำขอ HTTPS POST
ส่งคำขอไปยังปลายทางต่อไปนี้
https://www.google-analytics.com/mp/collect
หากต้องการให้ระบบเก็บรวบรวมข้อมูลในสหภาพยุโรป ให้ใช้ปลายทางต่อไปนี้แทน
https://region1.google-analytics.com/mp/collect
ตัวอย่างคำขอ POST มีดังนี้
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
PAYLOAD_DATA
แทนที่ PAYLOAD_DATA ด้วย Payload ของคำขอ
Measurement Protocol จะแสดงรหัสสถานะ 2xx หากได้รับHTTP
คำขอ Measurement Protocol จะไม่แสดงรหัสข้อผิดพลาดหากเพย์โหลดใช้ไม่ได้ หรือหากข้อมูลไม่ถูกต้องหรือ Google Analytics ไม่ได้ประมวลผล
เพย์โหลด
เพย์โหลดมี 2 ส่วน ดังนี้
- พารามิเตอร์การค้นหา
- ส่วนเนื้อความ JSON POST
พารามิเตอร์การค้นหา
| ชื่อพารามิเตอร์ | คำอธิบาย | 
|---|---|
| 
 | ต้องระบุ API Secret จาก Google Analytics UI ดูได้ในส่วนผู้ดูแลระบบ > สตรีมข้อมูล > เลือกสตรีม > Measurement Protocol > สร้าง ส่วนตัวสำหรับองค์กรของคุณ ควรได้รับการอัปเดตเป็นประจำเพื่อหลีกเลี่ยงการส่งสแปมมากเกินไป | 
เนื้อความ JSON POST
| คีย์ | ประเภท | คำอธิบาย | 
|---|---|---|
| 
 | string | ไม่บังคับ ตัวระบุที่ไม่ซ้ำกันสำหรับผู้ใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวระบุนี้ได้ที่ User-ID สําหรับ การวิเคราะห์ข้ามแพลตฟอร์ม มีได้เฉพาะอักขระ UTF-8 | 
| 
 | number | 
        ไม่บังคับ การประทับเวลา Unix ในหน่วยไมโครวินาที ไม่ใช่มิลลิวินาที แสดงเวลาของเหตุการณ์ ควรตั้งค่า
        เพื่อบันทึกเฉพาะเหตุการณ์ที่เกิดขึ้นในอดีต สามารถลบล้างได้โดย
         | 
| 
 | object | ไม่บังคับ พร็อพเพอร์ตี้ผู้ใช้สำหรับการวัด | 
| 
 | object | ไม่บังคับ ข้อมูลที่ได้จากผู้ใช้ | 
| 
 | object | ไม่บังคับ การตั้งค่าความยินยอมสำหรับคำขอ ดูข้อมูลเพิ่มเติมได้ที่ส่วนความยินยอม | 
| 
 | boolean | ไม่บังคับ ตั้งค่าเป็น trueเพื่อระบุว่าไม่ควรใช้ข้อมูลของผู้ใช้
      สําหรับโฆษณาที่ปรับตามโปรไฟล์ของผู้ใช้ | 
| 
 | object | ไม่บังคับ ตั้งค่าข้อมูลทางภูมิศาสตร์สำหรับคำขอในรูปแบบที่มีโครงสร้าง | 
| 
 | string | ไม่บังคับ ที่อยู่ IP ที่ Google Analytics ใช้เพื่อรับข้อมูลทางภูมิศาสตร์สําหรับคําขอ | 
| 
 | object | ไม่บังคับ ตั้งค่าข้อมูลอุปกรณ์สำหรับคำขอในรูปแบบที่มีโครงสร้าง | 
| 
 | string | ไม่บังคับ ตั้งค่าลักษณะการทำงานของการตรวจสอบสำหรับคำขอ 
 | 
| 
 | array | ต้องระบุ อาร์เรย์ของรายการ eventส่งเหตุการณ์ได้สูงสุด 25 รายการต่อคำขอ  ดูข้อมูลอ้างอิงเหตุการณ์
      เพื่อดูเหตุการณ์ที่ถูกต้องทั้งหมด | 
| 
 | string | ต้องระบุ ชื่อกิจกรรม ดูตัวเลือกทั้งหมดได้ที่กิจกรรม | 
| 
 | object | ไม่บังคับ พารามิเตอร์สําหรับเหตุการณ์ ดูเหตุการณ์ เพื่อดูพารามิเตอร์ที่แนะนําสําหรับแต่ละเหตุการณ์ และพารามิเตอร์เหตุการณ์ทั่วไป | 
พารามิเตอร์เหตุการณ์ทั่วไป
Measurement Protocol มีพารามิเตอร์เหตุการณ์ทั่วไปต่อไปนี้
| คีย์ | ประเภท | คำอธิบาย | 
|---|---|---|
| 
 | number | ตัวเลขบวกที่ระบุเซสชันของผู้ใช้ จำเป็นสำหรับ
      กรณีการใช้งานทั่วไปหลายกรณี
      ต้องตรงกับนิพจน์ทั่วไป ^\d+$ | 
| 
 | number | ระยะเวลาของการมีส่วนร่วมของผู้ใช้ ในหน่วยมิลลิวินาทีสําหรับเหตุการณ์ ใช้ค่าที่แสดงถึงระยะเวลาการมีส่วนร่วมของผู้ใช้ นับตั้งแต่เหตุการณ์ก่อนหน้า | 
| 
 | number | เวลา Unix Epoch ในหน่วยไมโครวินาทีสำหรับเหตุการณ์ ใช้พารามิเตอร์นี้ เพื่อลบล้าง การประทับเวลาของเหตุการณ์ | 
ความยินยอม
แอตทริบิวต์ consent กำหนดค่าประเภทและสถานะความยินยอม
หากคุณไม่ได้ระบุ consent Google Analytics จะใช้การตั้งค่าความยินยอม
จากการโต้ตอบออนไลน์ที่เกี่ยวข้องสําหรับไคลเอ็นต์หรืออินสแตนซ์ของแอป
| คีย์ | ประเภท | คำอธิบาย | 
|---|---|---|
| 
 | string | ไม่บังคับ ความยินยอมในการส่งข้อมูลผู้ใช้จากเหตุการณ์และพร็อพเพอร์ตี้ผู้ใช้ของคำขอไปยัง Google เพื่อวัตถุประสงค์ในการโฆษณา 
 | 
| 
 | string | ไม่บังคับ ความยินยอมสำหรับโฆษณาที่ปรับตามโปรไฟล์ของผู้ใช้สำหรับผู้ใช้ 
 | 
ข้อมูลทางภูมิศาสตร์
แอตทริบิวต์ user_location และ ip_override ให้ข้อมูลทางภูมิศาสตร์
user_location จะมีความสำคัญเหนือ ip_override
นี่คือโครงสร้างของฟิลด์ user_location ระบุแอตทริบิวต์ให้มากที่สุดเท่าที่จะเป็นไปได้ เราขอแนะนำให้ใช้ country_id และ region_id เป็นอย่างน้อย
| คีย์ | ประเภท | คำอธิบาย | 
|---|---|---|
| 
 | string | ไม่บังคับ ชื่อเมือง หากเมืองอยู่ในสหรัฐอเมริกา ให้ตั้งค่า country_idและregion_idด้วย เพื่อให้ Google Analytics แมปชื่อเมือง
      กับรหัสเมืองได้อย่างถูกต้อง | 
| 
 | string | ไม่บังคับ ประเทศและเขตย่อยตามมาตรฐาน ISO 3166 เช่น US-CA,US-AR,CA-BC,GB-LND,CN-HK | 
| 
 | string | ไม่บังคับ ประเทศในรูปแบบ ISO 3166-1 Alpha-2 เช่น US,AU,ES,FR | 
| 
 | string | ไม่บังคับ อนุทวีปในรูปแบบ UN M49 เช่น 011,021,030,039 | 
| 
 | string | ไม่บังคับ ทวีปในรูปแบบ UN M49 เช่น 002,019,142,150 | 
ตัวอย่าง user_location มีดังนี้
"user_location": {
  "city": "Mountain View",
  "region_id": "US-CA",
  "country_id": "US",
  "subcontinent_id": "021",
  "continent_id": "019"
}
ip_override เป็นอีกทางเลือกหนึ่งแทน user_location หากคุณส่ง ip_override
 แทน Google Analytics จะดึงข้อมูลทางภูมิศาสตร์จากที่อยู่ IP
หากคุณส่ง user_location Google Analytics จะไม่สนใจ ip_override
หากคุณไม่ส่ง user_location หรือ ip_override Google
Analytics จะอนุมานข้อมูลทางภูมิศาสตร์จากการติดแท็กเหตุการณ์โดยใช้
client_id
Google Analytics จะใช้การตั้งค่าข้อมูลตำแหน่งแบบละเอียด ของพร็อพเพอร์ตี้กับคำขอ โดยไม่คำนึงถึงข้อมูลทางภูมิศาสตร์ที่ส่ง
ข้อมูลอุปกรณ์
หากต้องการส่งข้อมูลอุปกรณ์ ให้ใช้ฟิลด์
device นี่คือโครงสร้างของฟิลด์ device ระบุแอตทริบิวต์ให้ได้มากที่สุด เราขอแนะนำให้ใช้ category เป็นอย่างน้อย
| คีย์ | ประเภท | คำอธิบาย | 
|---|---|---|
| 
 | string | ไม่บังคับ หมวดหมู่ของอุปกรณ์ เช่น desktoptabletmobilesmart TV | 
| 
 | string | ไม่บังคับ ภาษาในรูปแบบ ISO 639-1 เช่น en,en-US | 
| 
 | string | ไม่บังคับ ความละเอียดของอุปกรณ์ในรูปแบบ WIDTHxHEIGHTเช่น1280x28561080x2340 | 
| 
 | string | ไม่บังคับ ระบบปฏิบัติการหรือแพลตฟอร์ม เช่น MacOS | 
| 
 | string | ไม่บังคับ เวอร์ชันของระบบปฏิบัติการหรือแพลตฟอร์ม เช่น 13.5 | 
| 
 | string | ไม่บังคับ รุ่นของอุปกรณ์ เช่น Pixel 9 Pro,Samsung Galaxy S24 | 
| 
 | string | ไม่บังคับ แบรนด์ของอุปกรณ์ เช่น Google,Samsung | 
| 
 | string | ไม่บังคับ แบรนด์หรือประเภทของเบราว์เซอร์ เช่น Chrome,Firefox | 
| 
 | string | ไม่บังคับ เวอร์ชันของเบราว์เซอร์ เช่น 136.0.7103.60,5.0 | 
ข้อมูลโค้ดต่อไปนี้แสดงตัวอย่างการตั้งค่า device
"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"
}
ไม่ว่าคุณจะระบุ Google Analytics จะใช้การตั้งค่าข้อมูลอุปกรณ์แบบละเอียดของพร็อพเพอร์ตี้กับคำขอ
ลักษณะการทำงานของการตรวจสอบ
แอตทริบิวต์ validation_behavior จะควบคุมวิธีที่ Measurement Protocol
ตรวจสอบเนื้อหาของคำขอ
- การตรวจสอบ RELAXEDจะปฏิเสธเฉพาะคำขอที่มีรูปแบบไม่ถูกต้อง ระบบอาจยังคง ยอมรับเหตุการณ์และพารามิเตอร์ที่มีชื่อฟิลด์ไม่ถูกต้องหรือมีข้อมูลที่ไม่ใช่ ประเภทที่ถูกต้อง แต่จะละเว้นพารามิเตอร์ที่เกินขีดจํากัด Measurement Protocol ใช้RELAXEDการตรวจสอบโดยค่าเริ่มต้น
- ENFORCE_RECOMMENDATIONSการตรวจสอบจะปฏิเสธพารามิเตอร์เหตุการณ์และสินค้าที่ ไม่ใช่ประเภทที่ถูกต้อง หรือมีพารามิเตอร์ที่เกินขีดจํากัด นอกจากนี้- ENFORCE_RECOMMENDATIONSยังปฏิเสธเหตุการณ์หรือพร็อพเพอร์ตี้ผู้ใช้ที่มีการประทับเวลาที่ไม่ได้อยู่ในช่วง 72 ชั่วโมงที่ผ่านมา
เราขอแนะนำให้ใช้วิธีต่อไปนี้
- ใช้ - ENFORCE_RECOMMENDATIONSเมื่อตรวจสอบความถูกต้องของเหตุการณ์เพื่อรับความคิดเห็นให้ได้มากที่สุด เกี่ยวกับปัญหาที่อาจเกิดขึ้นกับคำขอ- คุณยังตรวจสอบคำขอได้โดยใช้เครื่องมือสร้างเหตุการณ์ เนื่องจากเครื่องมือนี้จะระบุ - ENFORCE_RECOMMENDATIONSเมื่อตรวจสอบคำขอ
- อย่าระบุ - validation_behaviorเมื่อส่งเหตุการณ์เพื่อลด ข้อมูลที่ Measurement Protocol ปฏิเสธ- หากต้องการให้ความสําคัญกับการตรวจสอบอย่างเข้มงวดมากกว่าการเก็บรวบรวมข้อมูลเมื่อส่งคําขอหนึ่งๆ ให้เพิ่มฟิลด์ - validation_behaviorแล้วตั้งค่าเป็น- ENFORCE_RECOMMENDATIONS
พารามิเตอร์ที่กำหนดเอง
คุณสามารถใส่พารามิเตอร์ระดับผู้ใช้ ระดับเหตุการณ์ และระดับสินค้าที่กําหนดเอง ไว้ในเพย์โหลด Measurement Protocol ได้
- คุณรวมพารามิเตอร์ที่กำหนดเองระดับผู้ใช้ไว้ใน user_propertiesได้
- พารามิเตอร์ที่กำหนดเองระดับเหตุการณ์จะรวมอยู่ใน events[].paramsได้
- คุณสามารถใส่พารามิเตอร์ที่กำหนดเองระดับสินค้าใน
items
ค่าที่แนะนําสําหรับเหตุการณ์บางอย่าง
เหตุการณ์บางอย่างมีพารามิเตอร์ที่แนะนํา ดูเหตุการณ์เพื่อดูพารามิเตอร์ที่แนะนํา สําหรับเหตุการณ์ที่รองรับทั้งหมด
ชื่อที่สงวนไว้
ชื่อเหตุการณ์ พารามิเตอร์ และพร็อพเพอร์ตี้ผู้ใช้บางชื่อเป็นชื่อที่สงวนไว้และไม่สามารถใช้ได้
ชื่อเหตุการณ์ที่สงวนไว้
ชื่อเหตุการณ์ต่อไปนี้เป็นชื่อที่สงวนไว้และไม่สามารถใช้ได้
- ad_activeview
- ad_click
- ad_exposure
- ad_query
- ad_reward
- adunit_exposure
- app_clear_data
- app_exception
- app_install
- app_remove
- app_store_refund
- app_update
- app_upgrade
- dynamic_link_app_open
- dynamic_link_app_update
- dynamic_link_first_open
- error
- firebase_campaign
- firebase_in_app_message_action
- firebase_in_app_message_dismiss
- firebase_in_app_message_impression
- first_open
- first_visit
- notification_dismiss
- notification_foreground
- notification_open
- notification_receive
- notification_send
- os_update
- session_start
- user_engagement
นอกจากนี้ เหตุการณ์ ad_impression, in_app_purchase และ screen_view
จะอนุญาตให้ใช้กับสตรีมแอปเท่านั้น
ชื่อพารามิเตอร์ที่สงวนไว้
ชื่อพารามิเตอร์ต่อไปนี้เป็นชื่อที่สงวนไว้และไม่สามารถใช้ได้
- firebase_conversion
ชื่อพารามิเตอร์ต้องไม่ขึ้นต้นด้วยอักขระต่อไปนี้
- _ (underscore)
- firebase_
- ga_
- google_
- gtag.
ชื่อพร็อพเพอร์ตี้ผู้ใช้ที่สงวนไว้
ชื่อพร็อพเพอร์ตี้ผู้ใช้ต่อไปนี้เป็นชื่อที่สงวนไว้และไม่สามารถใช้ได้
- first_open_time
- first_visit_time
- last_deep_link_referrer
- user_id
- first_open_after_install
นอกจากนี้ ชื่อพร็อพเพอร์ตี้ผู้ใช้ต้องไม่ขึ้นต้นด้วย
- _ (underscore)
- firebase_
- ga_
- google_