CASE · SERVER-SIDE TRACKING
When customers book on the website but only pay once the job is done, the trail is often lost. On Stape's infrastructure, we built a webhook-based server-side setup for the Danish marketplaces Handyhand and HappyHelper that delivered 50% more tracked events and, for the first time, a reliable view of ROAS.

Two marketplaces – one measurement problem
Handyhand connects people with local helpers for everyday tasks, and HappyHelper arranges recurring cleaning in private homes – thousands of visits every month. Both businesses depend on paid advertising, and both face the same challenge: the customer clicks an ad and books on the website, but the actual value is created later. The task gets completed and the payment is processed by the service provider – often days later and on a completely different device.
With traditional browser-based tracking, ad platforms therefore only see the first half of the customer journey. Real revenue and completed tasks are never connected back to the campaign that generated them.
Safari makes the problem bigger
According to the case, Safari accounted for around 25.5% of users – and in some periods up to 48% of traffic and more than 50% of sales. Safari's Intelligent Tracking Prevention can delete cookies after just 24 hours. For a business where days pass between booking and payment, this means the link between click and conversion disappears for one of the most valuable user groups.
The solution: Webhooks and server-side GTM on Stape
We built a cookieless server-side setup in Google Tag Manager, hosted on Stape's infrastructure. The core components were:
- A dedicated server-side GTM container that combines data from multiple sources: website, apps, CRM and offline events.
- Webhooks via Stape's Data Client, so the backend systems send a POST request when a task is completed or a payment goes through – regardless of which device the service provider uses.
- Stape Store to hold encrypted user IDs, so the later event can be matched to the original booking and thereby to the ad click.
- Stape User ID as a stable identifier that does not rely on short-lived browser cookies.
- Consent first: only first-party data from users who have given consent is passed on – in line with GDPR.
Results
- 50% more tracked events compared with the setup without webhooks.
- End-to-end attribution from ad click to completed and paid task.
- Real ROAS for the first time – based on actual revenue rather than bookings.
- Better optimisation, as ad platform algorithms now receive signals about the conversions that actually create value.
- Resilience to Safari and other browser restrictions.
- Measurement of events that were previously impossible to track.
What can others learn from this?
The case is relevant for any business where the conversion does not happen in the browser: marketplaces, subscriptions, lead generation with sales via phone or CRM, and services where payment follows delivery. If your most important events happen in the backend, your measurement should start there too. Webhooks and server-side tracking make it possible to send the right signals to Meta, Google and other platforms – without compromising on consent or data security.
Obsidian is a top partner of Stape, and the case is also featured on Stape's blog. Want to know what a similar setup could look like for your business? Read more about server-side tracking at Obsidian, or get in touch with our tracking team.


