BeautyAcademyScaler
The Tracking Guide For Academy Owners

You can't scale what you can't see. Here's how to tag every link in your academy.

By · Last updated 4 September 2026

A beauty academy knows which channel sells its course by tagging every link it shares with UTM parameters — utm_source, utm_medium and utm_campaign — capturing the first touch in the visitor's browser so the original source survives until she enrols, then reading source, medium and campaign against enrolments and revenue in Google Analytics 4 and the order export.

What's inside

  1. Why your numbers don't add up
  2. The five tags, in plain English
  3. Your naming rules (lock these first)
  4. The master tagging table
  5. Google Ads setup
  6. Meta & Instagram ads setup
  7. Instagram organic (bio, stories, DMs)
  8. Email, blog, YouTube, Google Business
  9. Offline: QR codes, kit inserts, partners
  10. The link builder
  11. The bit everyone skips: first-touch capture
  12. Getting the tag onto the enrolment
  13. Reading the data
  14. The 9 mistakes that break everything
  15. Your 90-minute checklist

Section 01Why your numbers don't add up

Here's the conversation I have with almost every academy owner I audit.

They're spending money on Google. They're spending money on Meta. Their educator is posting to 18K Instagram followers. They've got a blog, a Google Business Profile with 150 five-star reviews, and an email list they mail every couple of weeks.

Last month they enrolled 14 students. I ask: which channel produced them?

And the answer is always some version of "probably Instagram? Google says it got 9. Meta says it got 11."

Nine plus eleven is twenty. They sold fourteen. Both platforms are counting the same students, because both platforms are graded on their own homework. Meta claims a sale if the buyer saw an ad in the last seven days. Google claims it if there was a click in the last thirty. Neither of them knows the buyer also read your blog post, watched three Reels, and asked her sister about you.

So the founder makes budget decisions on numbers that are structurally wrong. They cut the channel that was actually doing the work — usually the top-of-funnel one that doesn't get last-click credit — and wonder why enrolments dropped.

The core problem

Every ad platform reports on itself. Nobody is holding the single source of truth except you. UTM tags are how you build that source of truth — a tag you control, attached to the link, that travels with the visitor from first click all the way to a paid enrolment sitting in your orders list.

The good news: this is a one-afternoon job. It's not technical in the scary sense — most of it is copying a text string into a settings box. The part that separates a real setup from a half-setup is Section 11, and I'll walk you through that too.

One promise before we start: every step below is something you can do yourself. Nothing here needs a developer except one optional code snippet, and I've written that one out in full so you can paste it (it's in the free interactive version, below).

Want the interactive version?
Get the interactive version free: the UTM link builder that writes your tagged links for you, plus the first-touch capture script and the CRM field mapping, ready to paste.

By entering your email you agree to receive the interactive version and occasional emails from me about filling beauty academy courses. One-click unsubscribe on every one, and your details are never shared. How I handle your data.

Section 02The five tags, in plain English

A UTM tag is just extra text on the end of your own link. Your page ignores it. Your analytics reads it. That's the whole mechanism.

A normal link to your course page:

https://youracademy.com/products/online-lash-course

The same link, tagged:

https://youracademy.com/products/online-lash-course?utm_source=instagram&utm_medium=bio_link&utm_campaign=online_course&utm_content=profile_button

Everything after the ? is the tag. The page loads exactly the same. But now when that person enrols, you know she came from your Instagram bio button — not "social," not "direct," not a guess.

There are five parameters. You'll use three of them constantly, two occasionally.

ParameterAnswers the questionBeauty academy examples
utm_source
required
Which platform? The specific website or app the person was on before they clicked.google · instagram · facebook · tiktok · youtube · email · gbp · chatgpt
utm_medium
required
What type of marketing? Paid, organic, email, referral. This is what groups channels together in your reports.cpc · paid_social · retargeting · social_organic · organic_search · email · bio_link · print
utm_campaign
required
Which offer or push? Tag it by the thing you're selling, not the month.online_course · insalon_group · insalon_private · brochure · reactivation
utm_content
recommended
Which specific creative or link? The one that tells you what to make more of.student_story_v2 · price_carousel · kit_unboxing · header_cta · email_07_pricing
utm_term
optional
Which keyword or audience? Mostly auto-filled by Google Ads. On Meta, use it for the ad set.lash+extension+course · warm_engagers_365d
The one that pays for itself

utm_content is the tag most people skip, and it's the one that makes you money. Source and medium tell you where to spend. Content tells you what to make. When you know that the student-story video produced six enrolments and the price-focused carousel produced zero, your next month of content writes itself.

Section 03Your naming rules (lock these first)

Before you tag a single link, decide your vocabulary and write it down. This takes ten minutes and prevents the single most common failure: a year of data split across Instagram, instagram, IG, insta and Instagram Stories, all counted as five different channels.

The seven rules

  1. Always lowercase. Analytics platforms are case-sensitive. Facebook and facebook are two separate rows in your report, forever.
  2. Underscores, never spaces. online_course, not online course. Spaces become %20 and make your links ugly and breakable.
  3. No punctuation beyond underscore and hyphen. No apostrophes, ampersands, plus signs, or emoji.
  4. Source is a place, medium is a method. instagram is a place. paid_social is a method. If you find yourself putting "instagram_ads" in source, split it.
  5. Campaign is the offer, not the date. Use insalon_group, not march_promo. Offers persist; months don't, and you'll want to compare this March to next March.
  6. Pick a value once, never rename it. Renaming fb to facebook six months in doesn't merge the old data — it strands it.
  7. Never tag your own internal links. This is the big one. See the warning box below.
Never tag a link from your site to your own site

If a visitor arrives from Google (tagged google / cpc) and then clicks a button on your homepage that you've tagged utm_source=homepage, most analytics tools will end her session and start a new one — and credit the enrolment to "homepage" instead of Google. You've just erased your own ad data with your own button.

UTMs are for links that point at your site from somewhere else. For measuring buttons inside your site, use event tracking, not UTMs. The only exception: a link on your site pointing at a genuinely different domain you also own (e.g. your booking system on another host).

Your starter vocabulary

Copy this into a sheet and treat it as law. Add rows, don't rewrite them.

utm_source (the place)utm_medium (the method)utm_campaign (the offer)
googlecpc — paid searchonline_course
facebookpaid_social — cold adsinsalon_group
instagramretargeting — warm adsinsalon_private
tiktoksocial_organic — unpaid postsbrochure — lead magnet
youtubeorganic_search — SEOreactivation — old list
emailemailwaitlist
sms / whatsappdm — direct messagesrefresher_course
gbp — Google Business Profilebio_linkkit_upsell
blogreferral — partners, pressopen_day
qrprint — cards, flyers, insertsstudent_referral
partner_nameaffiliate 

Section 04The master tagging table

This is your reference sheet. Every place an academy gets traffic, and exactly what to tag it with. The next five sections show you where to paste each one.

Where the link livesWhat to tag it withWhere you paste it
Google Search adssource=google · medium=cpc
campaign, content, term auto-filled
Final URL Suffix (account or campaign settings)
Meta cold adssource=facebook · medium=paid_socialAd level → Tracking → URL parameters
Meta retargetingsource=facebook · medium=retargetingAd level → Tracking → URL parameters
Instagram bio linksource=instagram · medium=bio_linkA short redirect on your own site (see §07)
Instagram Story link stickerssource=instagram · medium=social_organic · content=story_<topic>Story sticker URL, or a redirect
Instagram DM auto-repliessource=instagram · medium=dm · content=<keyword>Your DM automation reply text
Email broadcastssource=email · medium=email · campaign=<offer>Global UTM setting in your email tool
Email automationscontent=<sequence>_<number>Per-email override
Blog posts → course pages⚠️ Do not tag — these are internal links
Guest posts / presssource=<publication> · medium=referralThe link you give them
YouTube descriptionssource=youtube · medium=social_organic · content=<video_slug>Description + pinned comment
Google Business Profilesource=gbp · medium=organic_localWebsite field + every GBP post
QR codes (cards, flyers, salon)source=qr · medium=print · content=<where_it_is>The URL you encode
Kit / welcome-pack insertssource=qr · medium=print · campaign=student_referralThe printed QR
Partner colleges & salonssource=partner_<name> · medium=referralThe link you give the partner
WhatsApp / SMS follow-upssource=whatsapp · medium=dm · content=<stage>Your message template
Give every partner their own link

The partner referral row is worth more than it looks. Beauty academies quietly get a lot of business from local salons, TAFE-adjacent colleges, and past students who send friends. Almost none of it is measured, so it never gets invested in. Give each partner their own tagged link, and within a quarter you'll know which relationship is actually worth nurturing — and which "partnership" has sent you nothing in two years.

Section 05Google Ads setup

Google Ads has a dedicated field for this. You set it once at the account level and every ad in every campaign inherits it. Five minutes, done forever.

Where to paste it

  1. In Google Ads, go to Admin → Account settings (older layouts: Settings → Account settings).
  2. Open Tracking.
  3. Find the Final URL suffix field.
  4. Paste the string below. Do not include a ? at the start — Google adds it.
Google Ads — Final URL suffix
utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_content={creative}&utm_term={keyword}

Those curly-brace items are Google's ValueTrack parameters. Google swaps each one for the real value at click time, so you never have to tag ads individually.

ValueTrackBecomes
{campaignid}The numeric ID of the campaign that got the click
{creative}The ID of the specific ad
{keyword}The keyword that triggered it
{network}g = Google search, s = search partners, d = display
{device}m = mobile, t = tablet, c = computer
Two things to check before you save

1. Do you already have a tracking template? Some agencies install click-fraud or call-tracking software as a tracking template, which wraps every click through a third-party domain. If that field has something in it, leave it alone and put your UTMs in the Final URL suffix instead. The suffix appends after the redirect, so both survive. Deleting an inherited tracking template can silently break someone else's tool.

2. Leave auto-tagging ON. Google's own gclid is separate from UTMs and is what powers conversion import and Enhanced Conversions. You want both. They don't conflict.

Making campaign IDs readable

{campaignid} gives you a number like 21738904511, not a name — Google has no ValueTrack for campaign name. Two options:

For a typical academy with three or four campaigns, option two is worth the ten extra minutes.

Section 06Meta & Instagram ads setup

Meta's equivalent field lives at the ad level, not campaign level — so you'll paste it once per ad. Meta has its own dynamic parameters, which means you can still write one string and reuse it everywhere.

Where to paste it

  1. Open the ad in Ads Manager and click Edit.
  2. Scroll to the bottom of the ad-level panel to Tracking.
  3. Find URL parameters (sometimes shown as "Build a URL parameter").
  4. Paste the string. Again — no leading ?.
Meta — URL parameters (cold campaigns)
utm_source={{site_source_name}}&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&utm_term={{adset.name}}
Meta — URL parameters (retargeting campaigns)
utm_source={{site_source_name}}&utm_medium=retargeting&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&utm_term={{adset.name}}

The only difference is medium. Keeping cold and warm traffic in separate mediums is what lets you answer the question that actually matters: is my retargeting closing people my cold ads found, or is it just harvesting people who were going to buy anyway?

Meta's dynamic parameters

ParameterBecomes
{{site_source_name}}fb, ig, an (Audience Network) or msg — so you can finally see whether Facebook or Instagram placements produce your enrolments
{{campaign.name}}The campaign name exactly as you typed it
{{adset.name}}The ad set name — i.e. your audience
{{ad.name}}The ad name — i.e. your creative
{{placement}}Feed, story, reels, etc.
Your Meta naming becomes your reporting

Because {{campaign.name}} and {{ad.name}} pass through verbatim, a campaign called Campaign — Copy (2) FINAL v3 becomes a UTM value called Campaign — Copy (2) FINAL v3. Spaces, brackets and all.

Fix it at the source: name your Meta assets in the same lowercase-underscore style you set in Section 03. Something like online_course_cold / warm_engagers_365d / student_story_v2. Then your ad manager and your analytics speak the same language, and you can match a row in one to a row in the other without translating.

Section 07Instagram organic — bio, stories, DMs

For most beauty academies this is the biggest single traffic source and the worst tracked, because you can't paste a 140-character link into a bio and have it look professional.

The fix is a redirect on your own domain. You share a short, clean link. Your site quietly forwards it to the real page with the tags attached.

Build three redirects

You shareIt forwards toUse it for
youracademy.com/ig/products/online-course?utm_source=instagram&utm_medium=bio_link&utm_campaign=online_course&utm_content=profile_buttonThe link in your bio
youracademy.com/ig-story...&utm_medium=social_organic&utm_content=story_stickerStory link stickers
youracademy.com/ig-dm...&utm_medium=dm&utm_content=dm_replyDM replies and auto-responders

How to create them

Why this beats Linktree

Three reasons. It keeps the visitor on your domain, so your retargeting pixel fires on the click instead of on a third-party page. It removes an entire tap from the journey — link-in-bio pages lose a meaningful share of visitors at the menu screen. And it means you can change where /ig points during a launch without editing your bio or waiting for Instagram to re-approve anything.

DM keywords

If you run "DM me KIT to get the details" style funnels, give each keyword its own utm_content: content=dm_kit, content=dm_price, content=dm_dates. You'll learn which question people are actually asking before they buy — which is the raw material for your next ad, your FAQ section, and your objection-handling emails.

Section 08Email, blog, YouTube, Google Business

Email — one toggle, then forget it

Every serious email platform can append UTMs automatically to every link in every email. Turn it on once:

Set the global defaults to utm_source=email and utm_medium=email. Then override utm_campaign per broadcast and utm_content per email inside a sequence — content=nurture_03, content=cart_02, and so on. Now you can see which email in a nine-email sequence produces enrolments, and cut the seven that don't.

Without this, email shows up as "direct"

Clicks from desktop mail apps often arrive with no referrer at all. Untagged, your entire email programme disappears into the "direct / none" bucket — the same bucket as people typing your URL from memory. Academies routinely conclude "email doesn't work" when the truth is email was never labelled.

Blog posts — the exception

Do not UTM-tag links from your blog to your own course pages. That's internal, and per Section 03 it wipes out the original source. Your blog's contribution shows up correctly as the landing page in your analytics without any tagging.

Do tag links you place on other people's sites: guest posts, directory listings, press features, industry roundups. utm_source=<publication>&utm_medium=referral.

YouTube

Tag the description link and the pinned comment separately so you can see which one people actually use:

https://youracademy.com/products/online-course?utm_source=youtube&utm_medium=social_organic&utm_campaign=online_course&utm_content=desc_how_to_start

Google Business Profile

Your GBP is often the highest-intent traffic you get — someone searching your academy by name, or "lash course near me," and clicking through from the map panel. Tag it:

Do this and your local search performance stops hiding inside "organic."

AI search

People increasingly find academies by asking ChatGPT, Perplexity or Gemini for a recommendation. Those clicks arrive with a referrer you can watch for even though you can't tag them — add chatgpt.com, perplexity.ai, gemini.google.com and copilot.microsoft.com to your referrer rules in Section 11, and they'll get labelled automatically. It's a channel most academy owners don't know they already have.

Section 09Offline — QR codes, inserts, partners

This is the tracking nobody does, and it's the reason "word of mouth" stays permanently unmeasurable in a beauty business.

What to tag

Physical thingTag
Review-request card handed out at graduationsource=qr&medium=print&campaign=reviews&content=grad_card
Card inside the student kit boxsource=qr&medium=print&campaign=student_referral&content=kit_insert
Poster / window sign in the salonsource=qr&medium=print&campaign=insalon_group&content=salon_poster
Flyer at a beauty expo or trade showsource=qr&medium=print&campaign=online_course&content=expo_<name>
Business cardsource=qr&medium=print&content=business_card

Build the tagged URL first, then generate the QR code from that exact URL. Any free QR generator works — the tag is in the link, not the code.

Make it short first

A long tagged URL makes a dense QR code that's slower to scan in bad light. Point the QR at a short redirect on your own domain instead — youracademy.com/kit → the tagged URL. Simpler code, scans instantly, and you can change the destination later without reprinting a thousand cards.

Partners and past students

Give every referring salon, college, and ambassador their own link: utm_source=partner_bellasalon&utm_medium=referral&utm_campaign=insalon_group. No commission structure needed to start — just measure it for one quarter. You'll be surprised which relationships are carrying real weight and which are ceremonial.

Section 10The link builder

The interactive version of this guide has a link builder: fill in the fields, copy the link, paste it wherever it's going. It follows the naming rules from Section 03 automatically — lowercases everything and swaps spaces for underscores.

Interactive version

Get the interactive version free: the UTM link builder that writes your tagged links for you, plus the first-touch capture script and the CRM field mapping, ready to paste.

Unlock the interactive version →

Keep a master sheet

Every link you build goes in one spreadsheet. This is what stops your taxonomy drifting six months from now when you're building links at speed, or when someone else on your team starts making them.

DateWhere it's usedSourceMediumCampaignContentFull URLLive?
03 MarIG bio buttoninstagrambio_linkonline_courseprofile_buttonpasteYes
03 MarKit box insert QRqrprintstudent_referralkit_insertpasteYes
11 MarBella Salon referralpartner_bellasalonreferralinsalon_grouppasteYes

Section 11The bit everyone skips: first-touch capture

Everything above is the standard advice. This section is what separates a setup that survives contact with reality from one that quietly produces garbage.

Three problems with UTMs alone

Problem one — the tag dies at the first click. A visitor lands from your Google ad with a beautiful tagged URL. She reads for four minutes, doesn't buy, and closes the tab. Two days later she comes back by typing your name into Google and clicking the organic result. She buys. Your analytics credits organic. The ad you paid for gets nothing.

Problem two — most traffic has no tag at all. You can only tag links you control. Someone who screenshots your Reel and searches for you later, or hears about you from a friend, or clicks a link a student pasted in a Facebook group, arrives with no tag. Untreated, all of it collapses into "direct / none," which is where attribution goes to die. In most academies I audit, "direct" is the single largest channel — and it's not a channel, it's a measurement failure.

Problem three — the tag never reaches the order. Even a perfectly tagged visitor loses the tag at checkout, because your checkout usually lives on a different subdomain. So your orders list, the one place with the actual money in it, has no idea where any of it came from.

The fix

One script on your site that does three things:

  1. Captures the first touch and locks it. The first time someone arrives, it saves how they got there and never overwrites it — so the ad that found her gets credit even if she comes back four different ways before buying.
  2. Invents a tag when there isn't one, by reading the referrer. Arrived from instagram.com with no UTMs? That's instagram / social_organic. From google.com? google / organic_search. From chatgpt.com? chatgpt / ai_search. Your "direct" bucket shrinks to the people who genuinely typed your URL.
  3. Carries it through to the order by writing the stored values into your cart, so they appear on the order record itself.

The first-touch script is pasted into your site's <head> — in Shopify that's layout/theme.liquid just before </head>; in WordPress, a header-scripts plugin; anywhere else, wherever your other tracking tags live. It's plain JavaScript, works on any platform, and every part of it fails silently so it can never break your checkout.

Interactive version

Get the interactive version free: the UTM link builder that writes your tagged links for you, plus the first-touch capture script and the CRM field mapping, ready to paste.

Unlock the interactive version →

Two things to change before you paste

  1. Line 7 — OWN_HOSTS. Put your real domain in, plus your checkout subdomain if you have one. This stops your own pages being counted as referrals.
  2. Section 5 — the cart block. That part is Shopify-specific. If you're not on Shopify, delete lines 5 through the toCart listeners and use window.getAttribution() to fill hidden form fields instead (next section).
How to check it's working

Open your site in a private window with a test tag on the end — ?utm_source=test&utm_medium=test. Then open DevTools (right-click → Inspect) → Application tab → Local Storage → your domain. You should see keys starting ft_ holding your test values.

Now visit again without the tag. The values should stay test — that's the lock working. Clear local storage, arrive from an Instagram link, and you should see instagram / social_organic appear on its own.

Section 12Getting the tag onto the enrolment

A stored value in a browser is only useful if it ends up attached to a human in your systems. Two places it needs to land.

On every form submission

Add five hidden fields to your opt-in forms, popups and enquiry forms, then fill them from storage on submit. Works with Kit, Klaviyo, Mailchimp, Typeform, a custom form — anything that accepts hidden fields.

Interactive version

Get the interactive version free: the UTM link builder that writes your tagged links for you, plus the first-touch capture script and the CRM field mapping, ready to paste.

Unlock the interactive version →

In your email platform, create matching custom fields (utm_source, utm_medium, utm_campaign, utm_content, first_touch_date) so the values have somewhere to land. Now every subscriber record shows how that person found you — and you can segment your list by channel, which is a genuinely different way to write email.

On the enrolment itself

If you're on Shopify, the cart block in Section 11 does this for you. The values ride the cart into checkout and appear on the order under Additional details in the order page — and in your CSV order export.

That's the moment the whole system pays off: you can open your orders for the month, sort by utm_source, and see the actual dollar value each channel produced. Not the platform's claim. Yours.

Into your CRM

If you run a CRM for in-salon enquiries — where the enrolment happens on a call rather than a checkout — create six custom fields on the lead record:

Then map them in whatever pushes leads into the CRM (Zapier, Make, a native integration). Add a simple lookup step that converts utm_source into a friendly "Lead Source" dropdown value — google → "Google Ads", instagram → "Instagram", empty → "Direct" — so whoever works your leads sees plain English, not parameters.

Why this matters more for in-salon

Your online course tracks itself — it's a checkout. Your high-ticket in-salon courses usually close over DM or a phone call, which means the most profitable enrolments are the least measured ones. Getting the first-touch tag onto the CRM record is how you find out that the ads you thought were "only" driving online sales are actually feeding your in-salon pipeline too.

Section 13Reading the data

In Google Analytics 4

Reports → Acquisition → Traffic acquisition. Change the first dropdown to Session source / medium. That's your channel table. Add Session campaign as a secondary dimension to break it down by offer.

For creative-level insight, build one exploration and save it: Explore → Blank, rows = Session source / medium and Session manual ad content, values = Sessions, Key events, Total revenue. That single table answers "which creative produced money" in one screen.

Two settings to fix while you're in there

In your store's order data

If you did Section 11, this is the honest report. Export your orders to CSV, and you'll have the attribution columns sitting next to the order value. Pivot by utm_source, sum the revenue. That's your real channel P&L — every dollar counted once, by you.

The comparison that changes decisions

Once a month, put three numbers side by side for each channel:

ChannelPlatform claimsYour first-touch data saysSpendReal cost per enrolment
Google Ads9 enrolments6$2,400$400
Meta retargeting11 enrolments3$600$200
Instagram organic4$0$0
Email1$0$0

Illustrative numbers. But the shape is what you'll almost always see: the platforms over-claim, retargeting looks heroic until you notice it's re-closing people another channel already found, and organic quietly carries more than anyone gave it credit for.

Don't panic when the totals disagree

Your first-touch numbers will be lower than the platforms' numbers, and that's correct — you're counting each enrolment once. Platform figures are still useful for optimising inside a platform (which ad, which keyword). Your data is what you use to decide between platforms. Use each for the job it's honest about.

Section 14The 9 mistakes that break everything

  1. Tagging internal links. Restarts the session and hands the credit to your own homepage. The single most common way academies delete their own ad data.
  2. Mixed capitalisation. Instagram, instagram and IG become three separate channels. Lowercase everything, always.
  3. Renaming values mid-stream. Old data doesn't follow the new name; it just strands. Pick your vocabulary once (Section 03) and live with it.
  4. No referrer fallback. Without Section 11, most of your traffic lands in "direct" and you conclude your marketing isn't working when really it isn't labelled.
  5. Trusting platform-reported conversions. They double-count by design. Nine plus eleven equals fourteen, every time.
  6. Forgetting the checkout subdomain. If checkout lives on a different subdomain and it isn't in your analytics' referral-exclusion list — or in OWN_HOSTS — your own checkout appears as the referrer on every order.
  7. Redirects that strip parameters. Some link shorteners and redirect plugins drop the query string. Test every short link by clicking it and checking the tag survived to the final URL.
  8. Only tagging paid. The channels you don't tag look like they produce nothing, so they get cut. Tag organic, email, GBP and offline too — those are usually your cheapest enrolments.
  9. Setting it up and never opening it. Book fifteen minutes on the first of every month to look at the table in Section 13. Data you don't read is just storage.

Section 15Your 90-minute checklist

In order. Each one is a step you can finish before starting the next.

Give it two to four weeks of traffic before drawing conclusions. Attribution needs volume before the pattern is real — one week of data on a small account will mislead you more than no data at all.


Free · 30 minutes · No pitch deck

Want me to look at yours?

I audited 80 beauty academies and not one had a complete funnel. If you want a second set of eyes on your tracking — or on the funnel it's meant to be measuring — book a free academy audit and I'll walk you through exactly what's leaking and what to fix first.

Book your free academy audit →

Asbaat Amar · BeautyAcademyScaler