เอกสารนี้จะอธิบายวิธีส่งข้อมูลไปยัง 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_data –
BODY
ของคำขอโพสต์ ส่วนเนื้อหาต้องมีเพย์โหลดที่เข้ารหัส 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
ตัวเลข
ใช้เพื่อแสดงจำนวนเต็มหรือเลขทศนิยม