ดูภาพรวมเชิงแนวคิดของขอบเขตผู้ใช้และเซสชัน รวมถึงวิธีที่ Google Analytics กำหนดและจำกัดเซสชันอย่างเคร่งครัดตามการไม่มีการใช้งานได้ที่มิติข้อมูลและเมตริก: เกี่ยวกับเซสชัน Analytics และคู่มือขอบเขตของมิติข้อมูลแหล่งที่มาของการเข้าชม
คู่มือนี้ครอบคลุมความท้าทายและแนวทางปฏิบัติแนะนำเฉพาะสำหรับนักพัฒนาซอฟต์แวร์ในการจัดการการกำหนดค่าเซสชันและการติดตามแบบพาสซีฟ
จับคู่มิติข้อมูลระดับหน้าเว็บกับเมตริกเซสชัน
ความแตกต่างเล็กน้อยในการรายงานที่พบบ่อยที่สุดอย่างหนึ่งเกิดขึ้นเมื่อคุณจับคู่มิติข้อมูลที่กำหนดขอบเขตระดับหน้าเว็บ (เช่น เส้นทางหน้าเว็บและคลาสหน้าจอ) กับเมตริกเซสชันระดับเซสชัน
คำจำกัดความของเซสชันและการดู
เซสชันจะนับระยะเวลาที่ไม่ซ้ำกันซึ่งมีการโหลดเส้นทางหน้าเว็บที่ระบุอย่างน้อย 1 ครั้ง
การดู (การดูหน้าเว็บ) จะนับจำนวนครั้งสะสมทั้งหมดที่มีการโหลดเส้นทางหน้าเว็บ
ตัวอย่าง
พิจารณาเซสชันเดียวที่มีเส้นทางการนําทางของผู้ใช้ต่อไปนี้ /home → /products → /home → ออก
หากนี่เป็นเซสชันเดียว รายงานที่กําหนดค่าด้วยเมตริกเส้นทางหน้าเว็บและคลาสหน้าจอ และเซสชันหรือการดูจะแสดงข้อมูลต่อไปนี้
| เส้นทางหน้าเว็บ | เซสชัน | ยอดดู |
|---|---|---|
/home |
1 | 2 |
/products |
1 | 1 |
| ทั้งหมด (กรองข้อมูลที่ซ้ำกันออกโดย Google Analytics) | 1 | 3 |
หากคุณรวมแถวเข้าด้วยกัน จะได้ 2 เซสชัน แต่ผลรวมที่แท้จริงของพร็อพเพอร์ตี้จะกรองข้อมูลที่ซ้ำกันออกเหลือ 1 รายการ
กฎการปรับแต่ง
- เซสชันที่มีเส้นทางหน้าเว็บหมายถึงเซสชันที่ไม่ซ้ำกันซึ่งเข้าชมเส้นทางอย่างน้อย 1 ครั้ง
- เซสชันที่มีหน้า Landing Page หมายถึงเซสชันที่ไม่ซ้ำกันซึ่งเริ่มต้นในเส้นทาง หากต้องการดูการเข้าชมหน้า Landing Page ให้ใช้หน้า Landing Page + สตริงการค้นหาเสมอ แทนที่จะใช้เซสชันที่มีเส้นทางหน้าเว็บ
- ยอดดูจะนับความถี่ในการโหลดทั้งหมดเสมอ
แนวทางปฏิบัติแนะนำสำหรับนักพัฒนาซอฟต์แวร์และนักวิเคราะห์
- รักษาขอบเขตให้สอดคล้องกัน: อย่าผสมมิติข้อมูลการเข้าชมระดับผู้ใช้ (เช่น Channel Group เริ่มต้นของผู้ใช้ครั้งแรก) กับเมตริกระดับเซสชัน (เช่น ระยะเวลาเซสชันเฉลี่ย) หากเป้าหมายของคุณคือการทําความเข้าใจประสิทธิภาพของเซสชัน
- ตรวจสอบ
session_startใน DebugView: ในระหว่างขั้นตอน QA และการยืนยัน ให้ใช้เครื่องมือแก้ไขข้อบกพร่องมาตรฐาน เช่น DebugView ของ Google Analytics เพื่อยืนยันว่าsession_startเริ่มทำงานอย่างถูกต้องเมื่อเริ่มเซสชัน
แนวทางปฏิบัติแนะนำในการจัดการระยะหมดเวลาของเซสชัน
ระยะเวลาเซสชันเริ่มต้นของ Google Analytics คือ 30 นาที
เราไม่แนะนําให้ใช้โค้ดที่กําหนดเองเพื่อ "ส่งคําสั่ง ping" ไปยัง Google Analytics เป็นระยะๆ เพื่อป้องกันการหมดเวลาเนื่องจากไม่มีการใช้งาน หากคุณเพิ่มเมตริกเซสชันอย่างไม่เป็นธรรมชาติ ข้อมูลเชิงพฤติกรรมของผู้ใช้จะบิดเบือนไป แต่ให้ใช้ฟีเจอร์ในตัวของ Google Analytics หรือกำหนดเป้าหมายเหตุการณ์การมีส่วนร่วมที่มีความหมายเพื่อเสนอโซลูชันที่ชัดเจนยิ่งขึ้นแทน
เหตุใดการใช้คําสั่ง ping "Keep-Alive" ทั่วไปจึงเป็นแนวทางปฏิบัติที่ไม่ดี
- เมตริกหลักที่บิดเบือน: หากผู้ใช้ออกจากแท็บ แสดงว่าผู้ใช้ไม่ได้ใช้งานจริงๆ หากคุณบังคับให้เซสชันเปิดอยู่ จะทำให้เกิด "เซสชันซอมบี้" และทำให้ระยะเวลาเซสชันเฉลี่ยเพิ่มขึ้นอย่างไม่ถูกต้อง ซึ่งจะบดบังจุดที่แท้จริงที่ผู้ใช้หมดความสนใจหรือออกจากเว็บไซต์
- ผลกระทบต่อเซสชันที่มีส่วนร่วม: Google Analytics กำหนดเซสชันที่มีส่วนร่วมเป็นเซสชันที่นานกว่า 10 วินาที มีการดูหน้าเว็บอย่างน้อย 2 ครั้ง หรือทริกเกอร์เหตุการณ์สำคัญ (เดิมคือเหตุการณ์ Conversion) หากคุณเปิดเซสชันไว้โดยไม่มีการใช้งานจริง เซสชันจะปรากฏว่ามีส่วนร่วม ซึ่งจะทำให้อัตราการมีส่วนร่วมเพิ่มขึ้น
- ข้อมูลที่มากเกินไปและค่าใช้จ่าย: หากคุณเริ่มเหตุการณ์ Ping ในเบื้องหลังที่ว่างเปล่าอย่างต่อเนื่อง จะทำให้เกิดความคลาดเคลื่อนของจำนวนเหตุการณ์และเพิ่มค่าใช้จ่ายของระบบคลังข้อมูลหากคุณส่งออกข้อมูล Google Analytics ไปยัง BigQuery
กรณีที่ควรติดตามการมีส่วนร่วมแบบพาสซีฟ (และวิธีดำเนินการ)
มีสถานการณ์ที่ถูกต้องตามกฎหมายซึ่งผู้ใช้มีส่วนร่วมกับเนื้อหาอย่างต่อเนื่อง แต่ไม่ได้ทริกเกอร์เหตุการณ์การโต้ตอบมาตรฐานของ Google Analytics (เช่น การคลิกหรือการเปลี่ยนหน้า) ในกรณีเหล่านี้ ให้บันทึกเหตุการณ์ความคืบหน้าที่สำคัญซึ่งเริ่มต้นโดยผู้ใช้แทนคำสั่ง ping เพื่อรักษาการเชื่อมต่อทั่วไป ดังนี้
- เนื้อหาวิดีโอแบบยาว: ผู้ใช้ที่ดูวิดีโอแบบฝังความยาว 45 นาทีจะไม่มีการโต้ตอบเป็นเวลานานกว่า 30 นาที และมีความเสี่ยงที่เซสชันจะหมดอายุ
- ข้อมูลเจาะลึก: ผู้ใช้อาจใช้เวลา 40 นาทีในการอ่านคู่มือทางเทคนิค และเลื่อนช้าๆ แต่ไม่ทริกเกอร์การดำเนินการไปยังส่วนต่างๆ
- เว็บแอปพลิเคชันแบบอินเทอร์แอกทีฟ: ผู้ใช้ที่ตรวจสอบฟีดสด แถบแสดงราคาหุ้น หรือแดชบอร์ดข้อมูลจะใช้ข้อมูลแบบพาสซีฟโดยไม่ต้องคลิก
หากผู้ใช้ย่อหน้าต่างเบราว์เซอร์หรือเปลี่ยนแท็บ ต้องหยุดส่งคําสั่ง ping ในเบื้องหลัง
ตัวอย่างโค้ด: การแจ้งเหตุการณ์ที่รับรู้การมองเห็น
รูปแบบ JavaScript ต่อไปนี้แสดงวิธีติดตามการมีส่วนร่วมแบบพาสซีฟและเคารพการมองเห็นแท็บ ปรับช่วงเวลาการติดตามและค่าพารามิเตอร์ (เช่น 5 นาทีหรือ 300,000 มิลลิวินาที) ตามกรณีการใช้งานที่เฉพาะเจาะจง เช่น ระยะเวลาปกติของวิดีโอหรือบทความแบบยาว ดังนี้
const TRACKING_INTERVAL_MILLIS = 5 * 60 * 1000;
let engagementInterval;
function startEngagementTracking() {
// Prevent duplicate intervals if tab becomes visible
if (engagementInterval) return;
engagementInterval = setInterval(() => {
gtag('event', 'passive_engagement', {
'engagement_time_msec': TRACKING_INTERVAL_MILLIS
});
}, TRACKING_INTERVAL_MILLIS);
}
function stopEngagementTracking() {
if (engagementInterval) {
clearInterval(engagementInterval);
engagementInterval = null;
}
}
// Start tracking initially if the page is visible
if (!document.hidden) {
startEngagementTracking();
}
// Stop tracking when tab is hidden, resume when visible
document.addEventListener('visibilitychange', () => {
if (document.hidden) {
stopEngagementTracking();
} else {
startEngagementTracking();
}
});
การวัดที่ปรับปรุงแล้วของ Google Analytics เทียบกับการติดตามที่กำหนดเอง
Google Analytics มีฟีเจอร์การวัดที่ปรับปรุงแล้ว ซึ่งจะจัดการสถานการณ์การติดตามแบบพาสซีฟบางอย่างโดยอัตโนมัติทันทีที่ใช้งาน แม้ว่าจะมีข้อจำกัดบางอย่างก็ตาม
| ประเภทการโต้ตอบ | จัดการโดยการวัดที่ปรับปรุงแล้วใช่ไหม | ข้อกำหนด/รายการการทำงาน |
|---|---|---|
| วิดีโอ YouTube ที่ฝัง | มี | เริ่มเหตุการณ์ video_start, video_complete และ video_progress โดยอัตโนมัติที่ 10%, 25%, 50% และ 75% (ต้องเปิดใช้การรองรับ JS API) |
| วิดีโอที่ไม่ใช่ของ YouTube (HTML5, Vimeo) | ไม่ | ต้องมีการติดตั้งใช้งานที่กำหนดเอง เริ่มเหตุการณ์แบบเป็นโปรแกรมโดยใช้ gtag.js หรือจัดการทริกเกอร์โดยใช้ Google Tag Manager (GTM) |
| การเลื่อนหน้าเว็บแบบมาตรฐาน | บางส่วน | เริ่มทำงานเหตุการณ์ scroll เพียงครั้งเดียวเมื่อผู้ใช้เลื่อนถึง 90% ของหน้าเว็บ |
| ความคืบหน้าในการอ่านที่เพิ่มขึ้น | ไม่ | ปิดใช้การติดตามการเลื่อนของ Google Analytics โดยค่าเริ่มต้น และใช้เกณฑ์การเลื่อนที่กำหนดเอง (เช่น 25%, 50%, 75%) โดยใช้โปรแกรมหรือใน GTM |
ทางเลือกที่ง่ายที่สุด: ปรับขีดจำกัดระยะหมดเวลาของเซสชัน Google Analytics
หากเว็บไซต์ของคุณเน้นเนื้อหาแบบยาว หลักสูตรวิดีโอ หรือการใช้งานแอปอย่างต่อเนื่องอยู่แล้ว คุณไม่จำเป็นต้องแทรกสคริปต์ที่กำหนดเอง คุณสามารถปรับเกณฑ์ 30 นาทีเริ่มต้นภายในอินเทอร์เฟซ Google Analytics ได้สูงสุด 7 ชั่วโมง 55 นาที ดูวิธีการได้ที่ปรับระยะหมดเวลาของเซสชัน