Set up conversion tracking (Meta Pixel & Google Tag Manager)
Conversion tracking connects your Rex booking page to your marketing and analytics tools. As guests move through the booking flow, Rex can fire events β page views, package views, add-to-cart actions, and completed bookings β to the platforms you advertise and report on. That lets you measure which ads and campaigns actually drive reservations, optimize them, and build retargeting audiences.
Rex has two destinations, and you can run both at once: Meta Pixel and Google Tag Manager. This guide walks through each.
Using Google Analytics? Connect Google Tag Manager. Rex pushes its booking events into your GTM container, and you forward them from there to Google Analytics 4, Google Ads, or any other tag you manage. There is no separate Google Analytics integration to turn on in Rex.
Where to set this up
All tracking is configured in one account-wide place β the settings apply across every venue and booking page on your account, so you only set them up once.
On the Global Integrations page, find the integration you want (for example Meta Pixel), open it, fill in its fields, and save. Each integration is independent β connect only the ones you use.
What you can connect
| Field | Description |
|---|---|
| Meta Pixel | Track conversions, page views, and funnel events to Meta (Facebook & Instagram) Ads. You'll need your Meta Pixel ID. |
| Google Tag Manager | Push booking events into your GTM container, then forward them from there to Google Analytics 4, Google Ads, or any other tag. You'll need your GTM container ID. |
If you're not sure which to pick: Meta Pixel for Facebook and Instagram ads, and Google Tag Manager for everything on the Google side β Google Analytics, Google Ads, or any other tag you'd rather manage in one container.
Connect Meta Pixel
Open the Meta Pixel integration
On the Global Integrations page, open Meta Pixel.
Enter your Pixel ID
Paste your Meta Pixel ID into the Pixel ID field. It's the 15β16 digit number from your Meta Events Manager.
Choose your tracking events
Under Tracking Events, select the events you want sent to Meta, then save. Each one maps to a standard Meta event (for example Reservation Confirmed sends a Purchase). See the event list below for what each one means.
On a completed booking, Rex also passes the guest's email and phone for Meta's advanced matching when they're available, which improves attribution.
Connect Google Tag Manager
Open the Google Tag Manager integration
On the Global Integrations page, open Google Tag Manager.
Enter your Container ID
Paste your GTM container ID into the Container ID field β it looks like GTM-XXXXXXX.
Choose your connected events
Under Connected Tracking Integrations, select the events you want pushed to your container's data layer, then save. From GTM you can forward those events on to Google Analytics 4, Google Ads, or any other tag you manage.
Choose which events to track
Each integration lets you pick exactly which moments in the booking flow to track. Turn on only what you need β at minimum, most venues track Reservation Confirmed (your purchase/conversion event). Here's what each event means and when it fires:
| Field | Description |
|---|---|
| Page Visited | Any page in the booking flow loads. |
| Venue Page Visited | A guest opens one of your venue booking pages. |
| Package Card Expanded | A guest opens a package to view its details. |
| Time On Package Selected | A guest picks a time slot for a package. |
| Add Ons Page Visited | The add-ons step opens. |
| Add On Selected | A guest adds an add-on to their booking β a cart event. |
| Activities Page Visited | The activities step opens. |
| Activity Selected | A guest adds an activity to their booking β a cart event. |
| Checkout Started | The guest reaches the checkout step (when they're signing). |
| Reservation Details Page Visited | The reservation-details step opens. |
| Payment Page Visited | The guest reaches the payment step. |
| Cart Abandoned | A guest reached the payment page but left without booking. |
| Reservation Confirmed | A booking is completed. This is your purchase/conversion event. |
| Membership Confirmed | A guest completes a membership signup. |
| Feedback Confirmed | A guest submits the post-visit feedback survey. |
What's included with a completed booking
The Reservation Confirmed event is the important one for measuring return on ad spend. When a booking completes, Rex sends the order value, the currency, a transaction ID, the package name, the number of guests, and any discount codes used β so your platform can attribute revenue to the right campaign.
In the Google Tag Manager data layer, the revenue fields follow Google's standard GA4 ecommerce shape, which means they are nested inside an ecommerce object:
| Field | Description |
|---|---|
| ecommerce.value | The order value, as a plain number (for example 120). |
| ecommerce.currency | The venue's currency (for example USD). |
| ecommerce.transaction_id | A stable identifier for the booking. |
| ecommerce.items | The booked package as a single line item. |
| reservation_number, package_name, guests, discounts | These stay at the top level of the event, not inside ecommerce. |
When you build Data Layer Variables in GTM, point the revenue ones at ecommerce.value, ecommerce.currency and ecommerce.transaction_id. A variable pointing at a bare value will read an empty location and your revenue will come through blank even though the booking count works.
You're responsible for disclosing tracking and collecting any consent your guests are entitled to under your local privacy laws. Reflect whatever you enable here in your own privacy policy.
Troubleshooting
No events are showing up in my ad or analytics platform
Possible causes
- β’The integration isn't connected, or no events were selected.
Fix
Open the integration on the Global Integrations page, confirm the ID is entered, and make sure the events you expect are checked.
Events fire but the ID looks rejected
Possible causes
- β’The ID is in the wrong format.
Fix
Check the format: a Meta Pixel is a 15β16 digit number and a GTM container is GTM-XXXXXXX.
Purchases come through with no revenue value
Possible causes
- β’Reservation Confirmed isn't selected.
- β’Your GTM Data Layer Variables point at value instead of ecommerce.value.
Fix
Make sure Reservation Confirmed is turned on, then repoint your GTM variables at ecommerce.value, ecommerce.currency and ecommerce.transaction_id. Use GTM Preview to confirm the value is populated before publishing.
I want my Rex bookings in Google Analytics 4
Possible causes
- β’There's no separate Google Analytics integration in Rex to enable.
Fix
Connect Google Tag Manager, turn on Reservation Confirmed, then create a GA4 purchase tag in your GTM container that fires on that event.
Updated Aug 5, 2026
Was this helpful?