A tour operator needs four events measured reliably: booking completed with its value, enquiry submitted, WhatsApp click, and payment started. Booking value matters more than booking count, because a $40 day tour and a $4,000 itinerary are not the same conversion. Server-side measurement of the completed booking is worth more than any number of client-side events, since that is the one figure ad platforms optimise against and browser-side tracking loses a growing share of it.
Two failure modes, and most operators are in one of them. Either nothing is tracked and every marketing decision is an opinion, or an agency installed thirty events and nobody can say which one is a booking.
The four events
| Event | Value | Why |
|---|---|---|
| Booking completed | Actual booking value | The only number that is revenue |
| Enquiry submitted | Average booking × close rate | Real intent, lower and countable |
| WhatsApp click | Same, discounted | Otherwise the channel is invisible |
| Payment started | None | Diagnoses checkout drop-off |
Four. Not thirty. Every additional event is another thing to maintain and another way for the important one to be misread.
Value, not count
This is the single most common mistake in travel accounts, and it is expensive.
An operator selling both $40 airport transfers and $4,000 fourteen-day itineraries, counting bookings without values, has told the ad platform that those are the same outcome. The platform is an optimiser: it will find the cheaper one, because there are more of them, and the budget drifts towards transfers while the itinerary business quietly starves.
Send the value with every booking. Then the platform optimises for revenue, which is what you wanted, and the reports stop disagreeing with the bank.
The WhatsApp problem
In this market a large share of high-value bookings finish in a chat, which makes them invisible to every automatic measurement.
You cannot fully solve that. You can make it countable:
- Fire an event on the WhatsApp click, with the page it happened on.
- Pre-fill the message with a reference — the tour, or a short code.
- Record in the CRM which references turned into bookings.
- Compute a close rate monthly, and use it to value the click event.
That is manual and it is worth it, because otherwise your most valuable channel looks like your least. An operator optimising on measured conversions alone will starve the channel that closes the big trips.
Why server-side matters
Browser-side tracking loses events — to ad blockers, to privacy settings, to people closing the tab before a script finishes. The share lost is growing, and it is not evenly distributed: it is highest among exactly the affluent international travellers an Egyptian operator most wants.
The completed booking is the one event where that loss actually costs money, because it is the figure the ad platforms optimise against. Send it from your server, where the booking is known to have happened and nothing can block it.
Everything else can stay in the browser. This is not an argument for a server-side rebuild of your whole measurement — just for the one event that decides how your budget gets spent.
Track fewer things, and make the one that matters impossible to lose.
What to skip
Scroll depth. Time on page. Video plays. Newsletter opens as a conversion. Anything an agency can show you when bookings are flat.
They are not wrong, they are just not decisions. If a number cannot change what you would do next month, measuring it costs attention and returns nothing.
This is the measurement we insist on before touching budget in a paid media engagement, which is why that service starts with a tracking and launch project rather than with campaigns. The reasoning behind the sequence is on the OTA dependence page.
Our free audit covers search visibility, AI-answer presence, booking flow and what your OTA channel is costing you. Written, and yours whether you hire us or not.