The brief
Paloma Hotels and Club Marvy are two resort brands under the same group, each with its own website, booking engine and media accounts. Their marketing data sat in five or six places and every monthly report meant exporting, pasting and reconciling by hand. The brief was one source of truth for both brands, refreshed without anyone touching a spreadsheet.
What I did
I built the pipeline end to end. The sources were GA4 for both sites, Google Search Console, Google Ads, Meta Ads and Yandex. Each one lands in BigQuery on a schedule; SQL models clean the exports, align the campaign and channel naming across platforms, and join them to the on-site data.
The GA4 side carried more than page views. It included the hotels' booking events, so room purchases, room types and revenue from the booking engine sit next to the media spend that drove them. That is what makes the dashboards useful: a campaign table that ends in rooms sold, not in clicks.
On top of BigQuery I built the brand's Looker Studio dashboards: a paid media report with campaign tables and a sales report per brand, plus the web and search views the team needed for the weekly meetings.
One view the hotel team asked for early was traffic from LLM assistants. Visitors who arrive from ChatGPT, Gemini, Perplexity and the like show up in GA4 as referrals with their own sources, so the pipeline tags them as a channel of their own and the dashboard reports them next to organic search: sessions, landing pages and whether those visits reach the booking engine. It sits alongside a GEO audit of both sites, so the team can see what the assistants cite and what that brings in. Before the dashboards could be trusted, I audited the measurement itself: GTM, Floodlight tags, two separate GA4 properties and the consent setup.
The result
The group's marketing meetings now run on one set of numbers, from media spend to rooms booked, across both brands. The figures themselves are the client's and are not published here.
