Pomiar sesji i zaangażowania użytkowników

Aby zapoznać się z omówieniem zakresów użytkownika i sesji, w tym z tym, jak Google Analytics definiuje i ściśle ogranicza sesje przez brak aktywności, przeczytaj artykuły Wymiary i dane: informacje o sesjach w Analytics oraz Przewodnik po zakresach wymiarów źródła wizyt.

W tym przewodniku omawiamy wyzwania i sprawdzone metody dotyczące zarządzania konfiguracjami sesji i śledzenia pasywnego.

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

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

Definicje sesji i wyświetlenia

  • Sesje zliczają unikalne okresy, w których dana ścieżka do strony została wczytana co najmniej raz.

  • Wyświetlenia (odsłony) zliczają łączną liczbę wczytań ścieżki do strony.

Przykład

Załóżmy, że masz jedną sesję z następującą ścieżką nawigacji użytkownika: /home/products/home → Wyjście

Jeśli jest to jedyna sesja, raport skonfigurowany z wymiarami Ścieżka do strony i klasa ekranu oraz danymi Sesje lub Wyświetlenia będzie wyglądać tak:

Ś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 prawdziwa łączna liczba usług po usunięciu duplikatów to 1.

Reguły dostosowywania

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

Sprawdzone metody dla programistów i analityków

  • Zachowaj spójność zakresów: nie łącz wymiarów ruchu o zakresie na poziomie użytkownika (np. **Domyślna grupa kanałów pierwszego użytkownika**) z danymi o sesjach o zakresie na poziomie sesji (np. **Średni czas trwania sesji**), jeśli chcesz poznać skuteczność sesji.
  • Sprawdź session_start w DebugView: w fazie kontroli jakości i weryfikacji użyj standardowych narzędzi do debugowania, takich jak DebugView w Google Analytics, aby potwierdzić, że session_start jest prawidłowo wywoływane po rozpoczęciu sesji.

Sprawdzone metody zarządzania limitami czasu sesji

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

Nie zalecamy implementowania niestandardowego kodu, który okresowo „pingowałby” Google Analytics, aby zapobiec przekroczeniu limitu czasu bezczynności. Sztuczne zawyżanie danych o sesjach zniekształca 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ć lepsze rozwiązanie.

Dlaczego ogólne pingi „utrzymywania aktywności” są złą praktyką

  • Zniekształcone podstawowe dane: jeśli użytkownik odejdzie od karty, jest nieaktywny. Jeśli wymusisz pozostawienie sesji otwartej, spowoduje to utworzenie „sesji zombie” i fałszywe zawyżenie średniego czasu trwania sesji. Ukryje to prawdziwy moment, w którym użytkownicy tracą zainteresowanie lub opuszczają Twoją 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 (wcześniej zdarzenie konwersji). Jeśli sztucznie utrzymasz sesję otwartą, będzie ona wyglądać na sesję z zaangażowaniem, co zawyży współczynnik zaangażowania.
  • Nadmiar danych i koszty: jeśli stale wywołujesz puste zdarzenia pingów w tle, zwiększa to szum w liczbie zdarzeń i podnosi koszty hurtowni danych, jeśli eksportujesz dane Google Analytics do BigQuery.

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

Istnieją uzasadnione sytuacje, w których użytkownik jest aktywnie zaangażowany w treści, ale nie wywołuje standardowych zdarzeń interakcji w Google Analytics (takich jak kliknięcia lub zmiany strony). W takich przypadkach zamiast ogólnego pinga „utrzymywanie aktywności” rejestruj istotne zdarzenia postępu inicjowane przez użytkownika:

  • Długie treści wideo: użytkownik, który ogląda osadzony 45-minutowy film, pozostanie pasywny przez ponad 30 minut i może spowodować wygaśnięcie sesji.
  • Szczegółowe artykuły: 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ń nawigacyjnych.
  • Interaktywne aplikacje internetowe: użytkownicy, którzy monitorują transmisje na żywo, kursy akcji lub panele danych, pasywnie konsumują informacje bez klikania.

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

Przykład kodu: 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 w Google Analytics a śledzenie niestandardowe

Google Analytics oferuje pomiar zaawansowany, który automatycznie obsługuje niektóre scenariusze śledzenia pasywnego, ale ma określone ograniczenia.

Typ interakcji Obsługiwane przez pomiar zaawansowany? Wymagania / działania
Osadzone filmy na YouTube Tak Automatycznie wywołuje zdarzenia video_start, video_complete i video_progress w punktach 10%, 25%, 50% i 75% (wymaga włączonej obsługi JS API).
Filmy spoza YouTube (HTML5, Vimeo) Nie Wymaga implementacji niestandardowej. Wywołuj zdarzenia programowo za pomocą gtag.js lub zarządzaj regułami za pomocą Menedżera tagów Google.
Standardowe przewijanie strony Częściowo Wywołuje pojedyncze zdarzenie scroll tylko wtedy, gdy użytkownik przewinie stronę do 90%.
Przyrostowe postępy w czytaniu Nie Wyłącz domyślne śledzenie przewijania w Google Analytics i zaimplementuj niestandardowe progi przewijania (np. 25%, 50%, 75%) programowo lub w Menedżerze tagów Google.

Najlepsza alternatywa: dostosuj limit czasu sesji w Google Analytics

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