Ten years on

I ran hotel affiliate campaigns from 2004 to 2016. Then I stopped, did other things for a decade, and came back to the industry this year to build ProfitTracker. The oddest part of coming back is that the dashboards look far more sophisticated than they did, while the evidence underneath them is generally worse.

In 2016 a third-party cookie lasted as long as you wanted it to. The user was usually one person on one desktop, using a browser that behaved predictably. If someone clicked your affiliate link and booked four days later, you knew about it, and not because of anything clever at your end. The chain simply held.

I could look at a transaction report and say why a particular commission had fired. That was not a perfect system, but it was one you could read.

That chain is mostly broken now.

The cookie was the spine

Affiliate networks ran on third-party cookies. Drop a cookie on the click, read it on the conversion, settle the commission. An entire industry sat on top of a one-line trick that worked the same way in every browser.

Safari began restricting third-party cookies in 2017 and Firefox followed. Chrome was supposed to follow and has spent years deferring it under one initiative name after another. The practical effect is unchanged: the spine is gone, and what replaced it is a set of click identifiers that each platform issues and controls, plus a lot of guessing in the spaces between them.

You can still track. What you cannot do is track the way the networks did, and nothing as universal has come along since.

Cross-device was the second hit

The device assumption broke even before the cookies did. In 2016 a guest was usually still a desktop session. Now a guest sees an ad on a phone at breakfast, searches the property name on a laptop at lunch, and books on a tablet that evening. None of those three sessions knows the others exist, and without a logged-in identity travelling between them there is no client-side method that joins them up.

Hotels feel this more than most. Travel is a long-consideration purchase with low repeat frequency, the booking window can run to eighteen months, and the journey is scattered across surfaces nobody owns and almost nobody logs into.

So a click arrives on a Tuesday and a booking arrives three months later from a different address on a different browser. Some tool will assign credit for that. Whether you should believe it is a separate question, and it is the question that matters.

Platforms started judging their own work

This was not really a problem in 2016 and it is everywhere now.

Google Ads will tell you how many bookings your Google Ads campaigns produced, and so will Meta, and so will TikTok. They over-count because over-counting is what they are built to do. Add up the conversions claimed by every platform a hotel runs and the total comes out well above the number of bookings the property actually took. Each platform believes it saw the guest last, and the hotel is the one holding the invoices.

In affiliate-network days the network was structurally independent of the publisher. Commission paid out on a confirmed sale and disputes went to arbitration. There was plenty wrong with that arrangement, but a publisher could not mark its own homework. Today the ad platform marks its own homework, the booking engine marks its own on top of that, and the agency marks its own above both.

None of them are inventing figures. They are all grading themselves generously, which is a harder problem than invention because everyone involved can defend their number in good faith.

Models in place of evidence

With the verifiable signal gone, what is being sold instead is modelling. The current vintage is described as AI attribution, and you will find vendor decks quoting figures in the high nineties to independent hotels taking fewer than a thousand bookings a month.

A thousand bookings is not enough data to support that claim. Google's own data-driven model needs an order of magnitude more conversion volume before its outputs carry weight, and it trains on Google's aggregate cross-advertiser corpus rather than on the individual hotel. Much of what reaches small and mid-market properties under that label turns out to be data-driven attribution rebadged, a marketing-mix model running on the booking engine's own numbers, or campaign tags aggregated and wrapped in a confidence score.

I am not against modelling. A model built on top of a base of bookings you have actually verified is a reasonable thing, and it can tell you something the raw ledger cannot. What is not reasonable is a model that stands in for the evidence, presented at a precision the underlying data cannot support, with no way for the hotelier to see which bookings were confirmed and which were inferred.

The figure in the deck is a sales number. It describes the vendor's confidence, not yours.

What I came back to fix

What I missed about affiliate marketing was how little argument there was about whether the booking had happened. You could follow the chain and check it yourself.

What brought me back in 2026 is that almost nobody is rebuilding that part. Vendors compete on how much they claim while the signals underneath thin out, hotels pay more for tracking that tells them less, and the platforms get steadily better at persuading everyone that they did the work.

ProfitTracker is a small bet against that. It gives a hotel one row per channel showing what a booking cost to win, and it marks each row with the strength of the evidence behind it, so the confirmed bookings and the inferred ones never get added into the same figure without saying so.

The next thing I want to write about is where the modern referrer chain drops the ball, and what that means for a hotel trying to work out whether ChatGPT sent it a guest.