Pomiar sesji i zaangażowania użytkowników

Omówienie zakresów użytkownika i sesji, w tym sposobu, w jaki Google Analytics definiuje i ściśle ogranicza sesje na podstawie braku aktywności, znajdziesz w artykułach Wymiary i dane: sesje w Analytics oraz Zakresy wymiarów związanych ze źródłami wizyt.

W tym przewodniku opisujemy wyzwania i sprawdzone metody dotyczące zarządzania konfiguracjami sesji i pasywnym śledzeniem, które są przeznaczone dla deweloperów.

Łączenie wymiarów na poziomie strony z danymi o sesjach

Jedna z najczęstszych niuansów raportowania występuje, gdy łączysz wymiary o zakresie strony (np. ścieżka do strony i klasa ekranu) z danymi Sesje na poziomie sesji.

Definicje sesji i wyświetleń

  • Sesje to liczba unikalnych okresów, w których dana ścieżka do strony została wczytana co najmniej raz.

  • Wyświetlenia (odsłony) to łączna liczba wczytań ścieżki do strony.

Przykład

Weźmy pod uwagę pojedynczą sesję z tą ścieżką nawigacji użytkownika: /home → /products → /home → Wyjście.

Jeśli jest to jedyna sesja, raport skonfigurowany z użyciem wymiaru Ścieżka do strony i klasa ekranu oraz danych Sesje lub Wyświetlenia będzie zawierać te informacje:

Ścieżka do strony Sesje Wyświetlenia
/home 1 2
/products 1 1
Łącznie (po usunięciu duplikatów w Google Analytics) 1 3

Jeśli zsumujesz wiersze, otrzymasz 2 sesje, ale rzeczywista łączna liczba sesji w usłudze po usunięciu duplikatów wynosi 1.

Reguły dostosowywania

  • Sesje ze ścieżką do strony to unikalne sesje, podczas których użytkownicy odwiedzili ścieżkę co najmniej raz.
  • Sesje ze stroną docelową to unikalne sesje, które rozpoczynają się na danej ścieżce. Aby sprawdzić ruch na stronie docelowej, zawsze używaj wymiaru Strona docelowa + ciąg zapytania, a nie Sesje ze ścieżką do strony.
  • Wyświetlenia zawsze zliczają łączną częstotliwość wczytywania.

Sprawdzone metody dla deweloperów i analityków

  • Zachowaj spójność zakresów: jeśli chcesz poznać skuteczność sesji, nie mieszaj wymiarów związanych z ruchem ograniczonych do użytkownika (np. Pierwszy użytkownik – domyślna grupa kanałów) z danymi ograniczonymi do sesji (np. Średni czas trwania sesji).
  • Sprawdź session_start w DebugView: podczas kontroli jakości i weryfikacji użyj standardowych narzędzi do debugowania, takich jak DebugView w Google Analytics, aby sprawdzić, czy session_start uruchamia się prawidłowo po rozpoczęciu sesji.

Sprawdzone metody zarządzania limitami czasu sesji

Domyślny czas trwania sesji w Google Analytics wynosi 30 minut.

Nie zalecamy implementowania niestandardowego kodu, który okresowo wysyła „pingi” do Google Analytics, aby zapobiec przekroczeniu limitu czasu nieaktywności. Jeśli sztucznie zawyżysz dane sesji, zniekształcisz dane o zachowaniu użytkowników. Zamiast tego używaj wbudowanych funkcji Google Analytics lub kieruj reklamy na istotne zdarzenia związane z zaangażowaniem, aby uzyskać bardziej przejrzyste rozwiązanie.

Dlaczego ogólne pingi „keep-alive” są złym rozwiązaniem

  • Zniekształcone podstawowe dane: jeśli użytkownik opuści kartę, jest on rzeczywiście nieaktywny. Jeśli wymusisz pozostawienie sesji otwartej, utworzysz „sesje zombie” i fałszywie zawyżysz średni czas trwania sesji. Ukrywa to rzeczywisty moment, w którym użytkownicy tracą zainteresowanie lub opuszczają witrynę.
  • Wpływ na sesje z zaangażowaniem: Google Analytics definiuje sesję z zaangażowaniem jako sesję, która trwa dłużej niż 10 sekund, obejmuje co najmniej 2 wyświetlenia strony lub wywołuje kluczowe zdarzenie (dawniej zdarzenie konwersji). Jeśli sztucznie utrzymujesz sesję jako otwartą, sprawiasz, że wydaje się ona sesją z zaangażowaniem, co zawyża współczynnik zaangażowania.
  • Przeładowanie danymi i koszty: jeśli stale wywołujesz puste zdarzenia ping w tle, zwiększa to szum związany z liczbą zdarzeń i podnosi koszty hurtowni danych, jeśli eksportujesz dane Google Analytics do BigQuery.

Kiedy śledzić zaangażowanie pasywne (i jak to robić)

Istnieją uzasadnione scenariusze, w których użytkownik aktywnie angażuje się w treści, ale nie wywołuje standardowych zdarzeń interakcji Google Analytics (takich jak kliknięcia czy zmiany strony). W takich przypadkach zamiast ogólnego sygnału ping utrzymującego połączenie rejestruj istotne zdarzenia postępu inicjowane przez użytkownika:

  • Długie treści wideo: użytkownik, który ogląda umieszczony na stronie 45-minutowy film, pozostanie pasywny przez ponad 30 minut, co może spowodować wygaśnięcie sesji.
  • Szczegółowe omówienia: użytkownik może spędzić 40 minut na zapoznaniu się z przewodnikiem technicznym i powoli przewijać stronę, ale nie wywołać żadnych działań związanych z nawigacją.
  • Interaktywne aplikacje internetowe: użytkownicy, którzy monitorują transmisje na żywo, paski giełdowe lub panele danych, konsumują informacje pasywnie, bez klikania.

Jeśli użytkownik zminimalizuje okno przeglądarki lub przełączy karty, pingi w tle muszą zostać zatrzymane.

Przykładowy kod: ping zdarzenia uwzględniający widoczność

Poniższy wzorzec JavaScript pokazuje, jak śledzić pasywne zaangażowanie i uwzględniać widoczność karty. Dostosuj interwał śledzenia i wartość parametru (np. 5 minut lub 300 000 ms) do konkretnego przypadku użycia, np. typowego czasu trwania filmów lub długich artykułów:

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

Pomiar zaawansowany a śledzenie niestandardowe w Google Analytics

Google Analytics oferuje pomiar zaawansowany, który automatycznie obsługuje niektóre scenariusze śledzenia pasywnego, choć ma pewne ograniczenia.

Typ interakcji Obsługiwane przez pomiar zaawansowany? Wymagania / działania
Umieszczone filmy na YouTube Tak Automatycznie uruchamia zdarzenia video_start, video_complete i video_progress po osiągnięciu 10%, 25%, 50% i 75% (wymaga włączenia obsługi interfejsu API JavaScriptu).
Filmy spoza YouTube (HTML5, Vimeo) Nie Wymaga niestandardowej implementacji. Uruchamiaj zdarzenia automatycznie za pomocą gtag.js lub zarządzaj regułami za pomocą Menedżera tagów Google (GTM).
Standardowe przewijanie strony Częściowe Uruchamia pojedyncze zdarzenie scroll tylko wtedy, gdy użytkownik dotrze do 90% strony.
Przyrostowe postępy w czytaniu Nie Wyłącz domyślne śledzenie przewijania w Google Analytics i wdrażaj niestandardowe progi przewijania (np. 25%, 50%, 75%) programowo lub w Menedżerze tagów Google.

Najlepsze rozwiązanie: dostosowanie limitu czasu sesji w Google Analytics

Jeśli Twoja witryna naturalnie koncentruje się na długich treściach, kursach wideo lub ciągłym korzystaniu z aplikacji, nie musisz wprowadzać niestandardowych skryptów. Domyślny 30-minutowy próg możesz dostosować w interfejsie Google Analytics do maksymalnie 7 godzin i 55 minut. Instrukcje znajdziesz w artykule Dostosowywanie limitu czasu sesji.