Track thank-you pages on other domains
What you'll build: conversions confirmed on a page you don't control, a vendor's booking confirmation, a marketplace's order page, recorded in Usermaven server-side. Time: 10–20 minutes depending on the route. You'll need: either webhook support in the vendor's tool, a Zapier account, or a developer.
When the "thank you" moment happens on your own site, the Usermaven pixel handles it. This guide is for when it doesn't: the confirmation page belongs to a vendor, a marketplace, or a booking system where you can't run your pixel. The answer is to stop chasing the page and track the event instead, server-side, from the system that knows the conversion happened.
Pick your route
In order of preference:
The vendor has webhooks → point them at a Usermaven webhook source. Most booking, checkout, and form vendors can notify a URL when a conversion completes. Follow Connect a custom webhook, using the vendor's completion event.
The vendor is on Zapier → let Zapier bridge it. Follow Send events to Usermaven with Zapier with the vendor's "new order" / "booking confirmed" trigger.
You have a backend that learns about the conversion → send it yourself (below).
Whichever route you take, one rule holds: the request must come from a server or trusted service, never from JavaScript on a public page. The webhook URL is a credential; putting it in page source hands it to anyone who views the page.
What to send
Whatever the route, map the same essentials:
A stable order or submission ID as External ID, retries and re-sends then count once.
Identity, the customer's email, or better, your own user ID.
Event time and revenue with currency, if the conversion has a value.
A fixed event name describing the outcome (
booking_confirmed,order_completed).A filter on the vendor's completion status, so pending or abandoned records never count.
If you control a backend callback
Some vendors call your server when a conversion completes (a redirect handler, an order-notification endpoint). From there:
Create a Webhook source in Usermaven and store its URL in your server's secret store, treat it like an API key.
On each confirmed completion, POST JSON to the URL:
{
"event_name": "order_completed",
"email": "buyer@example.com",
"external_id": "order_4521",
"amount": 249.00,
"currency": "USD",
"occurred_at": "2026-07-01T12:30:00Z"
}
If you get a
429or503, retry later with backoff, and reuse the same External ID on every retry so the conversion counts once.If a record comes back
accepted: falsewith a reason, treat it as a data or mapping problem to fix, not a cue to retry with a new ID.
Verify and avoid the classic double count
Send one sandbox or test conversion, confirm an Accepted delivery in the source's Event log, and find the event in Events activity.
Then do one check that saves real pain later: make sure the same conversion isn't also being tracked by an on-site pixel event. If your site fires a "purchase" when the visitor bounces back from the vendor, and the vendor's webhook reports the same purchase, you're counting it twice, deduplication protects you within a source, not across different sources. Pick one source of truth per conversion and retire the other.
Related guides
Was this article helpful?