วัดเซสชันและการมีส่วนร่วมของผู้ใช้

ดูภาพรวมเชิงแนวคิดของขอบเขตผู้ใช้และเซสชัน รวมถึงวิธีที่ 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 นาที ดูวิธีการได้ที่ปรับระยะหมดเวลาของเซสชัน