Paywall w GA4: od odsłony do prenumeraty

27 października 2026 · 8 min czytania

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ę.