Pomiar formularzy w GA4: form_start raz na sesję, form_submit przy każdym wysłaniu
Spis treści
Poradnik Google o pozyskiwaniu leadów wymienia cztery punkty pomiaru dla formularza na stronie: ile osób trafia na witrynę, ile dociera do formularza, ile zaczyna go wypełniać i ile go wysyła. Trzy z czterech opierają się na zdarzeniach, które Google Analytics zbiera bez jednej linijki dodatkowego kodu, a poradnik zaleca zestawienie dwóch ostatnich, żeby znaleźć słabe miejsca formularza.
Właśnie to zestawienie zasługuje na drugie spojrzenie. Dokumentacja pomiaru rozszerzonego definiuje oba zdarzenia w jednym zdaniu każde. form_start odpala przy pierwszym kontakcie z formularzem w obrębie sesji. form_submit odpala przy wysłaniu formularza. Jedno z nich ma górny limit na sesję, drugie nie ma go wcale.

Skąd biorą się cztery liczby
Pierwsze dwa punkty pomiaru opierają się na page_view. To zdarzenie zbierane jest automatycznie dla każdego strumienia danych z sieci i jest jedyną opcją pomiaru rozszerzonego, której nie da się wyłączyć. Wizyty na witrynie i odsłony strony z formularzem to dwa odczyty tego samego zdarzenia, rozdzielone ścieżką strony.
Dwa ostatnie pochodzą z opcji Interakcje z formularzem w pomiarze rozszerzonym, ustawianej dla każdego strumienia w sekcji Administracja, dalej Zbieranie i modyfikowanie danych, dalej Strumienie danych. Przełączenie wymaga co najmniej uprawnień Edytującego na zasobie. Oba zdarzenia odczytują sam element formularza: form_id z jego atrybutu id, form_name z atrybutu name, form_destination z adresu, pod który formularz wysyła dane. Przy form_submit dochodzi jeszcze form_submit_text, czyli napis na przycisku.
Jedno rozpoczęcie na sesję, jedno wysłanie na każdą wysyłkę
Nierównowaga staje się widoczna, gdy dwie sesje zostaną rozpisane obok siebie.
Sesja 1
formularz kontaktowy, pierwszy klawisz . form_start 1
wyslane, walidacja odrzuca ............ form_submit 1
poprawione, wyslane ponownie .......... form_submit 2
pole newslettera w stopce ............. form_submit 3
brak drugiego form_start: limit jest juz zuzyty
Sesja 2
formularz kontaktowy, pierwszy klawisz . form_start 1
wyjscie bez wyslania .................. form_submit 0
Sumy form_start 2 form_submit 3
form_submit / form_start = 150 %
wizyty z ukonczeniem = 1 z 2 = 50 %
Licznik liczy wysłania. Mianownik liczy sesje, w których dotknięto jakiegokolwiek formularza. To różne jednostki, więc iloraz zestawia dwie nieprzystające wielkości i potrafi przekroczyć sto procent, choć nic nie jest zepsute. Każda druga próba po błędzie walidacji go podnosi, a każdy drugi formularz na tej samej stronie również.
Wskaźnik ukończenia potrzebuje mianownika w jednostce licznika. Najbliższa uczciwa wersja to sesje z co najmniej jednym form_submit wobec sesji z form_start. Obie są wtedy liczone tak samo, a wynik zachowuje się przewidywalnie.
Cztery parametry, a raportu wciąż brak
Ze zdarzeniami podróżują cztery parametry, co kusi, żeby od razu czytać liczby dla każdego formularza osobno. Dokumentacja zamyka tę drogę jedną uwagą: parametry stają się użyteczne w raportach dopiero po utworzeniu wymiaru niestandardowego dla każdego z nich.
Do tego czasu pole newslettera w stopce, formularz kontaktowy i formularz prośby o demo lądują w tej samej nierozdzielonej liczbie. Na witrynie, gdzie formularz ze stopki stoi na każdej podstronie, liczbą tą rządzi akurat ten formularz, którego nikt nie zamierzał mierzyć, a proporcja z góry oddala się od czegokolwiek przydatnego.
Utworzenie wymiarów zajmuje kilka minut w Administracji w sekcji Definicje niestandardowe, a dokumentacja przewiduje 24 do 48 godzin oczekiwania, zanim dane dadzą się raportować. Warto zbudować to przed chwilą, w której pomiar będzie potrzebny, a nie w dniu pierwszej analizy.
Czego form_submit naprawdę jest świadkiem
Zdarzenie odpala w przeglądarce, w chwili wysłania. Wszystko, co rozstrzyga o powstaniu leada, dzieje się później: walidacja po stronie serwera, filtr antyspamowy, wiadomość potwierdzająca przy podwójnym opt-in, porównanie z istniejącymi rekordami w CRM. Nic z tego nie jest widoczne dla tagu.
form_submit liczy więc próby, a cel nazwany w samym poradniku, czyli osoba zainteresowana i możliwa do skontaktowania, leży o krok dalej. Krok jest krótki i dokładnie tam siedzą straty. Wysyłka odrzucona przez serwer wygląda w Analytics identycznie jak ta, z której powstał kontrakt.
Cztery liczby, które do siebie pasują
Lejek trzyma się kupy, gdy przez wszystkie stopnie przebiega jedna jednostka, a sesje są tu jednostką wygodną, bo zdarzenia formularza i tak tak właśnie działają.
sesje z odsloną strony formularza page_view, rozdzielone sciezka strony
sesje z form_start pomiar rozszerzony
sesje z form_submit pomiar rozszerzony
sesje z potwierdzeniem page_view na stronie podziekowania
albo zdarzenie od serwera, gdy juz
przyjal wpis
Ostatnią linię trzeba zbudować, pierwsze trzy przychodzą same. Między trzecią a czwartą siedzi różnica między próbą a leadem, a te dwie liczby obok siebie mówią o formularzu więcej niż proporcja proponowana w poradniku.