Before you start
What you need to prepare depends on where your guest books, because that decides who loads the measurement tags. If the widget is embedded in your own site, the tags live on your page and Restoo Connect only forwards to the ones already there: it installs none, not inside the iframe either. Each destination needs its own tag installed and loaded before Restoo.js; otherwise the first events are lost. And you collect the consent: you pass it in withsetConsent() or by declaring your consent platform.
If your guests book on the page Restoo hosts for you, there is nothing to prepare on your site: Restoo loads the tags configured in your account — GA4, Google Ads, Meta Pixel, TikTok Pixel, and OpenAI Pixel — and collects consent with its own cookie notice. The exception is Google Tag Manager, which never loads on the pages Restoo hosts.
Each destination states what it needs in its own section. If its library is unavailable, Restoo Connect logs a warning and skips that operation; the other destinations keep working.
Already managing your tags through Google Tag Manager? Then you don’t need
the direct destinations: enable
gtm in your
account and the tags in your
container forward every event as they already did. It only works with the
widget on your own site, which is where your container lives. And if you need
more than this model gives you, skip Restoo Connect and build your integration
from Restoo Widget Events.customer_identified, and the one exception, gtm.
Turn a destination off for one installation
The only thing a page can declare is turning a destination off here, because it is the one thing your account can’t know: whether a given platform’s library is actually installed on this particular page.object
Destinations to switch off for this installation.
false is the only accepted value: anything
else, including an unknown destination name, is ignored and logged as a warning in the console.
Everything else about a destination comes from your account.Worth doing on a page that doesn’t have a destination’s library installed: left enabled, every
event it should send is skipped with a warning.Destinations
What each destination sends and what it needs to receive it. IDs and conversion labels are stored in your account. What appears as “On your page” is your job if you embed it in your site; hosted on Restoo, Restoo puts it there.Google Analytics 4
Thega4 destination. Sends events directly through gtag("event", …). See the Google Analytics 4 event reference for event mappings and data models.
On your page: load gtag.js and configure your GA4 property with gtag("config", "G-…").
In your account: save the measurement ID and declare what you use that property for. That answer decides what consent ga4 requires; until you give it, Restoo applies the strict case.
Google Ads
ThegoogleAds destination. Sends conversions directly through gtag. Hashed email and phone data are attached through Google Enhanced Conversions when available. See Google Ads conversions for conversion mappings and setup.
On your page: load gtag.js and configure your Google Ads account with gtag("config", "AW-…").
In your account: save the conversion ID and one label per action. Only the actions that have a label fire a conversion, and what fires each one is in the reference.
Each booking fires only one booking conversion — booking_lead or booking_confirmed, according to the status it is created with — so it is never counted twice. Neither sends value or currency.
Meta Pixel
ThemetaPixel destination. Sends supported lead-acquisition events through fbq("trackSingle", pixelId, …) and manages Advanced Matching through fbq("init", pixelId, userData). See the Meta Pixel reference for event mappings and parameters.
On your page: install the Meta Pixel so fbq is available.
In your account: save the pixel ID. It is what associates the guest’s hashed email and phone with that pixel, so it decides who receives personal data — which is why a page cannot point this destination somewhere else.
TikTok Pixel
ThetiktokPixel destination. Sends supported lead-acquisition events through ttq.instance(pixelId).track(…) and updates customer matching data through ttq.instance(pixelId).identify(…). See the TikTok Pixel reference for event mappings and parameters.
On your page: install the TikTok Pixel so ttq is available.
In your account: save the pixel ID, which is required to enable this destination. Restoo Connect uses the ttq already initialized on your page and scopes every call to that pixel, so the other pixels on the page receive nothing.
OpenAI Pixel
TheopenaiPixel destination, the ChatGPT Ads pixel. Sends supported lead-acquisition events through oaiq("measureSingle", pixelId, …) and sets customer matching data through oaiq("init", { pixelId, user }). See the OpenAI Pixel reference for event mappings and data.
On your page: install the OpenAI Pixel so oaiq is available. That SDK starts with its own consent granted, so your cookie notice has to call oaiq("consent", false) before init and oaiq("consent", true) when the visitor accepts, as its documentation describes. That switch governs everything your page sends to that pixel and Restoo Connect leaves it alone: it applies its own, destination by destination.
In your account: save the pixel ID, which is required to enable this destination. Restoo Connect uses the oaiq already initialized on your page and scopes every call to that pixel, so the other pixels on the page receive nothing.
Google Tag Manager
Thegtm destination. Pushes the GA4-compatible event mapping to window.dataLayer. See the Google Tag Manager reference for event mappings and data locations.
On your page: install your GTM container so window.dataLayer is available.
In your account: save your GTM container ID. GTM stays yours: Restoo never loads it.
Your tags apply their own consent, because window.dataLayer is a router, not a destination: what gtm requires and what it doesn’t.
Check that events fire
Before calling the installation done, make a test booking with each platform’s Chrome extension and watch which events show up. The extensions, the symptom table and what the console tells you are all in Troubleshooting.Next steps
Event mapping
The full event mappings, their parameters, and the Google Ads setup.
Bidding and optimization
Choose which events your campaigns optimize toward on each platform.