Modelowane listy odbiorców nie zawierają konkretnych osób, tylko prawdopodobieństwa. Wyjaśniam, jak powstają, gdzie ich szukać w panelu i jak czytać ich raporty.
Większość raportów SEO, jakie widziałem, została zbudowana z myślą o osobie, która je robi, a nie o osobie, która je czyta. Mają dwadzieścia wykresów, wszystkie dostępne metryki i żadnej odpowiedzi na pytanie, czy to idzie w dobrą stronę.
Zarząd zadaje trzy pytania i rzadko więcej: czy rośnie, ile to kosztuje, co z tego mamy. Raport, który nie odpowiada na nie w pierwszym ekranie, nie zostanie przeczytany do końca — a przy comiesięcznym cyklu przestanie być otwierany w ogóle.
Looker Studio — narzędzie, które do października poprzedniego roku nazywało się Data Studio — dobrze się do tego nadaje, bo raz zbudowany raport odświeża się sam. Warunkiem jest jednak podjęcie kilku decyzji, których żaden szablon nie podejmie za Ciebie.
Kolejność, w jakiej większość ludzi buduje raporty — podłączam źródła i patrzę, co da się pokazać — gwarantuje raport przegadany.
Odwracam to. Najpierw ustalam z osobą zamawiającą raport, jakie decyzje ma na jego podstawie podejmować. Zwykle sprowadza się to do czterech pytań:
Każdy element raportu musi odpowiadać na jedno z tych pytań. Jeśli nie odpowiada, wypada — nawet jeśli jest ciekawy. To najtrudniejsza część pracy, bo wymaga rezygnacji z danych, które sami uważamy za interesujące.
Trzy podstawowe i jedno opcjonalne.
Search Console to rdzeń raportu SEO. Ma gotowe połączenie w Looker Studio i daje kliknięcia, wyświetlenia, pozycje i zapytania. Warto pamiętać o ograniczeniu, które zaskakuje przy pierwszym raporcie: dane są dostępne za ostatnie szesnaście miesięcy, więc porównania rok do roku działają, ale dłuższe szeregi trzeba archiwizować samodzielnie.
GA4 dostarcza tego, czego Search Console nie ma: zachowania na stronie i konwersji. Tu potrzebna jest uwaga po tym, co stało się w lipcu — Universal Analytics przestało zbierać dane, więc porównania rok do roku w GA4 obejmują tylko okres, w którym ta usługa już działała. Jeśli GA4 wdrożono na Twoim serwisie późno, po prostu nie masz danych porównawczych i lepiej to w raporcie napisać, niż udawać, że wykres się urywa przypadkiem.
Arkusz z danymi ręcznymi — najbardziej niedoceniane źródło. Wpisuję do niego daty wdrożeń, publikacji, aktualizacji algorytmu i zmian na stronie. Naniesione na wykres zamieniają go z linii w opowieść i odpowiadają z góry na pytanie „co się wtedy stało”.
Opcjonalnie dane z narzędzia do monitoringu pozycji, jeśli firma z takiego korzysta i zależy jej na widoczności na konkretnej liście fraz.
Cztery strony, w tej kolejności. Kolejność jest tu ważniejsza niż zawartość.
Strona pierwsza: podsumowanie. Cztery, maksymalnie sześć liczb z porównaniem do poprzedniego okresu i do tego samego okresu rok wcześniej. Ruch organiczny, konwersje z ruchu organicznego, ich wartość, liczba zapytań generujących kliknięcia. Do tego jeden wykres trendu i pole tekstowe z komentarzem napisanym ręcznie. To pole jest najważniejszym elementem całego raportu i wrócę do niego niżej.
Strona druga: ruch i widoczność. Trend kliknięć i wyświetleń, podział na kategorie serwisu, najlepsze i najszybciej rosnące zapytania, zapytania tracące pozycje.
Strona trzecia: efekt biznesowy. Konwersje i ich wartość w podziale na sekcje serwisu, porównanie kanału organicznego z pozostałymi, strony docelowe o największym wkładzie.
Strona czwarta: zdrowie techniczne. Liczba stron zaindeksowanych i wykluczonych, błędy skanowania, stan podstawowych wskaźników internetowych. Ta strona jest dla zespołu, nie dla zarządu — ale warto ją mieć w tym samym dokumencie, żeby nie utrzymywać dwóch raportów.
Zasada, której się trzymam: zarząd czyta tylko pierwszą stronę. Cała reszta istnieje po to, żeby dało się odpowiedzieć na pytanie zadane po jej przeczytaniu.
Lista rzeczy, które usuwam z odziedziczonych raportów najczęściej.
Średnia pozycja dla całego serwisu. To średnia z tysięcy nieporównywalnych zapytań i jej zmiana nie znaczy nic. Rośnie, gdy tracisz widoczność na frazy ogólne, i spada, gdy zdobywasz nowe.
Współczynnik odrzuceń jako miara jakości. W GA4 zresztą podstawową metryką jest zaangażowanie, a nie odrzucenia, i próba odtworzenia starego wskaźnika za wszelką cenę zwykle nie ma sensu.
Wszystkie zapytania. Tabela z tysiącem wierszy nie jest raportem, jest zrzutem danych.
Metryki bez punktu odniesienia. Liczba bez porównania do poprzedniego okresu i bez celu nie pozwala nic ocenić.
Wykresy kołowe udziału kanałów zajmujące pół ekranu. Rzadko odpowiadają na jakiekolwiek pytanie decyzyjne.
Automatyzacja ma granicę i przekroczenie jej jest najczęstszym powodem, dla którego raporty przestają być czytane.
Automatyzuję: pobieranie danych, odświeżanie wykresów, porównania okresów, wysyłkę raportu w ustalonym dniu miesiąca, alerty o nagłych spadkach.
Nie automatyzuję komentarza. Pole tekstowe na pierwszej stronie piszę ręcznie za każdy okres i to jest jedyna część raportu, którą naprawdę czyta się w całości. Trzy akapity: co się stało, dlaczego, co robimy dalej. Bez tego raport jest zestawem liczb, z których każdy odbiorca wyciągnie własne wnioski — zwykle nie te, które są uzasadnione.
Praktyczna wskazówka o wydajności: raport podłączony do wielu źródeł z długim zakresem dat ładuje się wolno, a raport, który się nie ładuje, nie jest czytany. Warto wykorzystać buforowanie danych i ograniczyć domyślny zakres dat do sensownego okresu, zamiast pokazywać od początku istnienia serwisu.
Raport ma wartość, jeśli da się porównywać jego kolejne wydania. Wymaga to dyscypliny w kilku miejscach.
Definicja kanału organicznego. Ustal ją raz i trzymaj się jej. Zmiana w połowie roku sprawia, że wykres traci ciągłość, a nikt nie będzie pamiętał dlaczego.
Lista konwersji wliczanych do raportu. Jeśli w GA4 zmienią się zdarzenia oznaczone jako kluczowe, raport zmieni się bez Twojego udziału.
Zakres porównań. Miesiąc do miesiąca ma sens tylko przy niewielkiej sezonowości. W większości branż bardziej uczciwe jest porównanie do tego samego okresu rok wcześniej i warto to ustawić jako domyślne.
Dostępy. Raport osadzony na koncie jednej osoby przestaje działać, gdy ta osoba odchodzi z firmy. Warto to rozwiązać na poziomie uprawnień, zanim stanie się problemem.
Używamy plików cookies, aby ułatwić Ci nawigację oraz wykonywanie określonych funkcji. Szczegółowe informacje o wszystkich plikach cookies znajdziesz w każdej kategorii zgody poniżej.
Pliki cookies oznaczone jako "Niezbędne" są przechowywane w Twojej przeglądarce, ponieważ są one kluczowe dla zapewnienia podstawowych funkcji strony.
Używamy również plików cookies firm trzecich, które pomagają nam analizować, w jaki sposób korzystasz z tej strony, zapamiętują Twoje preferencje oraz dostarczają treści i reklamy odpowiednie dla Ciebie. Te pliki cookies będą przechowywane w Twojej przeglądarce tylko za Twoją uprzednią zgodą.
Możesz zdecydować, czy chcesz włączyć lub wyłączyć niektóre bądź wszystkie te pliki cookies, jednak wyłączenie niektórych z nich może wpłynąć na Twoje doświadczenia podczas przeglądania strony.
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __cf_bm | 13 minutes | Cloudflare bot management — distinguishes humans from bots. |
| rc::* | Persistent | Google reCAPTCHA — localStorage holding anti-bot challenge state. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| wpEmojiSettingsSupports | Session | WordPress — sessionStorage flag caching whether the browser can render emoji (feature detection). |
| ytidb* | Persistent | YouTube — IndexedDB storing playback/search state for embedded videos. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| _ga_* | 400 days | Google Analytics 4 — persists session state per property. |
| _ga | 400 days | Google Analytics — distinguishes unique users via a client id. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| NID | 183 days | Google — stores preferences for personalized ads. |
| fr | 90 days | Meta — encrypted Facebook id and browser id for ads. |
| _gcl_au | 90 days | Google AdSense/Ads — experiments with advertising efficiency (conversion linker). |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __Secure-YNID | 180 days | |
| YSC | Session | |
| __Secure-ROLLOUT_TOKEN | 180 days | |
| VISITOR_INFO1_LIVE | 180 days | |
| VISITOR_PRIVACY_METADATA | 180 days | |
| datr | 400 days | |
| sb | 400 days | |
| wd | 7 days |