การอ้างอิง Measurement Protocol

เอกสารนี้จะอธิบายวิธีส่งข้อมูลไปยัง Google Analytics โดยใช้ Measurement Protocol

ภาพรวม

การส่งข้อมูลไปยัง Google Analytics โดยใช้ Measurement Protocol มี 2 ส่วน ได้แก่

  • การขนส่ง - ไปยังตำแหน่งและวิธีที่คุณส่งข้อมูล
  • เพย์โหลด – ข้อมูลที่คุณส่ง

เอกสารนี้จะอธิบายวิธีจัดรูปแบบทั้ง 2 ประเภท

การขนส่ง

ปลายทาง URL

คุณส่งข้อมูลโดยใช้ Measurement Protocol ได้โดยการส่งคำขอ HTTP ไปยัง ปลายทางต่อไปนี้

https://www.google-analytics.com/collect

ข้อมูลทั้งหมดควรส่งอย่างปลอดภัยด้วยโปรโตคอล HTTPS

คุณส่งข้อมูลโดยใช้คำขอ POST หรือ GET ก็ได้

การใช้ POST

เราขอแนะนำให้ส่งข้อมูลผ่าน POST เพราะจะทำให้มีเพย์โหลดที่มากขึ้น เมื่อใช้ POST ให้ส่งคำขอ HTTP ต่อไปนี้

User-Agent: user_agent_string
POST https://www.google-analytics.com/collect
payload_data

โดยที่

  • user_agent_string – คือ สตริง User Agent ที่มีการจัดรูปแบบซึ่งใช้ในการคำนวณมิติข้อมูลต่อไปนี้ ได้แก่ ความสามารถของเบราว์เซอร์ แพลตฟอร์ม และอุปกรณ์เคลื่อนที่

    หากไม่ได้ตั้งค่านี้ ระบบจะไม่คำนวณข้อมูลข้างต้น

  • payload_dataBODY ของคำขอโพสต์ ส่วนเนื้อหาต้องมีเพย์โหลดที่เข้ารหัส URI 1 รายการเท่านั้นและต้องมีขนาดไม่เกิน 8192 ไบต์
  • ที่อยู่ IP - ส่งในคำขอ HTTP โดยปริยาย และใช้เพื่อคำนวณมิติข้อมูลภูมิศาสตร์ / เครือข่ายทั้งหมดใน Google Analytics

GET

สำหรับสภาพแวดล้อมที่ไม่สามารถส่งข้อมูล POST ได้ คุณสามารถส่งคำขอ HTTP GET ไปยังปลายทางเดียวกันได้ด้วย

GET /collect?payload_data HTTP/1.1
Host: https://www.google-analytics.com
User-Agent: user_agent_string

ตำแหน่งที่ส่งข้อมูลเพย์โหลดเป็นพารามิเตอร์การค้นหาที่ใช้ Escape URI ความยาวของ URL ที่เข้ารหัสทั้งหมดต้องไม่เกิน 8,000 ไบต์

การป้องกันแคช

ในบางสภาพแวดล้อม เช่น เบราว์เซอร์ คำขอ HTTP GET อาจถูกแคชไว้ เมื่อมีการแคชคำขอแล้ว ระบบอาจเรียกข้อมูลคำขอที่ตามมาจากแคช และไม่ส่งไปยัง Google Analytics หากต้องการป้องกันผ่านแคช Measurement Protocol จะให้พารามิเตอร์พิเศษ (z) ที่ตั้งค่าด้วยตัวเลขสุ่มได้ วิธีนี้ช่วยให้มั่นใจว่าคำขอ Measurement Protocol ทั้งหมดจะไม่ซ้ำกัน และไม่ได้ดึงคำขอที่ตามมาจากแคช

เมื่อคุณใช้ระบบป้องกันแคช เราขอแนะนำให้เพิ่มพารามิเตอร์นี้เป็นพารามิเตอร์ last ในเพย์โหลด

https://www.google-analytics.com/collect?payload_data&z=123456

โค้ดตอบกลับ

Measurement Protocol จะแสดงรหัสสถานะ 2xx หากได้รับคำขอ HTTP Measurement Protocol ไม่แสดงรหัสข้อผิดพลาดหากข้อมูลเพย์โหลดมีรูปแบบที่ไม่ถูกต้อง หรือข้อมูลในเพย์โหลดไม่ถูกต้องหรือไม่ได้รับการประมวลผลโดย Google Analytics

หากไม่ได้รับรหัสสถานะ 2xx คุณควรไม่ลองส่งคําขออีกครั้ง แต่คุณควรหยุดและแก้ไขข้อผิดพลาดในคำขอ HTTP แทน

ข้อมูลเพย์โหลด

ระบบจะส่งข้อมูลทั้งหมดที่ Google Analytics รวบรวมโดยใช้ Measurement Protocol เป็นเพย์โหลด เพย์โหลดคล้ายกับสตริงการค้นหาของ URL ที่พารามิเตอร์แต่ละรายการมีคีย์และค่า ซึ่งคั่นด้วยอักขระ = และแต่ละคู่คั่นด้วยอักขระ & เช่น

key1=val1&key2=val2

เพย์โหลดแต่ละรายการมีกฎที่ควบคุมอยู่ ซึ่งได้แก่ ค่าที่จำเป็น, การเข้ารหัส URI, พารามิเตอร์ที่ส่งพร้อมกันได้ และความยาวของพารามิเตอร์ นอกจากนี้ พารามิเตอร์แต่ละรายการยังมีประเภทที่เฉพาะเจาะจงซึ่งต้องใช้รูปแบบที่เฉพาะเจาะจง ส่วนต่อไปนี้จะอธิบายกฎเหล่านี้

โปรดอ่านข้อมูลอ้างอิงพารามิเตอร์เพื่อดูรายการพารามิเตอร์ทั้งหมดที่คุณส่งได้โดยใช้ Measurement Protocol

ค่าที่จำเป็นสำหรับ Hit ทั้งหมด

พารามิเตอร์ต่อไปนี้ต้องอยู่ในเพย์โหลดแต่ละรายการ

ชื่อ พารามิเตอร์ ตัวอย่าง คำอธิบาย
เวอร์ชันของโปรโตคอล v v=1 เวอร์ชันโปรโตคอล ค่าควรเป็น 1
รหัสติดตาม tid tid=UA-123456-1 รหัสที่แยกออกจากพร็อพเพอร์ตี้ Google Analytics ที่จะส่งข้อมูล
Client-ID cid cid=xxxxx รหัสที่ไม่ซ้ำกันของผู้ใช้แต่ละราย
ประเภท Hit t t=pageview ประเภทของการโต้ตอบที่รวบรวมสำหรับผู้ใช้รายหนึ่งๆ

ข้อมูล Client ID และ Hit Type คือค่าที่แมปกับโมเดลข้อมูล Google Analytics โดยตรง หากต้องการติดตามผู้ใช้ 5555 ที่ไปที่ /pageA, /pageB และ /pageC คุณจะต้องส่งเพย์โหลด 3 รายการต่อไปนี้

v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageA
v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageB
v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageC

สังเกตว่า / ได้รับการเข้ารหัสเป็น %2F

ค่าการเข้ารหัส URL

ค่าทั้งหมดที่ส่งไปยัง Google Analytics ต้องเป็นทั้ง UTF-8 และการเข้ารหัส URL หากต้องการส่งคีย์ dp ที่มีค่า /my page € ก่อนอื่นคุณต้องตรวจสอบว่าคีย์นี้เข้ารหัส UTF-8 แล้วเข้ารหัส URL ซึ่งทำให้ได้สตริงสุดท้าย

dp=%2Fmy%20page%20%E2%82%AC

หากอักขระเข้ารหัสไม่ถูกต้อง ระบบจะแทนที่อักขระเหล่านั้นด้วยอักขระแทนที่ Unicode xFFFD

ค่าที่จำเป็นสำหรับ Hit บางประเภท

พารามิเตอร์บางอย่างอาจส่งไปพร้อมกับประเภท Hit ที่เฉพาะเจาะจงเท่านั้น ตัวอย่างเช่น ประเภท Hit pageview จะต้องมีการตั้งค่าพารามิเตอร์เส้นทางหน้าเว็บ (dp) ด้วย ข้อมูลอ้างอิงพารามิเตอร์จะอธิบายว่าพารามิเตอร์ใดบ้างที่จำเป็นสำหรับประเภท Hit

ความยาวสูงสุด

ค่าข้อความบางค่าใน Measurement Protocol มีความยาวสูงสุดที่เฉพาะเจาะจงเป็นไบต์ เช่น ช่อง URL ที่มาในเอกสาร dr มีความยาวสูงสุด 2,048 ไบต์ หากค่าใดค่าเกินความยาวสูงสุด ระบบจะตัดค่าเหล่านั้นโดยอัตโนมัติ หากอักขระที่มีหลายไบต์เกินความยาวสูงสุด ระบบจะตัดอักขระทั้งตัว

ประเภทข้อมูลที่รองรับ

แต่ละช่องข้อมูลใน Measurement Protocol เป็นประเภทใดประเภทหนึ่งโดยแต่ละฟิลด์มีกฎการตรวจสอบของตนเอง หากค่าพารามิเตอร์ใดๆ ไม่เป็นไปตามกฎการตรวจสอบ Google Analytics จะไม่สนใจพารามิเตอร์ดังกล่าวและไม่ประมวลผล พารามิเตอร์อื่นๆ ทั้งหมดจะได้รับการประมวลผลตามปกติ

Measurement Protocol รองรับประเภทข้อมูลต่อไปนี้

โปรดทราบว่าช่องข้อมูลแต่ละช่องอาจมีข้อจำกัดของตัวเอง ดูการอ้างอิงช่องสำหรับรายการช่องข้อมูลทั้งหมดและประเภทที่ยอมรับ

ข้อความ

ใช้เพื่อแสดงสตริง การประมวลผลเพิ่มเติมจะดำเนินการกับช่องข้อความ และจะนำอักขระช่องว่างขึ้นต้นและต่อท้ายออกทั้งหมด การเรียกใช้ภายในที่มีอักขระช่องว่าง 2 ตัวขึ้นไป (รวมถึงการเว้นวรรค แท็บ บรรทัดใหม่ ฯลฯ) จะลดลงเป็นอักขระเว้นวรรค 1 ตัว ระบบจะใช้การเปลี่ยนรูปแบบนี้กับข้อความดิบก่อนจะมีการตัดข้อความ เช่น

   Hello      World

จะกลายเป็น:

Hello World

สกุลเงิน

ใช้เพื่อแสดงมูลค่ารวมของสกุลเงิน จุดทศนิยมใช้เป็นตัวคั่นระหว่างจำนวนเต็มกับเศษส่วน โดยใช้ทศนิยม 6 ตำแหน่ง ข้อมูลต่อไปนี้ใช้ได้กับช่องสกุลเงิน

1000.000001

เมื่อส่งค่าไปยัง Google Analytics แล้ว ระบบจะนำข้อความทั้งหมดออกจนถึงตัวเลขหลักแรก อักขระ - หรืออักขระ . (ทศนิยม) ดังนั้น

$-55.00

จะกลายเป็น:

-55.00

บูลีน

ใช้ในการพิจารณาว่าค่าเป็น "จริง" หรือ "เท็จ" ค่าที่ใช้ได้มีดังนี้

  • 1 – จริง
  • 0 – เท็จ

จำนวนเต็ม

ใช้เพื่อแสดงจำนวนเต็ม ค่าจะจัดเก็บเป็น Signed int64

ตัวเลข

ใช้เพื่อแสดงจำนวนเต็มหรือเลขทศนิยม