Punkt wyjścia: 20% od każdej rezerwacji szło do OTA

Klient: hotel butikowy na Mazurach, kilkanaście pokoi, silny sezon letni i weekendowy ruch całoroczny dzięki spa i restauracji. Większość rezerwacji trafiała przez platformy typu Booking.com i podobne — z prowizją rzędu 18–20% od każdej rezerwacji. Hotel miał własną stronę z systemem rezerwacji online, ale generowała ułamek ruchu, jaki szedł przez OTA.

Właściciel chciał zwiększyć udział rezerwacji bezpośrednich, żeby nie oddawać jednej piątej przychodu pośrednikom. Punktem wyjścia była kampania Google Ads Search uruchomiona kilka miesięcy wcześniej — z niewielkim skutkiem. Zanim zacząłem cokolwiek zmieniać w samych reklamach, sprawdziłem, co się dzieje z ruchem na stronie.

Warto zaznaczyć, że relacja z platformami OTA nie musi być czarno-biała — dla wielu obiektów to wciąż ważne źródło ruchu, szczególnie w budowaniu widoczności wśród nowych gości. Cel tego wdrożenia nie polegał na całkowitym odcięciu się od OTA, tylko na zbudowaniu realnej alternatywy dla gości, którzy i tak trafiliby na stronę hotelu wprost — a którzy bez zachęty i tak kończyli rezerwację przez pośrednika, bo strona hotelu nie dawała im wygodnej ścieżki do zrobienia tego samodzielnie.

Dlaczego sama reklama nie wystarczała

Strona hotelu nie miała skonfigurowanego DataLayer ani żadnego sensownego śledzenia zdarzeń rezerwacyjnych. GA4 był wdrożony przez wtyczkę, mierzył tylko podstawowe wyświetlenia stron. Nie było wiadomo, ile osób zaczynało proces rezerwacji i rezygnowało, na którym kroku, ani ile z tych osób i tak kończyło rezerwację przez telefon albo przez OTA po obejrzeniu strony hotelu.

Dodatkowo silnik rezerwacyjny hotelu działał jako osobna aplikacja osadzona w ramce iframe — co samo w sobie utrudnia poprawne śledzenie, bo standardowe metody pomiaru w GA4 nie zawsze widzą, co dzieje się wewnątrz takiej ramki. To dość częsta sytuacja w branży hotelarskiej, gdzie silniki rezerwacyjne dostarczane są przez zewnętrznych dostawców i rzadko są projektowane z myślą o łatwej integracji z narzędziami analitycznymi.

Sedno problemu

Kampania Google Ads była oceniana wyłącznie po liczbie kliknięć i sesji na stronie — bo nic innego nie było mierzone. Bez danych o tym, co dzieje się w silniku rezerwacyjnym, nie było możliwości powiedzieć, czy reklama przynosi rezerwacje, czy tylko ruch. Zanim zoptymalizujesz kampanię, musisz wiedzieć, co właściwie chcesz zoptymalizować.

Co zmieniłem w GTM i GA4

Pierwszy etap prac nie dotyczył wcale Google Ads — dotyczył pomiaru. Wdrożyłem Google Tag Manager z uporządkowanym DataLayer, obejmującym cały proces rezerwacji: wybór terminu, wybór pokoju, przejście do formularza danych gościa, wpisanie danych płatności, potwierdzenie rezerwacji. Każdy krok stał się osobnym zdarzeniem wysyłanym do DataLayer przez silnik rezerwacyjny, a stamtąd do GA4 jako zdarzenie konwersji lub zdarzenie lejka.

01
Lejek rezerwacyjny w GA4
Zdarzenia dla każdego kroku procesu rezerwacji, umożliwiające zbudowanie raportu lejka i identyfikację, gdzie użytkownicy najczęściej rezygnują.
02
Konwersja z wartością rezerwacji
Zdarzenie potwierdzenia rezerwacji wysyła do GA4 i Google Ads realną wartość pieniężną rezerwacji, a nie sam fakt jej wystąpienia.
03
Śledzenie kliknięć telefonu
Kliknięcia w numer telefonu na urządzeniach mobilnych oznaczone jako zdarzenie pomocnicze — część gości i tak finalizuje rezerwację przez rozmowę.
04
Consent Mode v2
Poprawne wdrożenie zgód cookie, żeby dane o konwersjach nie znikały dla użytkowników, którzy nie zaakceptowali wszystkich zgód.

Dopiero po dwóch tygodniach zbierania danych z nowego lejka było jasne, gdzie tracimy potencjalnych gości: 38% osób rezygnowało na etapie wpisywania danych płatności — formularz płatności otwierał się w osobnym oknie, co na urządzeniach mobilnych wyglądało jak błąd strony.

Problem z osadzeniem silnika rezerwacyjnego w ramce iframe rozwiązałem, korzystając z komunikacji między ramką a stroną nadrzędną (window.postMessage) — dostawca silnika rezerwacyjnego udostępniał zdarzenia w tym formacie, wystarczyło je odebrać skryptem na stronie głównej i przekazać dalej do DataLayer. To rozwiązanie, które wcześniej nikt nie sprawdził, bo wymagało przejrzenia dokumentacji technicznej dostawcy, a nie tylko panelu administracyjnego strony.

Dlaczego telefon okazał się ważniejszy, niż zakładaliśmy

Po wdrożeniu śledzenia kliknięć w numer telefonu okazało się, że blisko jedna czwarta wszystkich zapytań o dostępność terminów kończyła się telefonem, a nie formularzem online — szczególnie wśród starszych gości i rezerwacji grupowych. Bez tego śledzenia ta część ruchu byłaby całkowicie niewidoczna w raportach, a kampanie odpowiedzialne za ten ruch wyglądałyby na nieefektywne.

Przebudowa kampanii Search

Z działającym pomiarem mogłem wreszcie ocenić, które frazy i grupy reklam faktycznie prowadzą do rezerwacji, a nie tylko do wizyt na stronie. Podzieliłem kampanię na trzy segmenty intencji:

Strategię licytacji zmieniłem na docelowy ROAS liczony od realnej wartości rezerwacji, a nie od liczby kliknięć — dzięki danym o wartości konwersji zebranym po wdrożeniu GTM. Dodałem też wykluczenia dla fraz związanych z pracą i rekrutacją w hotelu, które wcześniej generowały tani, ale bezużyteczny ruch.

Osobną decyzją było ograniczenie kampanii do konkretnego obszaru geograficznego — mimo że hotel przyjmuje gości z całej Polski, największy realny potencjał konwersji miały osoby szukające noclegu w promieniu kilkugodzinnej podróży samochodem. Kampania kierowana ogólnopolsko generowała więcej kliknięć, ale relatywnie mniej rezerwacji, bo część ruchu przychodziła z regionów, z których podróż na Mazury na krótki pobyt weekendowy była mało realna.

Wyniki

Po naprawieniu formularza płatności na urządzeniach mobilnych i przebudowie kampanii Search, przy tym samym budżecie miesięcznym:

+287%
Rezerwacje bezpośrednie
Wzrost liczby rezerwacji przez własną stronę hotelu
−31%
Porzucenia płatności
Po naprawie formularza płatności na urządzeniach mobilnych
×4,1
ROAS kampanii
Liczony od realnej wartości rezerwacji, nie od liczby kliknięć
10
Tygodni
Od wdrożenia pomiaru do stabilnych wyników kampanii
Dlaczego to nie był sukces samej reklamy

Gdybym zostawił błąd formularza płatności i po prostu zwiększył budżet na kampanię Search, część dodatkowego ruchu i tak by się nie konwertowała. Największy pojedynczy wzrost wyników przyszedł z naprawienia procesu rezerwacji — nie ze zmiany stawek czy fraz kluczowych.

Co robimy dalej

Po ustabilizowaniu wyników przenieśliśmy część uwagi na sezonowość — hotel ma wyraźnie różne wzorce zapytań latem i poza sezonem, więc budżety i komunikaty reklamowe planujemy teraz z wyprzedzeniem pod konkretne okresy, zamiast utrzymywać jeden stały schemat przez cały rok. Testujemy też dodanie kampanii Performance Max jako uzupełnienia kampanii Search — ale dopiero teraz, gdy pomiar konwersji jest wiarygodny i można ocenić jej realny wpływ, a nie tylko liczbę kliknięć.

Checklist — zanim zwiększysz budżet na reklamę dla rezerwacji bezpośrednich

  1. Czy masz skonfigurowany DataLayer śledzący każdy krok procesu rezerwacji, nie tylko finalną konwersję?
  2. Czy zdarzenie konwersji przekazuje realną wartość pieniężną rezerwacji do GA4 i Google Ads?
  3. Czy sprawdziłeś raport lejka, żeby zobaczyć, na którym kroku rezygnuje najwięcej użytkowników?
  4. Czy masz kampanię brandową chroniącą Twoją nazwę przed przechwytywaniem przez platformy OTA?
  5. Czy strategia licytacji optymalizuje pod wartość rezerwacji, a nie pod liczbę kliknięć?
  6. Czy Consent Mode v2 jest wdrożony poprawnie, żeby nie tracić danych o konwersjach?

"Zanim zwiększysz budżet na reklamę, sprawdź, czy strona w ogóle jest w stanie przyjąć rezerwację bez błędów. Reklama nie naprawi zepsutego formularza płatności."

— Wniosek z tego wdrożenia
M
Michał Lech
Specjalista Google Ads i Analytics · B2B i e-commerce

Od 15 lat zajmuję się kampaniami Google Ads i wdrożeniami GA4/GTM dla firm B2B i sklepów internetowych. Najczęstszy błąd, jaki widzę na przejmowanych kontach, to optymalizacja pod zdarzenia, które nic nie mówią o jakości leada. Jeśli chcesz sprawdzić, jak wygląda to na Twoim koncie, napisz.