Drop your GTM container ID into RoverPass and every tag in your container fires on every booking-engine page. Marketers add pixels, conversion tags, and analytics in GTM — without ever touching RoverPass.
Google Tag Manager is the standard way to manage tracking pixels and analytics tags on websites you don't own the codebase of. RoverPass loads your GTM container on the booking engine, which means every tag you've configured in GTM — Meta Pixel, TikTok Pixel, Google Ads conversion, Pinterest Tag, custom analytics — runs the moment a guest hits your booking page.
You manage the tags in your GTM workspace; RoverPass just hosts the container.
Most parks juggle 3-5 marketing pixels. Without GTM, each one needs to be hard-coded into the booking engine. With GTM, you drop them in (and swap them out) yourself:
purchase event to every ad platform when a guest completes a reservation, so each agency's bid optimization gets the signal.GTM-XXXXXXX) is configured on your property in RoverPass.purchase event to the dataLayer on the checkout confirmation page, after payment succeeds. It fires once per completed booking and is de-duplicated, so a page refresh won't double-count.Important for your GTM setup: the ecommerce fields are pushed flat on the event object, not nested under an ecommerce object. The push looks like:
dataLayer.push({
event: 'purchase',
transaction_id: '<purchase id>',
value: <booking total>,
currency: 'USD',
tax: <tax>,
shipping: 0,
affiliation: '<campground name>',
items: [{ item_name, item_id, price, quantity: 1 }, ...]
})Your GA4 purchase tag (or any ad-platform conversion tag) should read these top-level dataLayer variables — or remap them into an ecommerce object if your tag template expects one.
| Parameter | What it contains |
|---|---|
transaction_id |
The RoverPass reservation/purchase ID |
value |
Booking total (for group bookings, the group total) |
currency |
ISO currency code (e.g. USD) |
tax |
Purchase tax amount |
affiliation |
Campground name |
items |
One item per reservation (group bookings include all grouped reservations) |
Each of these six parameters is individually toggleable per property, so which ones come through depends on how your property is configured. There is no coupon field today.
GTM-XXXXXXX)GTM-XXXXXXX).Note: the GTM snippet only renders on the production booking engine — you won't see it on any staging or preview URL.
Q: Do view_item or add_to_cart events fire too?
No. Today RoverPass pushes only the purchase event, on the checkout confirmation page. Funnel-step events aren't emitted yet.
Q: What about phone or manually-entered reservations?
Only web bookings emit the purchase event. Reservations entered manually in the RoverPass backend (e.g. phone bookings) don't fire any dataLayer or server-side conversion event, and there isn't a supported way to capture those on the analytics side today.
Q: Can I fire pixels for OTA bookings (Hipcamp, Spot2Nite, Marketplace)? No. Those bookings complete on the partner's domain — your GTM container never loads. Pixels only fire for bookings that flow through your own RoverPass checkout.
Q: What about server-side GTM?
Server-side GTM isn't supported today — only client-side containers (GTM-XXXXXXX).
Q: How do I get started? The integration is part of the Integrations bundle ($29/month). Submit a ticket if you need help locating your container ID or validating tags.