Integrating Triverna's marketplace with Google Hotel Ads
Triverna, an exclusive hotel club and one of the leading players in the hotel industry, wanted to integrate its website with Google Hotel Ads (GHA).
Google Hotel Ads is a robust platform that enables hotels to showcase their offering directly in Google search results, allowing travellers to find and book rooms. Hotel ads appear in a hotel booking module that can show photos of the hotel, amenities, rates and a link for booking the hotel. The service helps hotels reach a broader audience and increase bookings by making it easy for potential guests to find and book rooms directly through Google.
As the ads are dynamic, the advertiser has to integrate data such as the hotel list, rates and landing pages. Triverna encountered several major challenges with this integration.
The most pressing issue was ensuring pricing accuracy, a critical factor for GHA operations. In addition, the need for real-time data synchronisation presented a significant hurdle given Triverna's complex offering. In addition, Triverna was working with an older website that required more extensive documentation.
Autentika’s team supported Triverna through this complex process. After overcoming the obstacles, we came up with the results: improved pricing accuracy, real-time data synchronisation, operational efficiency, flexibility for future integrations and a significantly improved guest experience. In this case study, we will explore the entire process and our steps to achieve the desired outcome.
The biggest problem was ensuring price accuracy. Google calculates a price accuracy indicator based on how well the Triverna app data matches the website data when the parameters are manually selected. Ensuring price accuracy was crucial.
The timing of data synchronisation was a significant concern. Updates on the Triverna website needed to be immediately reflected in Google Hotel Ads. It was not acceptable to wait for daily updates.
The complexity of data
Triverna's offering included different room types, rates, extras, services and additional fees, which made it difficult to present accurate and up-to-date information to Google. There were also many edge cases in Triverna’s database, and additional data layers, such as net/gross prices or specific cases where city tax or climate tax was applied.
Integration with an old system
Triverna was working with an older website, which made integration difficult. There was no clear documentation for the old system.
Strict validation and verification requirements
The testing and verification phase proved to be a complex and time-consuming aspect of the project, primarily due to Google Hotel Ads' rigorous validation and verification requirements.
Triverna's website had difficulty providing real-time information to potential guests on Google. This led to discrepancies in prices and availability, which could frustrate potential customers.
Triverna needed a solution to provide accurate and up-to-date information to Google Hotel Ads.
Triverna's website seamlessly provides Google with real-time information. Prices are accurate, and availability is current, allowing potential guests a smoother booking.
Triverna can now compete effectively with other players using Google Hotel Center solution.
1) The audit
Our original concept was to integrate the GHA into the old Triverna system. However, during the audit we found that Triverna was working with an engine that made changes tedious and time-consuming.
We decided that the data was the only component that should be transferred. The plan was to edit, correct, cleanse and standardise the data for our proposed solution.
2) An intermediary application – the Hub
To process and normalise the data from the old database, we developed an intermediate application, the Hub. This part involved analysing the database and writing additional migration programmes, as we had a large amount of data to process (information about the hotels, rooms, amenities, special offers, room categorisation, bedding, location, board categorisation, tax details and more).
The additional challenge was that there are many combinations of possible data components, e.g. room rates in a certain period, availability of beds on a specific date, guest data (whether a guest is an adult, a child or an infant) and booking details such as extra bed, extra services, parking, etc. We had to figure out how to combine all this data to make it compatible with both Triverna’s website and Google Hotel Ads – so the key was a good collaboration with the client.
We also designed data models, which was a big challenge because we lacked full documentation. We had to reverse engineer to understand what the old database looked like and how to transfer it in line with best practices.
3) The migration phase
The Hub was designed to communicate with GHA API stubs to send information about Triverna's offerings, including descriptions, names, photos, locations, room packages and prices. This also included complex pricing structures, additional fees and city taxes. Here we developed a mechanism that continuously migrates the data and feeds it into the Google system.
The problem we struggled with for a long time was real-time data synchronisation. In order to use Google Hotel Ads effectively for the users, every new event or change in the data has to be transmitted immediately.
To ensure real-time synchronisation, we implemented a mechanism for webhooks to work asynchronously. Each change is communicated to the hub with a specific ID. In case of changes on the Triverna website, e.g. new reservations or updated prices, this information is immediately forwarded to the Hub, which then updates Google Hotel Ads.
4) Testing and verification
Google Hotel Ads has strict validation and verification requirements, and it took us several months of extensive testing to ensure compliance, which was a significant factor in the project's timeline.
What’s interesting in this context is that Google tests are carried out manually by the Google team. At the same time, there is no test environment during the integration. The data is transferred as if we were already in a production environment, and Google only decides when to show it in the results.
Any bug discovered by Google required immediate attention and resolution. These problems were sometimes due to incompatibilities on Triverna's side or occasional delays in the data flow.
While we waited for test results after a fix, occasional minor bugs prolonged the process even further, highlighting the challenge of speeding up such tests. Despite these challenges, we eventually improved all aspects of the integration, even if it came at the cost of time. Our pipeline included rigorous testing phases that culminated in a thorough review to ensure excellent results before being released to the live environment (Google requires excellent data accuracy for the release of live data).
The central component of our project was the Hub application, an “overlay” on Triverna’s website that enables two-way communication with Google Hotel Ads and Triverna. The result is that the Hub now feeds data into both applications. When a change is made on the Triverna website, the push notification is sent to the Hub, which processes the data in milliseconds – up to 500 requests per second.
In the future, Hub can replace the old Triverna app and work with other apps, as data input is done at the Hub level.
The development of the Hub has led to the following results:
1) Improved accuracy
Price accuracy has improved significantly as the discrepancies between the Triverna website and Google Hotel Ads have been eliminated.
2) Real-time synchronisation
Changes on the Triverna website are almost immediately reflected in Google Hotel Ads, so potential guests can always see the most up-to-date information. The processing time for a request is about 40 milliseconds.
The Hub enabled efficient data management, including rates, taxes and fees, and simplified the process of submitting information to Google.
The Hub was designed to be adaptable and to integrate with other systems in the future if needed.
5) High volume handling
The system successfully handled a huge volume of data, including over 7 million records in the availability calendar, with 500 changes per second.
6) Improved guest experience
Potential guests searching on Google now had access to accurate real-time information, which improved their experience and increased the likelihood of bookings.
milliseconds – time to report one request
requests processed per second
In retrospect, several lessons were learned:
Prioritise speed: The synchronisation speed should be the top priority. Delays can lead to errors and affect the quality of integration.
Minimise lateral mechanisms: Focus on minimising delays in data transfer, especially for real-time updates. Implement live data feeds whenever possible.
Asynchronous solutions: Queuing mechanisms and asynchronous processing can help to handle large volumes of messages efficiently.