Skip to main content

QR Codes for Salons & Spas: The Complete Marketing Guide

Published July 26, 2026 · MARKETING · 10 min read

A salon has something most local businesses would kill for: every client sits still, phone in hand, for 30 to 90 minutes. A spa gets even longer. Most salons waste it — a QR code on the counter that opens the homepage is a wasted scan. This guide covers where to put QR codes, what each one should do, and how to make every scan feed your ad targeting so the whole system compounds.

One rule up front: use dynamic QR codes, not static ones. A dynamic QR points to a redirect you control, so you can change the destination without reprinting, see scan counts per placement, and fire tracking pixels on scan. A static code is just ink. (More on the difference in static vs dynamic QR codes.)

The placement map: where codes go and what each one does

Print one code per placement, not one code everywhere. Separate codes mean separate analytics: you'll know the mirror decal out-earns the window cling within a month, and you can build ad audiences per placement.

Placement Goal Destination Meta event to fire
Front desk / checkout Rebook before leaving Booking page, pre-filled if possible Schedule
Mirror decal (each station) Rebook + offers list Booking page with signup option Schedule
Waiting area table tent Offers list / loyalty signup Email or SMS signup form Lead
Receipt or aftercare card Google review Your review landing page → Google QRScan (custom, e.g. ReviewIntent)
Window / sidewalk sign New client acquisition First-visit offer page Lead
Treatment room (spa) Gift card sales Gift card purchase page Purchase on completion
Business card / flyer Contact + directions WhatsApp chat, call, or map link Contact
Retail shelf (products) Product reorder Product page or shop AddToCart

Every placement gets its own named QR code ("Mirror – Station 3", "Receipt – Review"). On QRCodeStack, each scan fires a Meta pixel event carrying the QR's name, ID, and type as parameters, so those names show up in Meta Ads Manager and you can slice audiences by exact placement. Competitors either fire one generic event for everything or make you wire it through Google Tag Manager yourself.

Rebooking: the highest-value scan in the building

Salon economics live and die on rebooking. Most hair clients revisit on a 4–6 week cycle; a client who walks out without a next appointment is one Instagram offer away from someone else's chair.

The front-desk and mirror QR codes should go straight to your booking page (Fresha, Square Appointments, Booksy, your own site — anything with a URL works), configured to fire a Schedule event on scan. Schedule is a Meta standard event, which means two things.

  1. You can build a custom audience of everyone who scanned a booking code — verified, walked-through-your-door clients.
  2. Meta can optimize ad delivery toward it. If you later run booking ads, the pixel already has months of real Schedule signal from your floor.

Now the retargeting play. Someone scans your booking QR today; their typical revisit window opens in about four weeks. Build a Meta custom audience of Schedule-event scanners with a 28–42 day recency window and run a modest "time for a refresh?" ad to exactly those people, exactly when they're due. You're not spraying the whole city — you're nudging known clients at the moment they'd book anyway, for cents. The full mechanics are in our QR code retargeting guide.

Honest caveat: Meta needs roughly 100 matched people before a custom audience will serve. A two-chair salon doing 40 clients a week will get there in about a month of scans; a solo esthetician might need a quarter. That's the argument for starting collection on day one, even if you won't run ads until autumn. The audience builds while you work.

Google reviews: instrument the step you control

You can't put a pixel on Google's review page — Google owns it. What you can control is the landing step in between. Point the receipt/aftercare QR at a lightweight page you own: "How was your visit?" with a rating prompt and a button to your Google review link.

That intermediate page is your instrumentation point. The scan fires an event (a custom one like ReviewIntent is fine — custom events build audiences immediately, and only need a Custom Conversion wrapper if you later optimize ads toward them), and you see exactly how many aftercare cards convert to review-page visits.

One thing not to do: review gating. Showing the Google link only to people who rated you 5 stars violates Google's review policies and can get reviews filtered or the profile penalized. Track the ratings for your own intel, but everyone gets the same Google link. Unhappy clients mostly don't click through anyway; happy ones do.

Timing beats placement here. A review ask on the receipt, scanned while the blowout still looks perfect, converts far better than an email three days later.

Offers list and loyalty: the Lead machine

The waiting-area code is your list builder. "Scan for 10% off your next visit" going to a simple email/SMS signup form, firing a Lead event on scan.

This gives you three assets from one decal:

  • The list itself — you can message these people for free, forever.
  • A Lead scanner audience in Meta — people who physically sat in your salon and wanted offers. Use it for promos, and as an exclusion audience so your new-client acquisition ads stop paying to reach people who already come in.
  • The seed for lookalikes (next section).

If you run punch-card-style rewards, a QR-based loyalty flow beats cardboard — clients lose cards, not phones. See QR codes for loyalty programs for setups.

The local lookalike: cheap acquisition from happy customers

Here's the play mid-market QR tools can't do because they don't fire named events.

Your Lead and Schedule scanners are, by definition, real customers — people who stood in your salon and scanned. That's a far higher-quality seed than website visitors, half of whom bounced off your pricing page. Build a lookalike audience from that seed and constrain delivery to a small radius — 3 to 8 km around the salon, whatever your realistic draw is. Meta finds locals who resemble your actual clientele, and because the geography is tight, budgets of $5–10/day are enough to matter.

Illustrative math: if 600 clients scan a booking or offers code over six months, that's a solid seed (lookalikes want 1,000+ seed users to work well, so keep collecting — but audiences under that still function, just less sharply). Layer the exclusion audience of existing scanners on top, and every ad dollar goes to genuinely new local heads.

Two more caveats worth knowing. iOS App Tracking Transparency means a chunk of iPhone scanners never make it into browser-pixel audiences — opt-in rates for tracking have been low since ATT launched. QRCodeStack's Meta Conversions API support sends the scan server-side too, deduplicated with the browser event, which recovers a meaningful slice of that lost signal. And pixel tracking sits on the Pro plan ($12/mo), so budget for that if audiences are the goal.

Win-back: scanned before, silent for 60 days

Because every scan is timestamped and attributed to a named QR, lapsed clients become a targetable segment: people in your scanner audiences whose last event is 60+ days old, past the normal 4–6 week cycle.

Build it as scanners-within-180-days minus scanners-within-60-days (Meta lets you combine include/exclude windows in one audience). Run a specific offer to that segment — "we miss you, 15% off a colour refresh this month" — not your generic new-client ad. Win-back beats cold acquisition on cost almost every time, because the hard part (they know you, they liked you once) is already done.

The quick wins: WhatsApp, calls, directions, gift cards

Not everything needs a funnel. Some codes just remove friction:

  1. WhatsApp QR on the window and business cards — "questions? chat with us." For salons in markets where WhatsApp is the default channel, this outperforms a contact form by miles. Fire Contact on scan.
  2. Click-to-call QR on print ads and flyers, for the clientele that still books by phone.
  3. Directions QR on partner-location flyers (the gym, the boutique next door) opening straight to your pin in Maps.
  4. Gift card QR in treatment rooms and at checkout, especially October through December. A spa's gift card buyer is often not the client in the chair — it's their gift shopper. Fire Purchase on the confirmation page and you've got a buyer audience too.

Because these are dynamic codes, the December gift-card push and the February couples promo can be the same printed code with a swapped destination. Print once.

A realistic 30-day rollout

  • Week 1: Create dynamic QRs for front desk (booking/Schedule), receipt (review), and waiting area (offers/Lead). Print, place, done.
  • Week 2: Add mirror decals per station and the window code. Add your Meta pixel ID and a CAPI token to each QR's tracking settings.
  • Week 3: Check per-placement scan counts. Kill or move anything with near-zero scans.
  • Week 4: In Meta Ads Manager, create the custom audiences (Schedule scanners, Lead scanners) even if they're under 100 people. They'll fill up while you run the business.

No ads required in month one. You're building the asset first.

FAQ

How many QR codes does a small salon actually need?

Four covers most of it: booking (front desk), review (receipt), offers signup (waiting area), and contact/WhatsApp (window). Add per-station mirror codes once the basics are producing scans.

Do I need to run Meta ads for any of this to be worth it?

No. Rebooking, reviews, and list signup pay for themselves with zero ad spend. The pixel events are a free byproduct — audiences accumulate in the background so that when you do run ads, you start with warm, verified-customer targeting instead of cold interest targeting.

Is it against the rules to only show the Google review link to happy clients?

Yes — review gating violates Google's policies. Show everyone the same review link. You can still collect a rating on your own landing page first for internal feedback; you just can't use it to filter who gets the Google link.

How long until my scanner audiences are usable?

Meta custom audiences need around 100 matched people to serve ads, and lookalikes work best from 1,000+ seeds. A busy salon hits 100 in weeks; a solo operator might take a few months. Either way the fix is the same: start firing events on day one.

Ready to set this up? Create a dynamic QR in QRCodeStack's generator and configure it to fire a Schedule or Lead event on every scan — named per placement, deduplicated server-side via the Conversions API, with no ads ever shown to your clients on scan. There's a 3-day free trial, no card required, and Pro is $12/mo when you're ready for pixel tracking.

Create Your Salon QR Codes