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

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

แนวทางปฏิบัติแนะนำสำหรับนักพัฒนาแอปและนักวิเคราะห์

  • รักษาขอบเขตให้สอดคล้องกัน: อย่ารวมมิติข้อมูลการเข้าชมที่กำหนดขอบเขตระดับผู้ใช้ (เช่น กลุ่มแชแนลเริ่มต้นของผู้ใช้ครั้งแรก) กับเมตริกที่กำหนดขอบเขตระดับเซสชัน (เช่น ระยะเวลาเซสชันเฉลี่ย) หากเป้าหมายของคุณคือการทำความเข้าใจ ประสิทธิภาพของเซสชัน
  • ตรวจสอบ session_start ใน DebugView: ในระหว่างขั้นตอนการประกันคุณภาพและการตรวจสอบ ให้ใช้เครื่องมือแก้ไขข้อบกพร่องมาตรฐาน เช่น Google Analytics DebugView เพื่อ ยืนยันว่า 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 Keep-Alive ทั่วไป:

  • เนื้อหาวิดีโอแบบยาว: ผู้ใช้ที่ดูวิดีโอที่ฝังไว้ซึ่งมีความยาว 45 นาทีจะไม่มีการใช้งานเป็นเวลานานกว่า 30 นาที และอาจทำให้เซสชันหมดอายุ
  • บทความเชิงลึก: ผู้ใช้อาจใช้เวลา 40 นาทีในการอ่านคู่มือทางเทคนิค และเลื่อนช้าๆ แต่ไม่ได้ทริกเกอร์การดำเนินการนำทาง
  • เว็บแอปพลิเคชันแบบโต้ตอบ: ผู้ใช้ที่ตรวจสอบฟีดสด ตลาดหุ้น หรือแดชบอร์ดข้อมูลจะใช้ข้อมูลแบบพาสซีฟโดยไม่มีการคลิก

หากผู้ใช้ย่อหน้าต่างเบราว์เซอร์หรือเปลี่ยนแท็บ การ Ping พื้นหลังจะต้องหยุด

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