Most advertisers optimise for the wrong thing. They ask Google or Meta to bring back “more conversions,” when what they actually want is more good conversions – the enquiries that turn into paying customers, not the ones that go nowhere.
The fix isn’t a bigger budget. It’s better data. Specifically, it’s offline conversion tracking (OCT) feeding value-based bidding (VBB) – a combination that tells ad platforms not just that someone converted, but how much that conversion was actually worth.
We rolled this out for one of our clients, a high-end travel brand running paid search and paid social across multiple markets. Here’s exactly how we built it, and what happened to their numbers.
The problem: All conversions are treated as equal, and they’re not
Like most businesses with any kind of sales journey, our client had leads at very different stages of value. Someone who fills in a contact form and someone who’s about to hand over a five-figure deposit both look identical to Google Ads unless you tell it otherwise.
Left on “maximise conversions,” the platform will happily fill the funnel with cheap, low-quality leads because a conversion is a conversion, whatever it’s worth. Cost per lead looks great. Revenue doesn’t move. It’s a classic case of optimising the metric instead of the outcome.
The client wasn’t looking to spend less. They wanted the same budget working harder – more of the right customers for the same money.

The fix: Give every action a real monetary value
This is where offline conversion tracking comes in. Instead of relying only on what happens on the website, you connect the entire customer journey – website visit, enquiry, CRM record, and eventual sale – back into the ad platforms, so bidding decisions are based on real business outcomes rather than surface-level clicks.
Here’s the mechanics, step by step:
- Every paid visitor gets tagged and tracked. When someone arrives from a paid channel, we capture the UTM parameters and the platform-specific click ID – Google’s GCLID, Meta’s Click ID, Microsoft’s Click ID. This is the thread that ties everything that happens next back to the exact ad, keyword, and campaign that drove the visit.
- That data flows into the CRM alongside the enquiry. The client has several ways for a customer to get in touch – a booking form, a general enquiry form, phone, live chat, and email. We’ve synced the click ID and campaign data straight into their CRM for the highest-value entry points first, so every enquiry arrives already tagged with exactly which ad paid for it.
- The CRM sends that value back to the ad platforms – daily. Once an enquiry progresses (or doesn’t), that outcome flows back into Google Ads, Bing Ads, or Meta Ads automatically. The platform learns which campaigns, keywords, and audiences are actually producing paying customers, not just form-fills.
- Every stage of the funnel gets its own value – and nothing gets counted twice. This is the bit that makes the whole system work, and it’s the part most businesses skip.
Not every on-site action is worth the same amount, so we don’t treat it that way. Take a simple example from this account: users can check the price of a holiday before enquiring. On its own, a price check isn’t a sale. But when we looked at the data, we found that roughly 1% of people who check a price go on to book, and the average booking is worth several thousand pounds. Multiply the two together, and a single price check has a calculable value of around £60 – so that’s the figure we feed back to the ad platforms every time it happens.
The same logic applies further down the funnel: an enquiry is worth more than a price check, a qualified enquiry is worth more again, and a confirmed booking is worth the most of all. Each stage passes on its value, minus whatever was already attributed at the stage before, so the ad platform never double-counts the same customer twice.
- Bidding shifts from volume to value. With genuinely reliable value data flowing in, the account moved from a “maximise conversions” style approach to value-based bidding on a Target ROAS (tROAS) strategy. Instead of asking the platform to chase the cheapest conversions, we’re now asking it to chase the most valuable ones – and giving it the data to actually do that well.

The results
Over a like-for-like comparison period following the rollout:
- Cost per confirmed booking fell 28.7%
- Average revenue per booking rose 8.3%
- Overall ROAS increased by 39%
That combination matters more than either number on its own. It’s easy to make cost-per-conversion look better by simply chasing cheaper, lower-quality leads – but here, the average value of each booking went up at the same time as the cost of acquiring it went down. That’s the signature of a genuinely better-optimised account, not a shifted definition of success.
And crucially, this wasn’t achieved by cutting spend. The client kept investment consistent and got materially more out of every pound, which is what let them justify increasing spend afterwards with confidence in the return.

The part everyone forgets: Seasonality
Value-based bidding gives an account excellent short-term signals, but it isn’t a substitute for understanding the underlying market. Travel is a heavily seasonal category – search demand for holidays can swing dramatically between the quietest and busiest months of the year. A system reacting purely to recent conversion data, without a year-on-year lens, can easily misread a seasonal dip as underperformance, or a seasonal spike as unlocked headroom.
We layer year-on-year comparisons and trend data over the top of platform signals so budget decisions account for the calendar, not just the last fortnight’s numbers.
“But we’re not e-commerce” – this works for B2B too
Value-based bidding gets talked about a lot in the world of B2C and ecommerce, largely because it’s easiest to explain with a straightforward purchase value. But the underlying principle – assign a value to each stage of your funnel, feed real outcomes back to the platforms, don’t double-count – maps directly onto a B2B pipeline.
A lead is worth something. A marketing-qualified lead is worth more. A sales-qualified lead is worth more again. An actual closed customer is worth the most. If you can put a number against each of those stages using your own historical conversion rates and deal values – the same logic we used for a simple price check – you can feed that into an ad platform and let value-based bidding do the same job it does for a straightforward purchase funnel: pushing budget towards the campaigns and keywords producing your best customers, not just your most enquiries.
We’ve written previously about applying this thinking across the whole pipeline, not just top-of-funnel traffic – worth a read if you want the B2B-specific version of this argument: How to track pipeline, not just traffic.
Getting started with OCT and VBB
If you’re looking at this and wondering where to start, the honest answer is: with your data, not your bid strategy. Value-based bidding is only as good as the values you feed it. Before touching a bid strategy in-platform, you need:
- Click ID capture on-site (GCLID, Meta Click ID, Microsoft Click ID) tied to your CRM or booking system
- A CRM connection that pushes outcomes back to your ad platforms, ideally daily
- A value assigned to each meaningful stage of your funnel, based on your own historical conversion data – not guesswork
- A method for avoiding double-counting any values as a lead moves through the funnel
- Context for seasonality and market trends, so you’re not reacting to noise
Get the foundations right, and value-based bidding stops being a bidding strategy and starts being what it should be: your ad platforms making the same decisions your best salesperson would.
Want to know whether your account has the data foundation to support value-based bidding? Get in touch with our team, and our Data experts will guide you.