Dimitri Bukys Start the diagnosis

Case 02 · Bookings, Bali · October 2025 to March 2026

Nobody could tell which ad caused a booking.

A surf camp selling multi-week packages to an international audience. The advertising had not stopped working. The data telling anyone whether it worked had.

+222%Revenue, over the six-month engagement
+165%Bookings, over the six-month engagement
ROAS 5.4Google Ads
+321%Channel revenue, year on year

Ratios and percentages only. Absolute spend and revenue belong to the client rather than to my marketing, so those stay for the call.

The situation

What was actually wrong

Traffic quality collapsed and conversions stopped arriving at the rate they had. From inside the ad accounts it looked like the campaigns had gone bad, which is the conclusion most people reach and the expensive one to act on.

The actual fault was in measurement. A booking that completes on a different domain, inside a booking engine, has to be handed back to analytics and then back to the ad platform, and that chain had broken. Google Ads was optimising against conversion data that no longer described reality, so it was confidently bidding toward the wrong people. Every scaling decision anyone made was a guess wearing a dashboard.

What I built

Diagnosis first, across three systems

The analytics, the tag manager and the booking engine had to be read together, because the failure was in the handoffs rather than inside any one of them. I traced a real booking end to end and found the point where it stopped being visible.

Rebuilt the events, then the connection

New events through Google Tag Manager, cross-domain tracking from the website into Cloudbeds, and those events updated inside Google Ads so bidding was working from correct data again. Every booking carries the same identifier in the booking engine and in the data analytics receives, so I matched on that identifier and recovered roughly 80% of bookings back to their source.

Then the demand side

Customer research to build real personas, and ad copy written from that evidence instead of from assumptions. Competitor account structures were analysed, including the market leader’s, which informed what the campaign architecture should look like.

Why it worked, channel by channel

Google Search

The moment correct conversion data reached the platform, performance moved. November became the best revenue month the business had ever recorded. Separating branded from non-branded demand also revealed which search terms genuinely produce cold-traffic bookings, which the owner had never been able to see.

Meta

Started late in the engagement and did not perform in its first month, which is normal for a first month. It never got a second one. It is reported here because leaving it out would misrepresent what happened.

What I would do differently

I rebuilt the campaign structure too early.

Finding that most of the spend and most of the recorded sales sat on branded search terms was correct, and separating branded from prospecting was the right structural call. But those campaigns had been running for months with accumulated learning inside them, and the only thing genuinely broken was tracking. Rebuilding destabilised the account, and repairing it took two to three months.

The lesson is about sequencing rather than strategy: fix measurement, let the account settle, prove the read on clean data, and only then restructure. It is the kind of thing worth knowing about somebody before you hire them.

Reference available, and he is not briefed. The CEO has agreed to speak to prospective clients about this engagement. He will tell you the Google Ads work and the analytics rebuild delivered, and he will also tell you that I build more elaborate systems than a job sometimes needs, and that the Meta side of this project did not produce results worth having.

Both halves are why the offer is worth taking. A reference who only praises is a reference who was chosen carefully. Ask me and I will connect you.

Where it ended up

Total revenue up 222% and total bookings up 165% across the engagement, with Google Ads returning 5.4 and improving by 44%, and channel revenue up 321% year on year.

One thing stayed unsolved and it is worth stating plainly. Google Ads still does not see every booking, because the booking engine, the analytics and the ad platform each count slightly differently, and the property’s hard ceiling of around 100 bookings a month sits below what the bidding algorithms want in order to learn well. That is a real constraint on this kind of business, not a detail I would discover later and mention quietly.

Recognise any of this?

The first step is the same either way: a paid diagnosis that works out what you can actually afford to pay for a customer, and tells you honestly whether ads are your bottleneck.