Mengukur sesi dan engagement pengguna

Untuk ringkasan konseptual cakupan pengguna dan sesi, termasuk cara Google Analytics menentukan dan membatasi sesi secara ketat berdasarkan ketidakaktifan, lihat Dimensi dan metrik: Tentang sesi Analytics dan panduan untuk Cakupan dimensi sumber traffic.

Panduan ini membahas tantangan khusus developer dan praktik terbaik untuk mengelola konfigurasi sesi dan pelacakan pasif.

Memasangkan dimensi tingkat halaman dengan metrik sesi

Salah satu nuansa pelaporan yang paling umum terjadi saat Anda menyandingkan dimensi cakupan halaman (misalnya, jalur halaman dan class layar) dengan metrik Sesi tingkat sesi.

Definisi sesi dan tampilan

  • Sesi menghitung jangka waktu unik saat jalur halaman tertentu dimuat setidaknya sekali.

  • Penayangan (tayangan halaman) menghitung jumlah total kumulatif berapa kali jalur halaman dimuat.

Contoh

Pertimbangkan satu sesi dengan jalur navigasi pengguna berikut: /home → /products → /home → Keluar

Jika ini adalah satu-satunya sesi, laporan yang dikonfigurasi dengan Jalur halaman dan class layar serta metrik Sesi atau Tayangan akan menampilkan:

Jalur halaman Sesi Penayangan
/home 1 2
/products 1 1
Total (Google Analytics yang dideduplikasi) 1 3

Jika Anda menjumlahkan baris, hasilnya adalah 2 sesi, tetapi total properti yang sebenarnya dideduplikasi menjadi 1.

Aturan penyesuaian

  • Sesi dengan jalur halaman mengacu pada sesi unik yang mengunjungi jalur setidaknya sekali.
  • Sesi dengan halaman landing mengacu pada sesi unik yang dimulai di jalur. Untuk melihat traffic landing, selalu gunakan Halaman landing + string kueri, bukan Sesi dengan jalur halaman.
  • Penayangan selalu menghitung total frekuensi pemuatan.

Praktik terbaik untuk developer dan analis

  • Jaga konsistensi cakupan: Jangan mencampur dimensi traffic cakupan pengguna (misalnya, Grup saluran default pertama pengguna) dengan metrik cakupan sesi (misalnya, Durasi sesi rata-rata) jika sasaran Anda adalah memahami performa sesi.
  • Validasi session_start di DebugView: Selama fase QA dan verifikasi, gunakan alat proses debug standar seperti DebugView Google Analytics untuk mengonfirmasi bahwa session_start diaktifkan dengan benar saat sesi dimulai.

Praktik terbaik untuk mengelola waktu tunggu sesi

Durasi default sesi Google Analytics adalah 30 menit.

Sebaiknya jangan menerapkan kode kustom untuk "melakukan ping" ke Google Analytics secara berkala guna mencegah waktu tunggu tidak aktif. Jika Anda meningkatkan metrik sesi secara tidak wajar, data perilaku pengguna akan terdistorsi. Sebagai gantinya, gunakan fitur Google Analytics bawaan atau targetkan peristiwa engagement yang bermakna untuk menawarkan solusi yang lebih rapi.

Alasan ping "keep-alive" generik merupakan praktik yang buruk

  • Metrik inti yang terdistorsi: Jika pengguna meninggalkan tab, mereka benar-benar tidak aktif. Jika Anda memaksa sesi tetap terbuka, hal ini akan membuat "sesi zombie" dan meningkatkan Durasi Sesi Rata-Rata secara keliru. Hal ini menyamarkan titik sebenarnya saat pengguna kehilangan minat atau meninggalkan situs Anda.
  • Dampak pada sesi engagement: Google Analytics menentukan sesi engagement sebagai sesi yang berlangsung lebih dari 10 detik, menampilkan 2 atau lebih kunjungan halaman, atau memicu peristiwa utama (sebelumnya peristiwa konversi). Jika Anda membuat sesi tetap terbuka secara artifisial, sesi tersebut akan tampak berinteraksi, sehingga meningkatkan rasio engagement Anda.
  • Pembengkakan data dan biaya: Jika Anda terus-menerus mengaktifkan peristiwa ping latar belakang kosong, jumlah peristiwa akan meningkat dan biaya data warehouse akan naik jika Anda mengekspor data Google Analytics ke BigQuery.

Kapan harus melacak engagement pasif (dan cara melakukannya)

Ada skenario yang sah saat pengguna berinteraksi secara aktif dengan konten, tetapi tidak memicu peristiwa interaksi Google Analytics standar (seperti klik atau perubahan halaman). Dalam kasus ini, alih-alih ping keep-alive umum, catat peristiwa progres yang bermakna dan dimulai oleh pengguna:

  • Konten video panjang: Pengguna yang menonton video sematan berdurasi 45 menit akan tetap pasif selama lebih dari 30 menit, dan berisiko mengalami masa berlaku sesi yang habis.
  • Artikel pembahasan mendalam: Pengguna mungkin menghabiskan waktu 40 menit untuk memahami panduan teknis, dan men-scroll secara perlahan, tetapi tidak memicu tindakan navigasi.
  • Aplikasi web interaktif: Pengguna yang memantau feed live, ticker saham, atau dasbor data menggunakan informasi secara pasif tanpa klik.

Jika pengguna meminimalkan jendela browser atau beralih tab, ping latar belakang harus berhenti.

Contoh kode: Ping peristiwa yang mendeteksi visibilitas

Pola JavaScript berikut menunjukkan cara melacak engagement pasif dan memperhatikan visibilitas tab. Sesuaikan interval pelacakan dan nilai parameter (misalnya, 5 menit atau 300.000 milidetik) berdasarkan kasus penggunaan spesifik Anda, seperti durasi umum video atau artikel panjang:

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();
  }
});

Pengukuran yang ditingkatkan versus pelacakan kustom Google Analytics

Google Analytics memiliki fitur Pengukuran yang Ditingkatkan, yang otomatis menangani beberapa skenario pelacakan pasif secara langsung, meskipun memiliki batasan tertentu.

Jenis interaksi Handled by enhanced measurement? Persyaratan/item tindakan
Penyematan video YouTube Ya Mengaktifkan pencapaian video_start, video_complete, dan video_progress secara otomatis pada 10%, 25%, 50%, dan 75% (memerlukan dukungan JS API yang diaktifkan).
Video non-YouTube (HTML5, Vimeo) Tidak Memerlukan penerapan kustom. Mengaktifkan peristiwa secara terprogram menggunakan gtag.js atau mengelola pemicu menggunakan Google Tag Manager (GTM).
Scroll halaman standar Parsial Mengaktifkan satu peristiwa scroll hanya saat pengguna mencapai tanda 90% halaman.
Progres pembacaan inkremental Tidak Nonaktifkan pelacakan scroll Google Analytics default dan terapkan nilai minimum scroll kustom (misalnya, 25%, 50%, 75%) secara terprogram atau di GTM.

Alternatif paling rapi: Sesuaikan batas waktu tunggu sesi Google Analytics

Jika situs Anda secara alami berfokus pada konten berdurasi panjang, kursus video, atau penggunaan aplikasi yang berkelanjutan, Anda tidak perlu memasukkan peretasan skrip kustom. Anda dapat menyesuaikan batas default 30 menit di dalam antarmuka Google Analytics hingga maksimum 7 jam dan 55 menit. Untuk mengetahui petunjuknya, lihat Menyesuaikan waktu tunggu sesi.