RentalTideRentalTideDocs
Dashboard

Google Tags (GTM & GA4)

Install a Google Tag Manager container or GA4 measurement ID on your booking page and track the full booking funnel

Connect Google Tag Manager or Google Analytics 4 to your booking page to measure traffic, funnel drop-off, and booking conversions. RentalTide pushes booking events into the GTM dataLayer so you can build triggers, tags, and conversion goals in your own Google account.

Tags are configured per location, so each location can report into its own container or property.


Setting up

  1. Go to Integrations in the admin sidebar.
  2. Find Google Tags and click Manage.
  3. Choose the location you are configuring.
  4. Paste one of:
    • a GTM container ID -- GTM-XXXXXXXX
    • a GA4 measurement ID -- G-XXXXXXXXXX
  5. Click Save.

The tag loads on that location's booking page and booking widget within a few minutes. Configuration is cached for up to 5 minutes, so allow that long before testing.

Which one should I use?

Either works. Both receive booking, checkout, and purchase events.

GTM container (GTM-)GA4 measurement ID (G-)
Pageviews in GA4Yes, via a GA4 tag in the containerYes, automatically
view_item / begin_checkout / purchaseYes, as dataLayer eventsYes, sent straight to your property
Setup workBuild triggers and tags yourselfNone
Meta / Google Ads / other vendors' tagsYesNo
Control over what fires and whenFullNone

Pick a GA4 measurement ID if you only want GA4 reporting -- events arrive with no container setup at all.

Pick a GTM container if you run other tags (Google Ads, Meta, LinkedIn, call tracking) or want control over triggers and consent.

Do not enter both for one location. A location holds one tag.


Verifying it works

  1. Open your booking page in a browser.
  2. Open GTM Preview / Debug mode, or the Tag Assistant extension.
  3. Confirm the container connects and booking_page_loaded appears in the event list.
  4. Click into a rental and confirm view_item fires.

If nothing appears: confirm the tag ID is saved against the location you are actually browsing, wait 5 minutes for the cache, and check that no ad blocker is stripping the container.


Ecommerce events

These follow the GA4 recommended ecommerce schema, so a standard GA4 tag in GTM picks them up with no custom mapping.

EventFires whenData
view_itemA customer opens a rental's detail pageitems[] with item_id, item_name
begin_checkoutA customer reaches the checkout pagevalue, currency, items[]
purchaseA booking is created and paidtransaction_id (the booking's rental ID), value, currency, items[] with price and quantity

purchase fires for customer-made web bookings only. Bookings your staff create in the admin or POS are not web conversions and do not fire it.

A cart booking sends one purchase per order with every rental in items[] and the full order total as value, so basket size and revenue both report correctly.

Setting up a conversion goal

GA4 measurement ID: nothing to do. purchase arrives as a GA4 event. Mark it as a key event under Admin -> Events to get conversion reporting and Google Ads bidding.

GTM container:

  1. Create a GA4 Event tag.
  2. Event name: purchase.
  3. Trigger: Custom Event, event name purchase.
  4. Check Send Ecommerce data, source Data Layer.
  5. Publish the container, then mark purchase as a key event in GA4.

The same pattern works for begin_checkout and view_item.


Booking funnel events

RentalTide also sends its own named events. They are not GA4 standard names: on a GA4 measurement ID they arrive as custom events you can report on directly; in a GTM container you need a Custom Event trigger for each one you want to use.

EventFires whenUseful fields
booking_page_loadedThe booking page finishes loading the tagcustomer_id, location_id, ref_affiliate
boats_data_loadedThe rental catalog loadsboats_count, filtered_by_date, selected_date
boats_data_errorThe catalog fails to loaderror_message
direct_boat_viewSomeone lands on a direct link to one rentalinventory_id
booking_context_updateLocation, branding, or integration state resolveslocation_id, ref_affiliate
custom_code_loadedYour custom header/footer code is activehas_header_code, has_footer_code

Every dataLayer push also carries a timestamp in milliseconds.

Why page_view matters

The booking flow is a single-page app: catalog, rental details, checkout, and confirmation all happen without a full page reload. Left alone, Google records one pageview for the entire visit, so no report can show where customers drop off. The page_view event covers each step after the first. In a GTM container, either use it as a Custom Event trigger for your GA4 tag, or enable History Change triggering -- not both, or steps count twice.

booking_context_update fires whenever page state changes, so it can fire several times per visit. Do not use it as a funnel step or a conversion trigger.

Attributing affiliate and referral traffic

ref_affiliate carries the ?ref= value from the booking page URL, so you can segment affiliate traffic in GA4 by registering it as a custom dimension in your GA4 tag.


Other pixels

Google Tags are independent of the other tracking integrations. Set these up separately under Integrations:

IntegrationEvents sent
Meta Conversion APIPageView on load, Purchase on booking
TikTok PixelPage view on load, CompletePayment on booking
Custom CodeAnything you inject into the booking page's header or footer

You can also fire Meta and TikTok events from inside GTM if you prefer to manage them there -- but do not install the same pixel in both places, or every event is counted twice.


Notes and limits

  • One tag per location. A location with no tag of its own falls back to an account-level tag if one was configured before per-location tags existed.
  • Tag IDs are validated on save. GTM- IDs are 6--10 characters after the prefix; G- IDs are 6--12.
  • Changes take up to 5 minutes to appear on the live booking page.
  • If you embed the booking widget on your own website and that site already loads the same GTM container, RentalTide detects it and will not load it a second time -- your existing container receives the booking events directly.
  • Refunds and cancellations are not yet reported to Google, so GA4 revenue reflects bookings made, not net of refunds.
  • Removing a tag stops it loading on the next page load; it does not delete data already in your Google account.
Was this page helpful?
Need help? Contact Support.See what’s new. Check out changelog.Questions? Book a video chat.
Ask AI
Responses are generated using AI and may contain mistakes.
Ask questions about RentalTide and get help with your integration.