เอกสารนี้มีไว้สำหรับนักพัฒนาแอปที่ต้องการวัดการดูหน้าเว็บในแอปพลิเคชันหน้าเว็บเดียวโดยใช้ Google Analytics
แอปพลิเคชันหน้าเว็บเดียว (SPA) คือเว็บไซต์ที่โหลดเอกสาร HTML เพียงครั้งเดียวและดึงเนื้อหาเพิ่มเติม โดยใช้ JavaScript API
ตัวอย่าง: สมมติว่าคุณมีแบบฟอร์มเพื่อรับโอกาสในการขาย แบบฟอร์มมี 3 หน้าจอดังนี้
- หน้าจอแรกสำหรับบันทึกข้อมูลลูกค้า
- หน้าจอที่ 2 ที่ลูกค้าจะระบุความสนใจในบริการบางอย่าง
- หน้าจอที่ 3 สำหรับลงชื่อสมัครใช้การสัมมนาผ่านเว็บที่เกี่ยวข้องกับความสนใจของลูกค้า
เคล็ดลับสำคัญในการวัดการดูหน้าเว็บจาก SPA อย่างถูกต้องคือการนับการดูหน้าเว็บสำหรับ แต่ละหน้าจอที่ผู้ใช้โต้ตอบด้วย และรับผู้แนะนำหน้าเว็บ ที่ถูกต้อง เพื่อให้คุณติดตามเส้นทางของผู้ใช้ได้อย่างถูกต้อง
ก่อนเริ่มต้น
หน้านี้จะถือว่าคุณมีสิ่งต่อไปนี้แล้ว
บัญชีและพร็อพเพอร์ตี้ Google Analytics สำหรับเว็บไซต์ ดูวิธีตั้งค่า Google Analytics
แท็ก Google ที่ติดตั้งใช้งานในเว็บไซต์ซึ่งเริ่มทำงานเมื่อหน้าเว็บโหลดขึ้นครั้งแรก ดูวิธีตั้งค่าแท็ก Google Set up the Google tag
ติดตั้งใช้งานการวัดผลแอปพลิเคชันหน้าเว็บเดียว
หากต้องการติดตั้งใช้งานการวัดผล SPA อย่างถูกต้อง ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อทริกเกอร์การดูหน้าเว็บเสมือนใหม่
การเปลี่ยนแปลงประวัติการเข้าชมของเบราว์เซอร์ (แนะนำ): หาก SPA ใช้ History API โดยเฉพาะ เมธอด
pushState()และreplaceState()เพื่ออัปเดตหน้าจอ ให้ใช้ตัวเลือกนี้เหตุการณ์ที่กำหนดเอง: หากเว็บไซต์ใช้
DocumentFragmentเพื่อแสดงหน้าจอต่างๆ ให้ใช้ตัวเลือกนี้
การติดตั้งใช้งานการเปลี่ยนแปลงประวัติการเข้าชมของเบราว์เซอร์
หาก SPA ใช้ History API คุณสามารถเปิดใช้การวัดที่ปรับปรุงแล้วใน Google Analytics เพื่อติดตามการดูหน้าเว็บโดยอัตโนมัติตามเหตุการณ์ประวัติการเข้าชมของเบราว์เซอร์
เปิดใช้การวัดที่ปรับปรุงแล้วใน GA4
วิธีวัด page_views โดยอัตโนมัติตามประวัติการเข้าชมของเบราว์เซอร์
เปิด Google Analytics
ในส่วนผู้ดูแลระบบ ให้คลิกสตรีมข้อมูล > เว็บ ในส่วน การเก็บรวบรวมข้อมูลและการแก้ไข
ในส่วน การวัดที่ปรับปรุงแล้ว ให้เลื่อนสวิตช์เป็นเปิด เพื่อเปิดใช้ตัวเลือกทั้งหมด
คลิกเพื่อแก้ไขตัวเลือกแต่ละรายการ ในส่วนการดูหน้าเว็บ ให้คลิกแสดง การตั้งค่าขั้นสูง ตรวจสอบว่าได้เปิดใช้ทั้งการโหลดหน้าเว็บ และการเปลี่ยนแปลงหน้าเว็บตามเหตุการณ์ประวัติการเข้าชมของเบราว์เซอร์
บันทึก การเปลี่ยนแปลง
หมายเหตุ: เมื่อเปิดใช้การวัดที่ปรับปรุงแล้วสำหรับ "การเปลี่ยนแปลงหน้าเว็บตามเหตุการณ์ประวัติการเข้าชมของเบราว์เซอร์" Google Analytics จะรอฟังเหตุการณ์ประวัติ (เช่น เหตุการณ์ที่ใช้ใน SPA) โดยอัตโนมัติและส่งเหตุการณ์ page_view คุณไม่จำเป็นต้องกำหนดค่าตัวแปรหรือทริกเกอร์ประวัติที่เฉพาะเจาะจงใน Google Tag Manager เพื่อวัตถุประสงค์ในการส่งการดูหน้าเว็บไปยัง GA4
ใช้ทริกเกอร์ Google Tag Manager สำหรับเหตุการณ์ประวัติ
หากต้องการเริ่มทำงานแท็กประเภทอื่นๆ ใน Google Tag Manager ตามการเปลี่ยนแปลงประวัติการเข้าชมของเบราว์เซอร์ เช่น เพื่อส่งข้อมูลไปยังแพลตฟอร์มการตลาดอื่นๆ คุณสามารถใช้ประเภททริกเกอร์ "การเปลี่ยนแปลงประวัติ" ได้
เมื่อกำหนดค่าแท็กหรือตัวแปรให้ทำงานร่วมกับทริกเกอร์การเปลี่ยนแปลงประวัติ ให้ตรวจสอบว่าคุณใช้ตัวแปรที่มีให้ ที่ถูกต้องซึ่ง Google Tag Manager มีให้
History New URL Fragment: ส่วนย่อยของ URL หลังจากเหตุการณ์ประวัติHistory Old URL Fragment: ส่วนย่อยของ URL ก่อนเหตุการณ์ประวัติHistory New State: ออบเจ็กต์สถานะประวัติใหม่History Old State: ออบเจ็กต์สถานะประวัติเก่าHistory Source: แหล่งที่มาของเหตุการณ์ประวัติ (เช่นpopstate,pushState,replaceState)
คุณอาจต้องเปิดใช้ตัวแปรที่มีให้เหล่านี้ใน Google Tag Manager ก่อนในส่วนตัวแปร > กำหนดค่า
ดูรายละเอียดเพิ่มเติมเกี่ยวกับทริกเกอร์นี้ได้ที่ ทริกเกอร์การเปลี่ยนแปลงประวัติ
ยืนยันการตั้งค่าการวัดผล
วิธียืนยันว่าแอปพลิเคชันหน้าเว็บเดียววัดการดูหน้าเว็บได้อย่างถูกต้อง
เปิดใช้โหมดแก้ไขข้อบกพร่องสำหรับทุกแท็กในการตั้งค่าการวัดผล SPA ดูวิธี ตรวจสอบเหตุการณ์ใน DebugView
คลิกผ่านแอปพลิเคชันหน้าเว็บเดียว เมื่อคลิกไปยังหน้าจอเสมือนใหม่ คุณควรเห็นเหตุการณ์
page_viewใหม่ใน DebugView เปรียบเทียบพารามิเตอร์เหตุการณ์page_viewกับเหตุการณ์page_viewก่อนหน้าเพื่อตรวจสอบว่าผู้แนะนำหน้าเว็บและตำแหน่งหน้าเว็บได้รับการอัปเดตอย่างถูกต้องหรือไม่
ข้อควรพิจารณาเพิ่มเติมสำหรับ SPA
นอกจากการส่งเหตุการณ์ page_view แล้ว ให้พิจารณาประเด็นเพิ่มเติมต่อไปนี้เพื่อการผสานรวม SPA กับ Google Analytics อย่างมีประสิทธิภาพและประสบการณ์การใช้งานของผู้ใช้ที่ดีขึ้น
จัดการตำแหน่งการเลื่อน
เมื่อผู้ใช้ไปยังส่วนต่างๆ ใน SPA เบราว์เซอร์มักจะเก็บตำแหน่งการเลื่อนปัจจุบันไว้ ซึ่งอาจหมายความว่าผู้ใช้จะไม่เห็นส่วนบนของหน้าเว็บเสมือนใหม่ และอาจส่งผลต่อการติดตามความลึกในการเลื่อน
คำแนะนำ: รีเซ็ตตำแหน่งการเลื่อนเป็นส่วนบนของหน้าเว็บหรือคอนเทนเนอร์เนื้อหาหลักโดยโปรแกรมหลังจากการเปลี่ยนหน้าเว็บเสมือนแต่ละครั้ง
// Example: Reset window scroll position on a route change in your SPA
window.scrollTo(0, 0);
// Or, if your content is within a specific element:
// document.getElementById('main-content').scrollTo(0, 0);
การเปลี่ยนแปลงนี้จะทำให้ผู้ใช้เริ่มต้นที่ส่วนบนของเนื้อหาใหม่ ซึ่งช่วยให้การติดตามการเลื่อนของ Google Analytics วัดการมีส่วนร่วมในหน้าเว็บเสมือนใหม่ได้อย่างถูกต้อง
ตรวจสอบว่าเนื้อหาสามารถเข้าถึงได้สำหรับฟีเจอร์ของเบราว์เซอร์
หากผู้ใช้รายงานปัญหาเกี่ยวกับฟีเจอร์ของเบราว์เซอร์ เช่น การค้นหาในหน้า (Ctrl+F) ไม่ทำงานหลังจาก การโหลดหน้าเว็บ เสมือน ปัญหานี้อาจบ่งบอกถึงวิธีที่ SPA อัปเดต DOM
คำแนะนำ: ตรวจสอบว่าเฟรมเวิร์ก SPA และตรรกะการกำหนดเส้นทางอัปเดตส่วนที่เกี่ยวข้องของ DOM ด้วยเนื้อหาของหน้าเว็บใหม่โดยสมบูรณ์และพร้อมกัน เบราว์เซอร์อาจไม่สามารถจัดทำดัชนีการแสดงผลที่ล่าช้าหรือเนื้อหาที่ซ่อนจากแผนผัง DOM หลักได้ทันที ทดสอบการค้นหาในหน้าหลังจากการไปยังส่วนต่างๆ แบบเสมือนเพื่อยืนยันว่าเนื้อหาสามารถเข้าถึงได้
ผลกระทบต่อเหตุการณ์อัตโนมัติ
หากคุณติดตั้งใช้งานการวัดผลการดูหน้าเว็บเสมือนใน SPA อย่างถูกต้อง Google Analytics จะจัดการเหตุการณ์อัตโนมัติอื่นๆ อย่างเหมาะสม หากระบบไม่บันทึกการดูหน้าเว็บเสมือนสำหรับการเปลี่ยนแปลงหน้าจอ Google Analytics จะถือว่า SPA เป็นหน้าเว็บเดียว ซึ่งจะทำให้เมตริกไม่ถูกต้อง
ตัวอย่างเช่น เหตุการณ์ user_engagement จะวัดเวลาที่ผู้ใช้ใช้เวลาในหน้าเว็บอย่างจริงจัง หากไม่มีการดูหน้าเว็บเสมือน ระบบจะระบุแหล่งที่มาของเวลาในการมีส่วนร่วมทั้งหมดเป็นการโหลดหน้าเว็บครั้งแรก ซึ่งทำให้วิเคราะห์เวลาที่ใช้ในหน้าจอแต่ละหน้าจอไม่ได้
เมื่อติดตั้งใช้งานการวัดผลการดูหน้าเว็บเสมือนอย่างถูกต้อง
- ระบบจะส่งเหตุการณ์
user_engagementเมื่อผู้ใช้ไปยังส่วนต่างๆ จากหน้าเว็บเสมือนหนึ่งไปยังอีกหน้าเว็บเสมือนหนึ่ง - ระบบจะคำนวณและส่งเวลาในการมีส่วนร่วมสำหรับหน้าเว็บเสมือน ก่อนหน้า พร้อมกับเหตุการณ์
user_engagementโดยปกติแล้วจะส่งก่อนที่จะประมวลผลเหตุการณ์page_viewสำหรับหน้าเว็บเสมือน ใหม่ - เหตุการณ์อื่นๆ เช่น การคลิกหรือการเลื่อน จะเชื่อมโยงกับ
page_locationของหน้าเว็บเสมือนที่ผู้ใช้กำลังดูอยู่
ซึ่งจะช่วยให้คุณวิเคราะห์การมีส่วนร่วมของผู้ใช้และเมตริกอื่นๆ สำหรับหน้าจอหรือส่วนต่างๆ ภายใน SPA ได้ ทำให้คุณเข้าใจเส้นทางของผู้ใช้ได้แม่นยำยิ่งขึ้น