หน้านี้อธิบายกลไกการรับส่งและพารามิเตอร์ข้อมูลสำหรับ 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 | 
    
      ไม่บังคับ หมวดหมู่ของอุปกรณ์ เช่น
      desktop
      tablet
      mobile
      smart TV
     | 
  
 | 
    string | 
    
      ไม่บังคับ ภาษาในรูปแบบ ISO 639-1 เช่น en, en-US
     | 
  
 | 
    string | 
    
      ไม่บังคับ ความละเอียดของอุปกรณ์ในรูปแบบ
      WIDTHxHEIGHT เช่น 1280x2856
      1080x2340
     | 
  
 | 
    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_activeviewad_clickad_exposuread_queryad_rewardadunit_exposureapp_clear_dataapp_exceptionapp_installapp_removeapp_store_refundapp_updateapp_upgradedynamic_link_app_opendynamic_link_app_updatedynamic_link_first_openerrorfirebase_campaignfirebase_in_app_message_actionfirebase_in_app_message_dismissfirebase_in_app_message_impressionfirst_openfirst_visitnotification_dismissnotification_foregroundnotification_opennotification_receivenotification_sendos_updatesession_startuser_engagement
นอกจากนี้ เหตุการณ์ ad_impression, in_app_purchase และ screen_view
จะอนุญาตให้ใช้กับสตรีมแอปเท่านั้น
ชื่อพารามิเตอร์ที่สงวนไว้
ชื่อพารามิเตอร์ต่อไปนี้เป็นชื่อที่สงวนไว้และไม่สามารถใช้ได้
firebase_conversion
ชื่อพารามิเตอร์ต้องไม่ขึ้นต้นด้วยอักขระต่อไปนี้
_ (underscore)firebase_ga_google_gtag.
ชื่อพร็อพเพอร์ตี้ผู้ใช้ที่สงวนไว้
ชื่อพร็อพเพอร์ตี้ผู้ใช้ต่อไปนี้เป็นชื่อที่สงวนไว้และไม่สามารถใช้ได้
first_open_timefirst_visit_timelast_deep_link_referreruser_idfirst_open_after_install
นอกจากนี้ ชื่อพร็อพเพอร์ตี้ผู้ใช้ต้องไม่ขึ้นต้นด้วย
_ (underscore)firebase_ga_google_