Websites & CMS
Embed Microsoft Bookings in Google Sites
Google Sites is quick to publish and strict about code. Anything you embed runs in a separate frame on a Google domain, so a BookingsXP widget works there but the Google Analytics on your site never sees the booking. This page shows three ways to add your Microsoft Bookings calendar and what each one can track.
- Integration
- Google Sites
- Plan: Free
- Works on every plan, including Free ($0, no card).
- In short
- Insert → Embed for the widget or its plain iframe, and a button to your hosted booking page when you need the booking in GA4.
- Microsoft Bookings
- Stays your system of record. Bookings land in Outlook and Teams and Microsoft sends the invites and reminders.
- Trademarks
- Google Sites is a trademark of Google LLC. BookingsXP is independent and not affiliated with or endorsed by Google.
What happens with Google Sites
- Insert → Embed → Embed code puts your HTML in an iframe served from a Google user-content domain, not in your page. Code in it that asks for the page address gets the frame's address.
- The loader and widget run inside that frame and bookings reach Microsoft Bookings normally. Their dataLayer and gtag calls stay in the frame, and UTM parameters on your Google Sites URL are not captured.
- As of October 2026 Google Sites has no site-wide custom code. Its only analytics option, Settings → Analytics, takes a GA4 measurement ID and adds Google's tag to your pages; that tag cannot see events from inside an embed.
- The hosted booking page at bookingsxp.com/book/<your-name> loads the GA4 and ad tags configured on the widget itself, so it is the option that tracks.
Set up Google Sites
Step 1: Inline: embed the code
Edit the page and choose Insert → Embed → Embed code. Paste the snippet, click Next, then Insert. Drag the embed's border to about 900 px tall; the box keeps that size and does not grow with the widget.
HTML <script src="https://bookingsxp.com/embed/v1.js" async></script> <bookingsxp-widget widget="w_8fk2m1qz"></bookingsxp-widget>Step 2: Or: embed the widget page by URL
Insert → Embed → By URL, and enter https://bookingsxp.com/embed/<widget id> for a saved widget (pick the whole page if Sites offers a choice). There is no script, so no page events, but the booking works and the BXP reference is written to the notes.
Step 3: Tracked: a button to the hosted page
Insert → Button and link it to bookingsxp.com/book/<your-name>, with UTM tags if you want the source in your reports. In BookingsXP, add the same GA4 measurement ID you entered in the site's Settings → Analytics to the widget's tracking settings. The hosted page then sends generate_lead to that property when someone books.
Step 4: Publish and test
Publish, open the live site in a private window and make a test booking. Check it lands in Bookings and Outlook, then cancel it. For the hosted page, watch GA4 Realtime or DebugView while you book.
Outcomes and caveats
What you get
- A Microsoft Bookings calendar on a Google Site in your accent colour, rather than Microsoft's full page squeezed into a box.
- Bookings in Outlook and Teams as usual, with a BXP reference in the notes.
- GA4 and ad conversions, with the campaign in each booking, through the hosted booking page.
Limits and caveats
- Events from an embedded widget stay inside Google's frame. The GA4 tag from Settings → Analytics does not receive them, and landing-page UTMs are not captured.
- The embed box has a fixed size. Make it tall enough for the longest step and check it on a phone.
- Popup and floating modes open inside the embed box, not over the page, and there is no site-wide code for a button on every page. Use inline embeds or the hosted page link, page by page.
- If you restrict the widget under Allowed websites, the code embed is refused, because its parent frame is on a Google domain rather than yours. Leave the list empty for a widget used on Google Sites.
- A redirect-url may open your thank-you page inside the embed box instead of the whole tab. Test it before relying on it.
Google Sites questions
Start free, no card
One widget, four templates, GTM and GA4 events and attribution in every booking. No card, no time limit.
No Microsoft sign-in or admin consent. Free plan, no card.