Own funnel — Tracking
Server-side tracking recovered the conversions the pixel never saw
A lead-generation funnel was optimising against browser-pixel data only. Comparing the
platform's recorded conversions against the booking system's own records showed the
pixel was reporting a fraction of real conversions, so the algorithm was learning from
an incomplete picture.
We implemented a server-side Conversions API endpoint triggered by the booking
provider's webhook, with event deduplication against the browser event so nothing was
double-counted.
44%
Conversions previously unreported
Server-side
Ad-blocker resistant
Own brand — Storefront
A cart drawer that was quietly costing orders
On a live direct-to-consumer store, items added to the cart could not be removed from
the cart drawer, and out-of-stock variants were still being tracked as purchasable.
Both faults are invisible in ad-platform reporting: the traffic looks fine, the
conversion rate just sits lower than it should.
We rebuilt the drawer's quantity and removal logic, added protection against
out-of-stock variants entering the cart, and corrected the tracking events that
were firing on unavailable products.
Live
Shipped to production
2 faults
Invisible to ad reporting
Own funnel — Acquisition
Kill thresholds calculated from the offer, not from a benchmark
A high-ticket funnel was killing new creatives at a spend threshold borrowed from
low-ticket physical product campaigns. Against an offer worth many multiples more per
conversion, that threshold was killing creatives before they had produced enough data
to read.
We recalculated the break-even and target thresholds from the funnel's own measured
close rate and average value per booking, then rewrote the kill criteria against those
numbers. Creatives now run to a threshold that reflects what a conversion is actually
worth.
3×
Correction to kill threshold
Per offer
Thresholds recalculated monthly