Pomiar sesji i zaangażowania użytkowników

Aby uzyskać ogólne informacje o zakresach użytkownika i sesji, w tym o tym, jak Google Analytics definiuje sesje i ściśle ogranicza je przez brak aktywności, zapoznaj się z artykułem Wymiary i dane: informacje o sesjach w Analytics oraz z przewodnikiem po zakresach wymiarów związanych ze źródłami wizyt.

Ten przewodnik zawiera informacje o wyzwaniach, z którymi mogą się spotkać deweloperzy, oraz sprawdzone metody zarządzania konfiguracjami sesji i śledzeniem pasywnym.

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

Jeden z najczęstszych niuansów raportowania występuje, gdy połą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 zliczają unikalne okresy, w których dana ścieżka do strony została wczytana co najmniej raz.

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

Przykład

Rozważmy pojedynczą sesję z tą ścieżką nawigacji użytkownika: /home →/products → /home → Wyjście

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

Ścieżka do strony Sesje Wyświetlenia
/home 1 2
/products 1 1
Łącznie (zduplikowane dane 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, w ramach których użytkownik odwiedził ścieżkę co najmniej raz.
  • Sesje ze stroną docelową to unikalne sesje rozpoczynające się na ścieżce. Aby wyświetlić ruch na stronie docelowej, zawsze używaj wymiaru Strona docelowa + ciąg zapytania zamiast Sesje ze ścieżką do strony.
  • Wyświetlenia zawsze uwzględniają łączną częstotliwość wczytywania.

Sprawdzone metody dla programistów i analityków

  • Zachowaj spójność zakresów: jeśli chcesz poznać skuteczność sesji, nie łącz 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 raporcie DebugView: w trakcie kontroli jakości i weryfikacji używaj standardowych narzędzi do debugowania, takich jak DebugView w Google Analytics, aby sprawdzić, czy 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 kodu niestandardowego, który okresowo „pingowałby” Google Analytics, aby zapobiec przekroczeniu limitu czasu z powodu braku aktywnoś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łą praktyką

  • Zniekształcone podstawowe dane: jeśli użytkownik odejdzie od karty, jest naprawdę nieaktywny. Jeśli wymusisz pozostawienie sesji otwartej, utworzysz „sesje zombie” i fałszywie zawyżysz średni czas trwania sesji. Maskuje 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 utrzymujesz otwartą sesję, będzie ona wyglądać na zaangażowaną, co zawyża współczynnik zaangażowania.
  • Nadmiar danych i koszty: jeśli stale wysyłasz puste pingi w tle, zwiększasz szum w liczbie zdarzeń i podnosisz 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 aktywnie korzysta z treści, ale nie wywołuje standardowych zdarzeń interakcji Google Analytics (np. kliknięć lub zmian stron). W takich przypadkach zamiast ogólnego pinga podtrzymującego połączenie 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 nieaktywny przez ponad 30 minut, co może spowodować wygaśnięcie sesji.
  • Artykuły z szczegółowym omówieniem: użytkownik może spędzić 40 minut na zapoznaniu się z przewodnikiem technicznym i powoli przewijać stronę, ale nie wykonać żadnych działań związanych z nawigacją.
  • Interaktywne aplikacje internetowe: użytkownicy, którzy monitorują transmisje na żywo, kursy akcji lub panele danych, konsumują informacje pasywnie, 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 pewne ograniczenia.

Typ interakcji Czy pomiar zaawansowany obsługuje to zdarzenie? Wymagania / działania
Umieszczanie filmów z YouTube Tak Automatycznie wywołuje punkty video_start, video_complete i video_progress na poziomie 10%, 25%, 50% i 75% (wymaga włączonej obsługi interfejsu JS API).
Filmy spoza YouTube (HTML5, Vimeo) Nie Wymaga niestandardowej implementacji. Uruchamiaj zdarzenia programowo za pomocą gtag.js lub zarządzaj regułami za pomocą Menedżera tagów Google (GTM).
Standardowe przewijanie strony Częściowy 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 wdroż niestandardowe progi przewijania (np. 25%, 50%, 75%) programowo lub w Menedżerze tagów Google.

Najprostsze rozwiązanie: 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. W interfejsie Google Analytics możesz dostosować domyślny 30-minutowy próg do maksymalnie 7 godzin i 55 minut. Instrukcje znajdziesz w artykule Dostosowywanie czasu trwania sesji.