Case: raportowanie klienckie skrócone z ośmiu godzin do jednej w miesiącu

27 października, 2026

Dziewięciu klientów, jeden raport miesięcznie dla każdego i osiem godzin pracy, z czego większość to kopiowanie liczb z jednego okna do drugiego. Tak wyglądał punkt wyjścia w małym zespole SEO i SEM, który obsługiwał sklepy internetowe oraz kilka firm usługowych. Ten case opisuje, jak automatyzacja raportowania skróciła ten czas do mniej więcej jednej godziny miesięcznie, czego nie dało się zautomatyzować i jakie błędy wyszły dopiero po pierwszym kwartale.

Najważniejsza teza na start: automatyzacja nie zastąpiła człowieka przy raporcie. Zabrała mu tylko tę część pracy, która nie wymagała myślenia, i zostawiła tę, za którą klient faktycznie płaci, czyli komentarz i rekomendacje.

Punkt wyjścia: gdzie uciekał czas

Zanim cokolwiek zmieniliśmy, przez jeden miesiąc mierzyliśmy, na co dokładnie idzie czas przy raportach. Bez tego pomiaru łatwo zautomatyzować nie to, co trzeba. Wynik był dość jednoznaczny:

CzynnośćCzas miesięcznie (9 klientów)Udział
Eksport danych z Search Console, GA4 i Google Adsok. 2 h 40 min33%
Wklejanie liczb do arkuszy i prezentacjiok. 2 h 10 min27%
Poprawianie formatowania i wykresówok. 1 h 20 min17%
Komentarz i wnioskiok. 1 h 10 min15%
Wysyłka i odpowiedzi na pytaniaok. 40 min8%

Ponad trzy czwarte czasu to była praca mechaniczna. Komentarz, czyli jedyna część raportu, którą klient czytał uważnie, dostawał średnio niecałe osiem minut na klienta. To był właściwy problem do rozwiązania, a nie sama liczba godzin.

Ujednolicenie źródeł danych i nazewnictwa

Pierwszy etap nie miał nic wspólnego z narzędziami do automatyzacji. Każdy klient miał inaczej nazwane kampanie, inne zdarzenia kluczowe w GA4 i inny zakres dat w raportach (część dostawała miesiąc kalendarzowy, część ostatnie 30 dni). Automatyzacja na takim bałaganie tylko szybciej produkuje niespójne liczby.

Ustaliliśmy trzy zasady obowiązujące wszystkich klientów:

  • raport zawsze obejmuje pełny miesiąc kalendarzowy i porównanie rok do roku, a nie miesiąc do miesiąca,
  • w GA4 każdy klient ma maksymalnie trzy zdarzenia kluczowe o identycznych nazwach technicznych,
  • kampanie Google Ads mają prefiks typu kampanii (search, pmax, brand), żeby dało się je grupować jedną regułą.

Ujednolicenie zajęło około dwóch tygodni rozłożonych na kilka osób i było najbardziej żmudną częścią projektu. U dwóch klientów sklepowych przy okazji wyszły braki w danych produktowych, podobne do tych, które opisujemy w tekście o tym, kiedy GTIN, MPN i marka w feedzie są wymagane; poprawki feedu poszły osobnym torem.

Szablon raportu wspólny dla wszystkich klientów

Zamiast dziewięciu osobnych prezentacji powstał jeden szablon w Looker Studio z filtrem klienta. Struktura jest stała i ma pięć stron: podsumowanie dla zarządu, ruch organiczny, płatne kampanie, konwersje oraz strona z komentarzem analityka. Na pierwszej stronie zostawiliśmy wyłącznie metryki, które klient może powiązać z biznesem; dobór wskaźników opieraliśmy na zestawie opisanym w artykule jakie KPI z SEO i AI raportować zarządowi.

Z szablonu wyleciały za to średnia pozycja dla całej domeny i liczba zaindeksowanych stron. Klienci pytali o nie najczęściej, a jednocześnie żadna z tych liczb nie prowadziła do konkretnej decyzji. Jeśli ktoś bardzo chciał je widzieć, trafiały do załącznika.

Co dał wspólny szablon

Każda zmiana w układzie raportu jest teraz robiona raz, a nie dziewięć razy. Nowa osoba w zespole uczy się jednego raportu. Klienci dostają ten sam układ co miesiąc, więc szybciej znajdują to, czego szukają, i zadają mniej pytań w stylu „gdzie jest ten wykres z zeszłego miesiąca”.

Automatyczne pobieranie danych i odświeżanie

Dane z Search Console trafiają do BigQuery przez natywny masowy eksport, który opisaliśmy w poradniku o eksporcie Search Console do BigQuery. GA4 ma swój eksport do tej samej usługi, a Google Ads podpięliśmy przez transfer danych. Na tej warstwie działa kilka zapisanych zapytań, które co noc przeliczają tabele raportowe w jednym, wspólnym formacie.

Looker Studio czyta już tylko gotowe tabele, a nie surowe dane. To była decyzja świadoma: raport oparty bezpośrednio na konektorach GA4 i Search Console ładował się u największego klienta ponad minutę i regularnie przekraczał limity zapytań. Po przejściu na tabele zbiorcze strona otwiera się w kilka sekund. Koszt BigQuery przy tej skali to kilka złotych miesięcznie, głównie za przechowywanie danych.

Ostatni element automatu to harmonogram: pierwszego dnia miesiąca o szóstej rano tabele są przeliczone za cały poprzedni miesiąc, a zespół dostaje na Slacku listę klientów, u których któraś metryka zmieniła się o więcej niż 30% rok do roku. To jest sygnał, od których raportów zacząć.

Co zostało po stronie człowieka: komentarz i wnioski

Testowaliśmy generowanie komentarza przez model językowy na podstawie liczb z raportu. Teksty były poprawne, ale puste: opisywały to, co i tak widać na wykresie („ruch organiczny wzrósł o 12%”), i nie znały kontekstu, na przykład tego, że klient w połowie miesiąca wyłączył jedną kategorię produktów. Zostawiliśmy AI tylko do jednego zadania: przygotowania listy największych zmian w zapytaniach i stronach docelowych. Wnioski pisze analityk.

Komentarz ma stały format, maksymalnie pięć punktów:

  1. co się wydarzyło w liczbach (jedno zdanie),
  2. dlaczego, z odniesieniem do konkretnej zmiany lub zdarzenia,
  3. co robimy w kolejnym miesiącu,
  4. czego potrzebujemy od klienta,
  5. ryzyko, jeśli takie widać.

Na komentarz przypada teraz średnio około pięciu minut na klienta w tej najbardziej skondensowanej formie, bo analityk nie zaczyna od zera: ma przed sobą gotową listę anomalii i notatki z bieżącej pracy. Podobne podejście, w którym człowiek interpretuje dane, a nie je przepisuje, sprawdziło się też w projekcie, w którym młoda domena zdobyła pierwsze 1000 wejść z Google.

Kontrola jakości przed wysyłką

Automatyczny raport ma jedną niebezpieczną cechę: błąd powtarza się po cichu u wszystkich klientów naraz. Dlatego przed wysyłką działa krótka lista kontrolna:

  • czy suma sesji w raporcie zgadza się z interfejsem GA4 z tolerancją do 2%,
  • czy dane z Search Console obejmują pełny miesiąc (eksport bywa opóźniony o dwa, trzy dni),
  • czy koszt kampanii zgadza się z fakturą Google Ads,
  • czy komentarz odnosi się do liczb z tego miesiąca, a nie z poprzedniego.

Pierwsze trzy punkty sprawdza zapytanie SQL, które zwraca listę rozbieżności. Czwarty to szybkie przeczytanie raportu przez drugą osobę. Cała kontrola dla dziewięciu klientów zajmuje około piętnastu minut.

Efekty po kwartale i reakcje klientów

Po trzech miesiącach czas pracy nad raportami ustabilizował się na poziomie około godziny miesięcznie dla całego portfela: 45 minut na komentarze i 15 minut na kontrolę jakości. Wysyłka jest automatyczna, z linkiem do raportu i komentarzem w treści maila.

Dwie rzeczy zaskoczyły nas bardziej niż sama oszczędność czasu. Po pierwsze, liczba pytań od klientów po raporcie spadła mniej więcej o połowę, bo stały układ okazał się czytelniejszy niż dopasowywane ręcznie prezentacje. Po drugie, w pierwszym miesiącu jeden błąd w zapytaniu (zła strefa czasowa przy eksporcie GA4) przesunął dane o jeden dzień u wszystkich klientów jednocześnie. Kontrola sum go wyłapała, ale gdyby jej nie było, dziewięć raportów poszłoby z błędem. Od tamtej pory lista kontrolna jest obowiązkowa.

Jeden klient poprosił o powrót do prezentacji w PowerPoincie, bo raport trafiał do zarządu jako załącznik. Rozwiązanie było proste: eksport stron Looker Studio do PDF raz w miesiącu. Dla porównania, w innym naszym projekcie główną zmianą też było uporządkowanie danych, a nie nowe narzędzie, co opisaliśmy przy okazji case’u, w którym sklep trafił do rekomendacji ChatGPT.

Jeśli chcesz powtórzyć ten projekt u siebie, zacznij od tygodnia pomiaru czasu i od ujednolicenia nazw. Narzędzia są drugorzędne; dokumentacja Looker Studio i BigQuery wystarczy, żeby postawić pierwszą wersję w kilka dni.

FAQ

Czy automatyzacja raportowania wymaga BigQuery?

Nie. Przy kilku klientach i małym ruchu wystarczą natywne konektory Looker Studio. BigQuery opłaca się wtedy, gdy raporty ładują się wolno, przekraczają limity zapytań albo trzeba łączyć dane z kilku źródeł w jednej tabeli.

Ile trwało wdrożenie całego projektu?

Około sześciu tygodni: dwa na ujednolicenie nazewnictwa i źródeł danych, dwa na szablon i zapytania SQL, dwa na testy równoległe ze starymi raportami, zanim wyłączyliśmy ręczny proces.

Czy komentarz do raportu może pisać AI?

W naszym teście komentarze generowane automatycznie opisywały wykresy, ale nie wyjaśniały przyczyn zmian. AI dobrze sprawdza się przy wyszukiwaniu anomalii w danych, natomiast wnioski i rekomendacje warto zostawić analitykowi, który zna kontekst klienta.

Jak sprawdzić, czy automatyczny raport nie zawiera błędów?

Najprościej porównać kilka sum kontrolnych z interfejsami źródłowymi: sesje z GA4, kliknięcia z Search Console i koszt z Google Ads. Rozbieżność powyżej 2% to sygnał, żeby wstrzymać wysyłkę i sprawdzić zapytania.

Co zrobić, gdy klient chce raport w innym formacie?

Zostawić jeden szablon jako źródło prawdy i dodać eksport, na przykład do PDF. Tworzenie osobnej wersji raportu dla jednego klienta szybko odtwarza problem, który automatyzacja miała rozwiązać.