Analytics & Tracking
Google Analytics for Hair Salons: Four Events and 15 Minutes a Week
Part of the guide: Hair Salon & Barbershop Marketing
You do not need a dashboard full of charts. A salon needs four numbers: how many people tapped your booking button, how many tapped your phone number, how many finished a booking, and where those people came from. Set that up once, spend 15 minutes a week reading it, and you can tell which marketing is filling chairs and which is just making noise. This guide shows how to do it in Google Analytics 4 (GA4) without a developer, including the catch that trips up most salons: the booking page often lives on someone else's website.
It is for salon owners in the US, UK, Australia and Canada. Every GA4 fact below comes from Google's own support pages, linked in the text. The cost and payback figures are my assumptions, labelled as such.
What GA4 Can and Cannot Tell a Salon
GA4 records activity as events. Google's help page groups them into four kinds: automatically collected events, enhanced measurement events, recommended events (predefined names you implement yourself) and custom events that you define. The same page notes that custom events do not show up in most standard reports, so you need custom reports or explorations to analyse them (Google Analytics Help: About events). That is why we mark the important ones as key events, covered below.
Enhanced measurement, when switched on, collects page views, scrolls, outbound clicks, site search, video engagement, file downloads and form interactions without extra code. Page views cannot be turned off. An outbound click is a click on a link that leads away from your domain, except for domains you have listed for cross-domain measurement (Google Analytics Help: Enhanced measurement). That exception matters for salons, as you will see.
What GA4 cannot do is see inside your booking app, or count a client who books through a marketplace app. The booking platform Fresha, for example, says its Google Analytics add-on cannot track bookings made in its iOS and Android marketplace apps, and that data is shared only when clients consent to cookies, so reported conversions may be lower than real online bookings (Fresha Help Center). Other platforms differ, so check yours. Treat GA4 as a good sample of your website's behaviour, not a ledger.
The Four Events a Salon Should Track
| Event | What it tells you | How to capture it |
|---|---|---|
| Booking-button tap | Interest in booking | A custom event on the button, or on the link to your booking page |
| Phone-number tap | Calls from mobile visitors | A custom event on tel: links |
| Booking completed | Real bookings | A thank-you page, or the booking platform's own GA4 event |
| Enquiry form submitted | Consultations, colour quotes, bridal | The enhanced measurement form event, or a thank-you page |
Google's page on key events defines one as "an event that measures an action that's particularly important to the success of your business", and says any event you collect can become a key event. Key events appear in reports such as Landing pages and User acquisition, and you can create a Google Ads conversion from a key event, which Google says reduces the risk of data discrepancies between Google Ads and Analytics (Google Analytics Help: Key events). If you run Google Ads for your salon, that link matters; our hair salon Google Ads guide covers the conversion side.
Google's enhanced measurement page does not say whether clicks on
tel: or email links are collected automatically, so do not assume they are. The easiest way to be sure is to create the tap events with Google Tag Manager, which our Tag Manager guide for local websites walks through, and then test them. For calls that do not come through your website, see call tracking for local business.The Booking-Page Problem
Many salons send visitors from their own website to Fresha, Vagaro, Booksy, Square or a similar app. Google's cross-domain page explains what goes wrong: without cross-domain measurement each domain sets its own cookies, so one person moving between domains can look like two users and two sessions, and traffic can be misattributed as self-referrals (Google Analytics Help: Cross-domain measurement). You can add the booking domain in your web data stream under Configure tag settings, then Configure your domains. But two cautions apply:
- It only helps if the booking platform also runs your Google tag. Fresha's help page says you paste your GA4 measurement ID into its add-on and add fresha.com as a recognised domain, but it also says cross-domain tracking is not supported there. Check what your own platform says.
- Listed domains stop producing outbound click events. Google's pages say links to domains set up for cross-domain measurement do not trigger the enhanced measurement outbound click. So if your booking link goes to a listed domain, your own booking-button tap event becomes the number to trust.
The simple, reliable fallback is to measure what you control. Count taps on your booking button on your own site, and match them against the bookings your booking software reports for the same weeks. The gap between the two is your drop-off in the booking app, which is worth knowing even if GA4 cannot see it. Our salon booking app comparison looks at what each charges.
Tag the Links You Control
GA4 can only report on a source it can see. Instagram, Facebook, email and QR codes on your window poster all arrive looking like "direct" traffic unless you tag the link. Google's UTM guidance says to always use utm_source, utm_medium and utm_campaign, warns that missing parameters result in "(not set)" values in reports, and says values are case-sensitive, so
utm_source=google and utm_source=Google are different (Google Analytics Help: UTM parameters). Follow its tips: use lowercase, one source name per platform, one medium per channel, and a campaign name that matches the exact campaign.A salon-sized set of links:
| Where the link lives | utm_source | utm_medium | utm_campaign |
|---|---|---|---|
| Instagram bio | social | bio-link | |
| Facebook page button | social | page-button | |
| Monthly email | newsletter | october-offer | |
| Window poster QR code | poster | qr | window-2026 |
Keep a shared spreadsheet of every tagged link so the names do not drift. For the wider question of whether social or paid is earning its keep, see our organic vs paid social media test.
One recent change worth knowing: Google's release notes say that from May 13, 2026, a new "ai-assistant" value is assigned when the referrer matches a recognised AI assistant, and those visits are categorised under an "AI Assistant" channel in the default channel group (Google Analytics Help: Release notes). If you see that channel in your reports, that is where those visits are being counted.
Cookie Consent and Data Retention
Two settings affect what you can see.
Consent. Google's consent mode page says that when analytics storage consent is denied, GA stops reading and writing first-party analytics cookies, and sends cookieless pings that Google can use to model missing data. It also says consent mode does not provide a banner, so you need a consent management platform or another solution, and that blocking tags until consent means you lose the modelling benefits (Google Analytics Help: Consent mode). In the UK, the Information Commissioner's Office has guidance that recognises a narrow exception for strictly statistical analytics, but only if the sole purpose is aggregate statistics, you give clear information and a simple, free way to object, and you do not use the data for advertising (ICO: What are the exceptions?). Whether your set-up qualifies, particularly if you also run Google Ads, is a question for a local adviser. Rules in the US, Canada and Australia differ again.
Retention. For standard GA4 properties, event data retention can be set to 2 months or 14 months, and Google says the setting only affects explorations and funnel reports, not standard aggregated reports (Google Analytics Help: Data retention). The page does not state the default, so open Admin and check what yours is. Choose 14 months if you want to compare this winter with last.
Your 15-Minute Weekly Check
Pick the same time each week, such as Monday morning with a coffee:
- Booking taps and completed bookings this week against last week. Write both numbers down.
- Where taps came from, using the User acquisition report. Does Instagram, Google or email produce most?
- Top landing pages. Which pages do first-time visitors land on, and do they lead to taps?
- Phone taps against the calls your front desk logged.
- One action. Change the thing that looks weakest, or leave it alone if there is no clear signal. Do not chase small swings from week to week.
Skip total users as a goal. It tells you how busy the site was, not whether it booked anyone. If you want to improve the site itself once you have a baseline, our guide on using AI to improve a salon website's booking rate shows an audit method.
The Math
Tracking does not make money directly. It pays by showing you where to cut or double down. Every figure below is an assumption; replace them with yours.
| Tough | Base | Strong | |
|---|---|---|---|
| One-off setup: 3 hours at $40/hour (assumption) | $120 | $120 | $120 |
| Weekly check: 1 hour a month at $40 | $40 | $40 | $40 |
| Monthly spend on one channel that tracking shows is not booking anyone (assumption) | $0 | $150 | $300 |
| Monthly saving after you cut or fix it | $0 | $150 | $300 |
| Net monthly gain after the weekly check | -$40 | $110 | $260 |
| Months to repay the setup | never | 1.1 | 0.5 |
How to read it: in the Tough column everything you spend is already working, so tracking only confirms it, which is still useful but earns nothing. The Base and Strong columns assume you were paying for a channel that produced no bookings. The savings are only real if you move that money to something that works, and if your tracking is accurate. Check that by making a test booking and finding it in the Realtime report.
Test Your Own Booking
Book a test appointment on your phone, in a clean browser with no ad blocker, then look for it in Realtime. If it does not show, fix that before you trust a single report.
Do This Today
- Open GA4 Admin and confirm the data stream is your salon website, with enhanced measurement switched on.
- Check your event data retention setting in Admin and choose 14 months if it is not already.
- Create tap events for your booking button and phone number, mark them and your booking-complete event as key events.
- Tag your Instagram bio, Facebook button and email links with lowercase UTM parameters and start a shared link sheet.
- Make a test booking from your phone, find it in Realtime, then book a recurring 15-minute slot on Monday morning.
FAQ
Q: Do I need Google Analytics if I only have a booking-app page?
A: If you have no website and clients go straight to a booking app, GA4 has nothing to measure. Look at the app's own reports, check whether it has a GA4 field, and consider a one-page website so you control the booking button.
Q: How long does setup take?
A: A few hours the first time, including testing, is a realistic budget (my estimate, not a Google figure). The weekly check is 15 minutes.
Q: Can I see which Instagram posts led to bookings?
A: Only with tagged links and, usually, one link per campaign. Most tracking tells you which channel, not which post. Ask new clients "How did you find us?" as a cross-check.
Q: Why are my bookings in GA4 lower than in my booking software?
A: Common reasons are cookie consent (visitors who decline are not fully measured), bookings made in an app, bookings that start on a different domain, and ad blockers. Fresha's help page lists the first two for its own add-on.
Q: Do I need a cookie banner?
A: Often yes, depending on your country and set-up. Google says consent mode does not provide a banner, so you need a separate tool. Ask a local adviser, especially in the UK and EU.
Sources
- Google Analytics Help: About events
- Google Analytics Help: Enhanced measurement events
- Google Analytics Help: Key events
- Google Analytics Help: Cross-domain measurement
- Google Analytics Help: UTM parameters
- Google Analytics Help: Consent mode
- Google Analytics Help: Data retention
- Google Analytics Help: Release notes
- Fresha Help Center: Manage Google Analytics tracking
- ICO: What are the exceptions? (storage and access technologies)
Want your salon's tracking set up and checked for you? See our analytics and reporting service, the hair salon marketing page or contact DataLatte.
Free for local businesses
Want this applied to your business?
I'll review your Google presence, local SEO, and ad accounts — and send you a specific action plan within 48 hours. No pitch, no pressure.
Want hands-on help?
See how DataLatte handles Analytics & Reporting for local businesses.
✂️ Industry Guide
Hair & Salon Marketing Guide

Nataliia
Local marketing strategist with 10+ years at global agencies — OMD, Dentsu, GroupM, and BBDO. Now helping small businesses get the same data-driven edge. Based in Europe, working with clients in the US, UK, Australia, and beyond.
About NataliiaRelated articles
Analytics & Tracking
Which Marketing Metrics Actually Matter for a Local Business
15 min readAnalytics & Tracking
What Is a Pixel Tag? How Tracking Pixels Work and How to Set One Up (Local Business Guide)
10 min readAnalytics & Tracking
UTM Parameters Explained: How to Track Every Marketing Campaign
11 min readAnalytics & Tracking
Cutting Edge: Social Media Analytics for Hair Salons
14 min readWant this applied to your business?
Let's review your current marketing setup together — free, no obligations.
Get Your Free Marketing Audit