# Google Analytics and Meta Pixel on your booking page

> Count visits and online bookings with Google Analytics 4 or the Meta Pixel, and measure your ads, without sharing your clients' details.

Source: https://docs.fullcolumn.com/online-booking/analytics

You can add your own Google Analytics 4 and Meta (Facebook and Instagram) Pixel to your booking page, to see how many people visit, how many book, and which of your ads bring them in. Both are optional, and they only ever see services and prices, never who your clients are.

## Adding Google Analytics 4 to your booking page

1. In Google Analytics, find your measurement ID: **Admin → Data streams →** your website. It starts with **G-**.
2. In FullColumn, open **Settings → Online booking** and find **Analytics**.
3. Paste it into **Google Analytics 4 measurement ID**.
4. Press **Save changes**.

Only a Google Analytics 4 measurement ID works here. An old Universal Analytics ID (UA-…) or a Google Tag Manager ID (GTM-…) is refused, with a message saying so.

## Adding the Meta Pixel to your booking page

1. In Meta Events Manager, find your Pixel ID under **Data sources**. It's a long number, usually 15 or 16 digits.
2. In FullColumn, open **Settings → Online booking** and find **Analytics**.
3. Paste it into **Meta Pixel ID**.
4. Press **Save changes**.

> [!WARNING]
> In Meta Events Manager, turn off **Automatic advanced matching** for your Pixel, so it doesn't collect what clients type into your booking page.

You can use Google Analytics and the Meta Pixel together, or just one. To stop either, clear its box and save.

## Which pages Google Analytics and the Meta Pixel run on

Your analytics only run on two pages:

- **Your booking page**, from choosing services right through to the "You're booked in" screen.
- **Your gift voucher shop**, up to going off to pay.

They never run on the private pages your clients get by text and email: their booking link, consultation forms, deposit and payment pages, their gift voucher, the client area or unsubscribing. Those pages never pass their address on, so when a client goes from their booking link to your booking page (with **Book again**, say), your analytics can't see the link they came from.

## What your booking page tells Google Analytics and the Meta Pixel

As a client books, your booking page sends these events:

| When the client…                                                                                | Google Analytics 4          | Meta Pixel                    |
| ----------------------------------------------------------------------------------------------- | --------------------------- | ----------------------------- |
| Opens the page                                                                                  | page view                   | PageView                      |
| Chooses their services and presses **Continue** (or opens a link with a service already chosen) | add_to_cart                 | AddToCart                     |
| Picks a time                                                                                    | begin_checkout              | InitiateCheckout              |
| Sends a booking request you'll approve                                                          | generate_lead               | Lead                          |
| Is booked in                                                                                    | purchase                    | Schedule                      |
| Goes to pay for a gift voucher                                                                  | begin_checkout and purchase | InitiateCheckout and Purchase |

Each event carries the services chosen (each with its name and price), the total value and your currency. Prices include tax, as your booking page shows them, and a booked total is after any promo code. A booking's purchase has a transaction ID of "booking-" and its number, and a gift voucher order's "voucher-" and its order number, so each is only counted once.

When a booking needs a deposit, full payment or a saved card, its purchase (or a booking request's lead) is sent as the client goes off to pay with Stripe, because the page they come back to is private. A gift voucher's purchase is sent the same way. A client who then doesn't pay is still counted, though their held time is let go and an unpaid voucher is never made.

A booking request counts as a lead, not a purchase, because you may still decline it ([approving online bookings first](https://docs.fullcolumn.com/online-booking/booking-requests)).

## Measuring your ads and campaigns on your booking page

The page address your analytics receive keeps the usual campaign tags, so you can see which ad or post a booking came from:

- utm_source, utm_medium, utm_campaign, utm_term, utm_content and utm_id
- Google's gclid, gbraid, wbraid and dclid, Meta's fbclid and Microsoft's msclkid

Anything else in the address is left off, such as a promo code in a booking link. Add your campaign tags to your booking page address (or a [link to one service](https://docs.fullcolumn.com/online-booking/booking-page#linking-straight-to-a-service-or-bundle)) in your ads and posts.

## Keeping your clients' details private

- Analytics only ever receive services, prices and your currency. Names, phone numbers, emails and booking links are never sent.
- The Meta Pixel's automatic collection of buttons and page details is switched off by FullColumn. Turning off **Automatic advanced matching** in Events Manager keeps it from reading what clients type.
- Pages with a private link in them never load your analytics, and never tell other sites which page someone came from.

## Who can add analytics

Analytics are part of **Settings → Online booking**, which needs the permission **Change salon settings (hours, online booking, messages, branding)**. Owners have every permission, and managers have this one unless you've changed it.

## Common questions

### Are online bookings with a deposit counted as purchases?

Yes. When a booking needs a deposit, full payment or a saved card, the purchase (or the lead, for a booking request) is sent as the client goes off to pay with Stripe, since the page they come back to is private. A client who leaves Stripe's page without paying is still counted, but their held time is let go, so your analytics can show a few more bookings than your [reports](https://docs.fullcolumn.com/reports/overview). Gift vouchers are counted the same way: an unpaid voucher is never made.

### Can I use Google Tag Manager?

No. Your booking page takes a Google Analytics 4 measurement ID (G-…) and a Meta Pixel ID, and nothing else.

### Will analytics slow down my booking page?

Only the scripts for the IDs you've added load, and only on your booking page and gift voucher shop. Without an ID, nothing extra loads.

### Do reminders and booking links count as visits?

No. Clients' booking links, forms and the client area are private and never run your analytics. If a client goes on from one of them to your booking page, your analytics never see the private link they came from.
