Paywall w GA4: od odsłony do prenumeraty
Wydawca patrzy w GA4 i widzi tysiące odsłon. Nie widzi ani jednej osoby, która zatrzymała się na ścianie paywalla i zrezygnowała. Raport nie kłamie. Po prostu nie ma czego pokazać, bo nikt tych zdarzeń nie wysłał.
Paywall to nie jeden tag, a cztery decyzje pomiarowe: jak dzielisz treści, czym opisujesz ścianę, jak liczysz konto i jak liczysz płatność. Każda z nich ma własne pułapki i każda zmienia liczbę, którą potem pokażesz zarządowi.
Czego GA4 nie ma w standardzie
Lista zalecanych zdarzeń nie zawiera paywalla. Są tam page_view, scroll, sign_up, login, purchase, select_content i share. Nic, co opisuje odmowę zapłaty.
Dwa z nich masz bez własnego kodu, bo page_view i scroll należą do pomiaru zaawansowanego. Pozostałe, w tym sign_up i purchase, wysyłasz sam, w miejscu, w którym dzieje się działanie.
Reszta to decyzja o oznaczeniu. Każde rejestrowane zdarzenie może stać się kluczowym zdarzeniem. Dopóki go nie oznaczysz, nie wejdzie do raportów, na których opiera się rozmowa o wynikach wydawnictwa.
Podział treści: content_group
Zanim policzysz ścianę, potrzebujesz wspólnego mianownika dla stron. Grupa treści to parametr content_group, którym oznaczasz odsłonę kategorii: news, analizy, płatne raporty.
W tagu Google robi się to jednym argumentem:
gtag('config', 'G-XXXXXX', {
'content_group':'<nazwa_grupy_treści>'
});
W Menedżerze tagów ścieżka jest dłuższa. Tworzysz zmienną typu Tabela wyrażeń regularnych, jako zmienną wejściową bierzesz {{Page Path}}, a w wierszach mapujesz ścieżki na nazwy. W Ustawieniach domyślnych wpisujesz wartość na wypadek braku dopasowania, na przykład Inna grupa. Potem odznaczasz Tylko pełne dopasowania oraz Włącz grupy przechwytywania i funkcję zastępowania, bo inaczej wyrażenie złapie mniej, niż zakładasz. Na końcu w tagu Google Analytics: konfiguracja GA4 dodajesz w Polach do ustawienia wiersz content_group z wartością {{Grupa treści}}.
Efekt sprawdzisz w wymiarze Grupa treści w raporcie Strony i ekrany albo w eksploracji. Kolejne poziomy, na przykład content_group2 i content_group3, wymagają już parametrów niestandardowych zarejestrowanych jako wymiary niestandardowe.
Ściana jako osobne zdarzenie
Ścianę opisuje zdarzenie niestandardowe, na przykład paywall_view, z parametrem mówiącym, gdzie stanęła: paywall_type równy article_limit albo premium_only. Tego zdarzenia nie ma w liście zaleceń, więc nazwę i parametry ustalasz sam.
Dwie zasady ratują ten pomiar. Zdarzenie leci raz na odsłonę artykułu, nie przy każdym ruchu na stronie, bo inaczej stosunek odsłon do prenumerat nigdy się nie zbiegnie. I leci tylko wtedy, gdy ściana jest naprawdę widoczna, a nie wtedy, gdy kod wyrenderował ukryty blok na wszelki wypadek.
Po tygodniu masz pierwszą sensowną liczbę: ile odsłon kończy się na ścianie i jaka ich część prowadzi do rejestracji.
Prenumerata to purchase, nie sign_up
Rejestracja darmowego konta to sign_up. Płatna prenumerata to purchase, nawet jeśli w twoim systemie nie nazywa się zamówieniem. Bez tego rozdzielenia raport pokaże jedno działanie, a rozmowa będzie o dwóch.
Zdarzenie purchase ma wymagane parametry: currency, transaction_id, value i items na poziomie zdarzenia oraz item_id lub item_name na poziomie produktu. Brak któregokolwiek z nich i zdarzenie nie trafi do raportów e-commerce tak, jak oczekujesz.
gtag('event', 'purchase', {
transaction_id: 'SUB-2026-1041',
value: 49.00,
currency: 'PLN',
items: [{ item_id: 'sub-annual', item_name: 'Prenumerata roczna', price: 49.00 }]
});
Identyfikator transakcji jest tu ważniejszy niż w sklepie, bo prenumeraty się odnawiają. Trzy zasady z dokumentacji: musi być niepowtarzalny dla każdego zamówienia, nie może zawierać danych identyfikujących klienta i nie może być pustym ciągiem. Pusty ciąg jest najgorszym wariantem, bo GA4 usunie duplikaty wszystkich zdarzeń zakupu z transaction_id="", czyli policzy jedno zamiast stu.
Deduplikacja działa tylko dla strumieni internetowych, nie dla aplikacji. Druga strona tej samej reguły: jeśli wstawisz na stałe jeden identyfikator w kodzie, GA4 uzna wszystkie zakupy za jeden, a liczba kluczowych zdarzeń będzie poważnie zaniżona.
Odnowienia, których przeglądarka nie widzi
Odnowienie z karty dzieje się bez wizyty na stronie. Zdarzenie z przeglądarki wtedy nie poleci, choć pieniądze wpłynęły. Jedyna droga to wysyłka po stronie serwera, przez Measurement Protocol albo Data Manager API, z tym samym zestawem parametrów i nowym identyfikatorem transakcji dla każdego odnowienia.
To jest granica, którą warto nazwać w raporcie. GA4 pokaże nowe prenumeraty z witryny i nie pokaże odnowień, dopóki nie podłączysz backendu. Dwie liczby, które wyglądają na ten sam wskaźnik, mogą różnić się o połowę.
Co pokaże raport, a czego nie pokaże
W raporcie Strony i ekrany dodaj wymiar Grupa treści i zobaczysz, które sekcje zbierają odsłony, a które kończą się ścianą. W raporcie Pozyskiwanie użytkowników kolumna Kluczowe zdarzenia pokaże kanały, z których przychodzą prenumeraty.
Nie ma natomiast gotowego raportu przychodu na grupę treści. Trzeba zbudować eksplorację: wymiar Grupa treści, metryki Kluczowe zdarzenia i przychód, filtr na zdarzenie purchase. Ta sama eksploracja pokaże, czy płatne sekcje zarabiają, czy tylko generują odsłony.
Uważaj na atrybucję. Zdarzenie purchase dostaje zasługę ostatniego kliknięcia, a tym kliknięciem jest zwykle strona oferty, nie artykuł, który kogoś przekonał. Do artykułu wrócisz przez raport ścieżek albo przez eksplorację z wymiarem Strona docelowa.
Zgoda, bez której te liczby kłamią
Paywall stoi na danych osobowych: konto, adres e-mail, historia czytania. Analityka obok niego wymaga podstawy z art. 399 PKE, czyli zgody na zapisanie informacji na urządzeniu, w standardzie z art. 400 PKE. Bez niej odsłony lecą jako pingi bez plików cookie, a zdarzenia paywall_view i purchase mogą w ogóle nie dojść.
Konsekwencja jest nieoczywista. Jeśli strona logowania ma inny wskaźnik zgody niż sekcja publicystyczna, porównanie darmowych i płatnych treści będzie porównaniem dwóch różnych populacji. Zanim uznasz, że płatna sekcja ma gorszy współczynnik konwersji, sprawdź wskaźnik zgody w obu.
I jedna zasada, której nie łamie się dla wygody: do GA4 nie wysyłaj adresu e-mail ani identyfikatora konta w polu transaction_id. To narusza zasadę minimalizacji z art. 5 ust. 1 lit. c RODO i jednocześnie łamie regułę Google dotyczącą identyfikatorów transakcji.
Cztery pytania na start
Czy treści mają grupy. Czy ściana wysyła zdarzenie. Czy konto i płatność są rozdzielone. Czy serwer dokłada odnowienia. Trzy z tych czterech da się domknąć w kontenerze w jeden dzień, czwarty wymaga rozmowy z zespołem backendu.
Najczęstszy błąd nie leży w kodzie. Leży w tym, że raport o prenumeratach powstaje z odsłon, bo nikt nie zapytał, czym właściwie jest sukces w tym wydawnictwie.
North Digital porządkuje pomiar w wydawnictwach: podział treści, zdarzenia paywalla, prenumeraty i odnowienia z backendu. Dostajesz model zdarzeń i raport, który odpowiada na pytanie o przychód, a nie o odsłony. Zamów konsultację.