Integracja marketplace'u Triverna z Google Hotel Ads

Branża:
Organizacja podróży
Kraj:
Polska
Zakres:
Integracja z Google Hotel Ads
Technologia:

Przegląd

Triverna, ekskluzywny klub hotelowy i jeden z czołowych graczy w branży hotelarskiej, chciała zintegrować swój serwis z Google Hotel Ads (GHA).

Google Hotel Ads to rozbudowana platforma umożliwiająca hotelom prezentowanie swojej oferty bezpośrednio w wynikach wyszukiwania Google. Dzięki niej podróżnicy mogą wyszukiwać i rezerwować pokoje. Reklamy hotelowe wyświetlają się w module rezerwacyjnym, który może zawierać zdjęcia hotelu, udogodnienia, ceny oraz link do rezerwacji. Usługa pomaga hotelom dotrzeć do szerszej grupy odbiorców i zwiększyć liczbę rezerwacji, ułatwiając potencjalnym gościom wyszukiwanie i bezpośrednie booking przez Google.

Ponieważ reklamy mają charakter dynamiczny, reklamodawca musi zintegrować dane takie jak lista hoteli, stawki i strony docelowe. Triverna napotkała kilka poważnych wyzwań związanych z tą integracją.

Najpilniejszą kwestią było zapewnienie dokładności cenowej — kluczowego czynnika w działaniu GHA. Ponadto potrzeba synchronizacji danych w czasie rzeczywistym stanowiła poważną przeszkodę ze względu na złożoność oferty Triverna. Dodatkowym utrudnieniem była starsza strona internetowa wymagająca obszerniejszej dokumentacji.

Zespół Autentika wspierał Triverna przez cały ten złożony proces. Po pokonaniu przeszkód osiągnęliśmy następujące rezultaty: poprawiona dokładność cenowa, synchronizacja danych w czasie rzeczywistym, efektywność operacyjna, elastyczność na potrzeby przyszłych integracji oraz znacznie lepsze doświadczenie gości. W tym case study opisujemy cały proces i kolejne kroki, które podjęliśmy, aby osiągnąć zamierzony cel.

Wyzwanie

Dokładność cenowa

Największym problemem było zapewnienie dokładności cen. Google oblicza wskaźnik dokładności cenowej na podstawie tego, jak dobrze dane z aplikacji Triverna zgadzają się z danymi na stronie internetowej przy ręcznym wyborze parametrów. Zagwarantowanie dokładności cen miało kluczowe znaczenie.

Synchronizacja

Czas synchronizacji danych był istotnym problemem. Aktualizacje na stronie Triverna musiały być natychmiast odzwierciedlane w Google Hotel Ads. Oczekiwanie na codzienne aktualizacje było nie do przyjęcia.

Złożoność danych

Oferta Triverna obejmowała różne typy pokoi, stawki, dodatki, usługi i dodatkowe opłaty, co utrudniało prezentowanie dokładnych i aktualnych informacji w Google. W bazie danych Triverna istniało również wiele przypadków brzegowych i dodatkowych warstw danych, takich jak ceny netto/brutto czy szczególne przypadki zastosowania podatku miejskiego lub klimatycznego.

Integracja ze starym systemem

Triverna korzystała ze starszej strony internetowej, co utrudniało integrację. Nie istniała żadna przejrzysta dokumentacja starego systemu.

Rygorystyczne wymagania dotyczące walidacji i weryfikacji

Faza testowania i weryfikacji okazała się złożonym i czasochłonnym elementem projektu, przede wszystkim ze względu na surowe wymagania walidacyjne i weryfikacyjne Google Hotel Ads.

Przed:

Strona Triverna miała trudności z dostarczaniem potencjalnym gościom aktualnych informacji w Google. Prowadziło to do rozbieżności w cenach i dostępności, co mogło frustrować potencjalnych klientów.

Triverna potrzebowała rozwiązania, które zapewni dokładne i aktualne dane w Google Hotel Ads.

Po:

Strona Triverna płynnie dostarcza Google informacje w czasie rzeczywistym. Ceny są dokładne, a dostępność aktualna, co umożliwia potencjalnym gościom sprawniejsze dokonywanie rezerwacji.

Triverna może teraz skutecznie konkurować z innymi graczami korzystającymi z rozwiązania Google Hotel Center.

Kluczowe wyniki
40

milisekund – czas obsługi jednego żądania

500

żądań przetwarzanych na sekundę

- Poprawiona dokładność: Dokładność cenowa znacznie wzrosła, ponieważ rozbieżności między stroną Triverna a Google Hotel Ads zostały wyeliminowane.

- Synchronizacja w czasie rzeczywistym: Zmiany na stronie Triverna są niemal natychmiast odzwierciedlane w Google Hotel Ads, dzięki czemu potencjalni goście zawsze widzą najbardziej aktualne informacje. Czas przetwarzania żądania wynosi około 40 milisekund.

- Efektywność: Hub umożliwił efektywne zarządzanie danymi, w tym stawkami, podatkami i opłatami, oraz uproszczenie procesu przesyłania informacji do Google.

- Elastyczność: Hub został zaprojektowany jako adaptacyjny, z możliwością integracji z innymi systemami w przyszłości.

- Obsługa dużych wolumenów: System z powodzeniem obsłużył ogromne ilości danych, w tym ponad 7 milionów rekordów w kalendarzu dostępności, przy 500 zmianach na sekundę.

- Lepsze doświadczenie gości: Potencjalni goście wyszukujący w Google mają teraz dostęp do dokładnych informacji w czasie rzeczywistym, co poprawiło ich doświadczenia i zwiększyło prawdopodobieństwo dokonania rezerwacji.

Nasze działania

1) Audyt

Pierwotna koncepcja zakładała integrację GHA ze starym systemem Triverna. Jednak podczas audytu odkryliśmy, że Triverna korzysta z silnika, który sprawiał, że wprowadzanie zmian było żmudne i czasochłonne.

Zdecydowaliśmy, że jedynym elementem, który należy przenieść, są dane. Plan zakładał edycję, korektę, oczyszczenie i ustandaryzowanie danych na potrzeby proponowanego przez nas rozwiązania.

2) Aplikacja pośrednicząca – Hub

Aby przetworzyć i znormalizować dane ze starej bazy danych, opracowaliśmy pośrednią aplikację – Hub. Ten etap obejmował analizę bazy danych oraz napisanie dodatkowych programów migracyjnych, ponieważ mieliśmy do przetworzenia dużą ilość danych (informacje o hotelach, pokojach, udogodnieniach, ofertach specjalnych, kategoryzacji pokoi, pościeli, lokalizacji, kategoryzacji wyżywienia, szczegółach podatkowych i nie tylko).

Dodatkowym wyzwaniem była duża liczba możliwych kombinacji składników danych, np. stawki za pokój w określonym okresie, dostępność łóżek w konkretnym dniu, dane gości (dorosły, dziecko lub niemowlę) oraz szczegóły rezerwacji, takie jak dostawka, dodatkowe usługi, parking itp. Musieliśmy opracować sposób łączenia wszystkich tych danych, aby były zgodne zarówno ze stroną Triverna, jak i Google Hotel Ads — kluczowa okazała się tutaj dobra współpraca z klientem.

Zaprojektowaliśmy również modele danych, co było dużym wyzwaniem ze względu na brak pełnej dokumentacji. Musieliśmy przeprowadzić inżynierię wsteczną, aby zrozumieć strukturę starej bazy danych i sposób jej przeniesienia zgodnie z najlepszymi praktykami.

3) Faza migracji

Hub został zaprojektowany do komunikacji ze stub'ami API GHA w celu przesyłania informacji o ofercie Triverna, w tym opisów, nazw, zdjęć, lokalizacji, pakietów pokoi i cen. Obejmowało to również złożone struktury cenowe, dodatkowe opłaty i podatki miejskie. Na tym etapie opracowaliśmy mechanizm, który w sposób ciągły migruje dane i wprowadza je do systemu Google.

Problemu, z którym długo się zmagaliśmy, była synchronizacja danych w czasie rzeczywistym. Aby Google Hotel Ads był efektywny dla użytkowników, każde nowe zdarzenie lub zmiana w danych musi być natychmiast przesyłana.

Walczyliśmy o każdą minutę, żeby zmiany na stronie Triverna były natychmiast widoczne w Google.

Aby zapewnić synchronizację w czasie rzeczywistym, wdrożyliśmy mechanizm webhooka działającego asynchronicznie. Każda zmiana jest przekazywana do Huba z konkretnym identyfikatorem. W przypadku zmian na stronie Triverna, np. nowych rezerwacji lub zaktualizowanych cen, informacja ta jest natychmiast przesyłana do Huba, który następnie aktualizuje Google Hotel Ads.

4) Testowanie i weryfikacja

Google Hotel Ads ma rygorystyczne wymagania dotyczące walidacji i weryfikacji, a zapewnienie zgodności zajęło nam kilka miesięcy intensywnych testów, co miało istotny wpływ na harmonogram projektu.

Warto wspomnieć, że testy Google są przeprowadzane ręcznie przez zespół Google. Jednocześnie podczas integracji nie ma środowiska testowego. Dane są przesyłane tak, jakbyśmy już znajdowali się w środowisku produkcyjnym, a Google samodzielnie decyduje, kiedy wyświetlać je w wynikach.

Każdy błąd wykryty przez Google wymagał natychmiastowego zajęcia się nim i naprawy. Problemy te były niekiedy spowodowane niezgodnościami po stronie Triverna lub sporadycznymi opóźnieniami w przepływie danych.

Podczas oczekiwania na wyniki testów po naprawieniu błędu, okazjonalne drobne usterki jeszcze bardziej przedłużały proces, co podkreślało trudność przyspieszenia takich testów. Mimo tych wyzwań ostatecznie poprawiliśmy wszystkie aspekty integracji, choć odbiło się to na czasie. Nasz pipeline obejmował rygorystyczne fazy testowania zakończone dokładnym przeglądem, który miał zagwarantować doskonałe wyniki przed wdrożeniem na środowisko produkcyjne (Google wymaga doskonałej dokładności danych przed udostępnieniem danych na żywo).

Wyniki

Centralnym elementem naszego projektu była aplikacja Hub — "nakładka" na stronę Triverna umożliwiająca dwukierunkową komunikację z Google Hotel Ads i Triversą. W efekcie Hub dostarcza teraz dane do obu aplikacji. Gdy na stronie Triverna zostanie wprowadzona zmiana, do Huba wysyłane jest powiadomienie push, które przetwarza dane w milisekundach – z szybkością do 500 żądań na sekundę.

W przyszłości Hub może zastąpić starą aplikację Triverna i współpracować z innymi aplikacjami, ponieważ wprowadzanie danych odbywa się na poziomie Huba.

Rozwój Huba przyniósł następujące rezultaty:

1) Poprawiona dokładność

Dokładność cenowa znacznie wzrosła, ponieważ rozbieżności między stroną Triverna a Google Hotel Ads zostały wyeliminowane.

2) Synchronizacja w czasie rzeczywistym

Zmiany na stronie Triverna są niemal natychmiast odzwierciedlane w Google Hotel Ads, dzięki czemu potencjalni goście zawsze widzą najbardziej aktualne informacje. Czas przetwarzania żądania wynosi około 40 milisekund.

3) Efektywność

Hub umożliwił efektywne zarządzanie danymi, w tym stawkami, podatkami i opłatami, oraz uproszczenie procesu przesyłania informacji do Google.

4) Elastyczność

Hub został zaprojektowany jako adaptacyjny, z możliwością integracji z innymi systemami w przyszłości.

5) Obsługa dużych wolumenów

System z powodzeniem obsłużył ogromne ilości danych, w tym ponad 7 milionów rekordów w kalendarzu dostępności, przy 500 zmianach na sekundę.

6) Lepsze doświadczenie gości

Potencjalni goście wyszukujący w Google mają teraz dostęp do dokładnych informacji w czasie rzeczywistym, co poprawiło ich doświadczenia i zwiększyło prawdopodobieństwo dokonania rezerwacji.

Podsumowanie

40

milisekund – czas obsługi jednego żądania

500

żądań przetwarzanych na sekundę

Z perspektywy czasu wyciągnęliśmy kilka wniosków:

Priorytet szybkości: szybkość synchronizacji powinna być najważniejsza. Opóźnienia mogą prowadzić do błędów i obniżać jakość integracji.

Minimalizacja mechanizmów pośrednich: skup się na ograniczeniu opóźnień w transferze danych, szczególnie przy aktualizacjach w czasie rzeczywistym. Wdrażaj live data feeds wszędzie tam, gdzie to możliwe.

Rozwiązania asynchroniczne: mechanizmy kolejkowania i przetwarzanie asynchroniczne mogą pomóc efektywnie obsługiwać duże wolumeny wiadomości.

Zespół Autentika wspierał Triverna przez złożony proces integracji z Google Hotel Ads.

Jesteśmy dostępni do nowych projektów. Porozmawiajmy:   jeszcze dziś, 
Możesz też śledzić nas na LinkedIn, Facebooku lub Dribbble .