StayStrategy

UTM tagging for hotels: a step-by-step setup guide

UTM tagging means adding short labels to the end of a link so your analytics can tell you where each visitor came from. For a hotel, that answers a plain question: which email, ad, Instagram bio link or Google Business Profile button produced the booking? You can set it up in an afternoon with a spreadsheet and Google’s free URL builder. The hard part is not the tags. It is keeping the names consistent and making sure the tag survives the jump to your booking engine.

This guide covers what a UTM link looks like, which channels to tag, a naming system you can copy, how to get attribution through a third-party booking engine, and the mistakes that quietly ruin reports.

StayStrategy
staystrategy.co
Help Travelers Find Your Property
StayStrategy’s guides and visibility check help hospitality operators understand how to get named in AI travel recommendations.
Explore visibility resources

TL;DR

  • A UTM link is your normal URL plus a question mark and labels such as utm_source, utm_medium and utm_campaign. Always use those three.
  • Tag links you control: email, paid ads, social bios, QR codes, partner and press links. Never tag links between pages on your own site.
  • Pick lowercase names, write them down in one sheet, and never improvise a new spelling.
  • Most hotel tracking breaks at the booking engine. Set up cross-domain measurement and referral exclusions, then test one real booking.
  • Tags describe campaigns, not guests. Keep personal data out of every URL.

Table of Contents

UTM stands for Urchin Tracking Module. The name is a leftover from the analytics company Google bought long ago. What matters is the format: you take a page address and append parameters.

Google’s own example looks like this: https://www.example.com/?utm_source=summer-mailer&utm_medium=email&utm_campaign=summer-sale. The question mark starts the labels. Each label is a name and value joined by an equals sign, and an ampersand separates them. Google’s URL builder documentation says you should always include utm_source, utm_medium and utm_campaign.

For a boutique hotel, a real link might read:

https://yourhotel.com/offers/fall-weekend?utm_source=newsletter&utm_medium=email&utm_campaign=fall-weekend-2026

The guest sees the same page. Your analytics sees an email visit from the fall weekend campaign.

The parameters, in plain words

Parameter What it answers Hotel example
utm_source Where did the click come from? newsletter, instagram, google, partner-name
utm_medium What kind of channel is it? email, cpc, social, qr, referral
utm_campaign Which promotion or push? fall-weekend-2026, anniversary-offer
utm_content Which version of the link or ad? hero-button, footer-link, video-a
utm_term Which paid keyword? boutique-hotel-napa

Google also supports utm_id, a campaign ID you can match to campaign data you upload. Most small properties can skip it. Start with the first three, and add utm_content once you are testing two versions of something.

The rule is simple: tag any link you place somewhere else that points to your website. Do not tag links on your own pages that point to other pages on your site. Doing that overwrites the original source and makes a visit from Google look like a visit from your homepage banner.

Here are the places that earn a tag at a typical independent hotel or rental business:

  • Email. Every button and text link in your newsletter, pre-arrival email and past-guest campaigns.
  • Paid ads. Google Ads and Meta ads. Both platforms can add tags automatically, but a manual template keeps names consistent. See our guides on Meta ads hotel campaigns and Google Ads for vacation rentals.
  • Social profiles. The link in your Instagram, Facebook and TikTok bios, plus link-in-bio pages.
  • Google Business Profile. The website button and the booking or reservation link. This is the most overlooked place. Without a tag, those clicks blend into general organic traffic. Our course lesson on your Google listing explains what belongs in the profile.
  • QR codes. Lobby cards, welcome books, printed menus, local event flyers. Tag each placement separately so you learn which one works.
  • Partners and press. Chamber of commerce listings, a wedding planner’s vendor page, a local blogger’s review, a tour operator who sends you guests.
  • Remarketing. If you retarget past visitors, tag those ads so you can separate them from first-time prospects. Our remarketing best practices guide covers the campaign side.

Google’s documentation notes that some traffic is excluded from campaign attribution, and organic search is not something you tag at all. Do not add UTMs to your regular listing in Google search results. Do not tag links in your own site navigation. And do not tag links on online travel agency (OTA) pages, because you usually cannot edit them anyway.

Build a naming system before you tag anything

Bad UTM data is almost always a naming problem, not a technical one. Analytics treats “Email”, “email” and “e-mail” as three different values. Six months later your report has three rows for the same channel.

Fix that with a one-page rulebook:

  1. Lowercase everything. No capitals, ever.
  2. Use hyphens, not spaces. Spaces turn into odd characters in a URL. Write fall-weekend, not Fall Weekend.
  3. Keep a fixed list of mediums. Choose maybe six and stop: email, cpc, social, qr, referral, and print if you need it.
  4. Make sources specific but few. Use instagram, facebook, newsletter, google, and then partner names as they appear.
  5. Put the year or month in campaign names. A name like anniversary-offer-2026 prevents confusion when you run it again next year.
  6. Keep one shared sheet. Every link you create gets a row: date, destination page, full tagged URL, who made it, where it was placed.

A sample set of rows

Placement Source Medium Campaign
Monthly newsletter button newsletter email october-newsletter-2026
Instagram bio link instagram social bio-link
Google Business Profile website button google organic-profile gbp-website
Lobby QR card lobby-card qr welcome-card
Meta ad, holiday offer facebook cpc holiday-offer-2026
Local wedding planner’s page planner-name referral vendor-listing

One note on the Google Business Profile row. The medium name here is your own choice. Many operators use a custom value like organic-profile so these visits can be told apart from ordinary organic search. Whatever you pick, write it in the sheet and use it everywhere.

Use Google’s free campaign URL builder, described in the Analytics Help page, or a plain spreadsheet formula that joins your page address with the labels. The spreadsheet approach is better once you have more than a handful of links, because the formula enforces your naming and lowercases everything for you.

Steps:

  1. Copy the full destination address, including https and the exact page. Send guests to the page that matches the promise: an offer link should land on the offer, not the homepage.
  2. Add a question mark, then utm_source=your-source.
  3. Add an ampersand, then utm_medium=your-medium.
  4. Add an ampersand, then utm_campaign=your-campaign.
  5. Paste the result in your browser and check that the right page loads.
  6. Log it in your sheet.

If the destination already has a question mark, for example a filtered search page, join your labels with an ampersand instead. A second question mark breaks the link.

Long tagged links look ugly in a bio or on a printed card. Use a link shortener you control, or put a short redirect on your own domain, such as yourhotel.com/fall, that forwards to the tagged address. For QR codes, encode the tagged link so each placement reports separately.

Where hotel tracking really breaks: the booking engine

This is the part most guides skip, and it is why many hotels have tags in place and still cannot see which campaign produced a booking.

Many independent properties have a marketing site on one domain and a booking engine on another. The guest reads your offer page on yourhotel.com, clicks Book now, and lands on a reservation page hosted by your booking provider or property management system. To analytics, that can look like two unrelated visits.

When that happens, you get two symptoms:

  • The booking is credited to “Direct” or to the booking engine itself, not to the email or ad that started the trip.
  • Your campaign reports show plenty of clicks and almost no bookings.

Three fixes to set up

1. Cross-domain measurement. In Google Analytics 4, you tell the property that your website and booking engine belong to the same journey, so the visitor keeps one session across both. The setting lives in the data stream’s tag configuration. Your booking provider must also have your GA4 measurement ID installed on its pages. Some providers support this out of the box, and some need a request to their support team.

2. Referral exclusions. Add the booking engine’s domain to the list of unwanted referrals. Otherwise the click from your site to the engine can start a new session credited to a referral from your own website, replacing the campaign that brought the guest.

3. A purchase event with a value. The booking confirmation page should send a purchase event with the reservation amount, so revenue lands next to the campaign name. Without it you can count visits but not money.

Then test it. Our guide to GA4 for hotels walks through making one real booking, then checking whether the source, campaign and revenue match before you trust any report. Do this after every change to your site or booking engine.

Keep the original tag for your own records

If your reservation form allows it, you can store the original UTM values from the guest’s first visit in hidden fields and save them with the reservation. That ties a campaign to a guest record in your property management system or CRM, not just to a number in analytics. Ask your booking provider whether hidden fields or custom fields are supported. Do not assume they are.

Short-term rentals and direct booking sites

If you run vacation rentals, the same logic applies with one extra wrinkle: most of your bookings may happen on Airbnb or Vrbo, where you cannot attach a tag to anything. UTMs only measure traffic that lands on a site you control. Their value for rentals is in your direct booking site, your email list to past guests, and your social and local partnerships. See our overview of short-term rental marketing for how those channels fit together.

If you do not yet have a direct booking site, tagging has nowhere to land. Build that first, then tag.

Reading the results

Once data arrives, look in GA4’s traffic acquisition report and view it by source and medium, then by campaign. Give each campaign at least a few weeks and enough volume to mean something. A single booking from a lobby QR card does not prove the card works.

A few questions worth asking each month:

  • Which medium produced the most booking revenue, not just the most visits?
  • Which campaigns produce visits with no bookings? That often points to a landing page problem, not a channel problem.
  • How large is the Direct bucket? A big Direct number usually means untagged links or a broken handoff, not a mysterious group of loyal guests.
  • Do paid ads look better or worse than the cost per booking you assumed?

If you are weighing where to spend, tagged data is what lets you compare paid search against other options fairly. Our piece on metasearch versus Google Ads shows how that comparison works when rates differ by channel.

Common mistakes

  • Mixed capitalization. Email and email show up as separate rows.
  • Tagging internal links. This resets the source mid-visit.
  • Reusing one campaign name for everything. If every link says “promo”, the report tells you nothing.
  • Tagging organic search. You cannot, and should not try.
  • Forgetting that tags are visible. Anyone can read a URL. Never put a guest’s name, email address, or reservation details in a UTM value.
  • Changing names mid-campaign. Pick the labels, then freeze them.
  • Skipping the test booking. A beautiful naming sheet means nothing if the booking engine drops the data.

UTM parameters on their own describe a campaign, not a person. But tracking tools around them can collect personal data, and regulators pay attention. The Federal Trade Commission has warned that third-party trackers on websites can disclose sensitive information, and that using an outside developer does not remove the business’s responsibility. That letter was addressed to hospitals and telehealth providers, so it is not a rule written for hotels, but the principle applies to anyone who installs tracking on a booking path.

Practical steps: keep personal information out of URLs, know which tags your booking engine loads, and set up a consent banner that actually controls your analytics tags. Our guide to consent mode for independent hotels covers the three setup jobs. For anything specific to your state’s privacy law, ask a privacy attorney who handles small business clients.

Keep learning the visibility side

UTM tags show you what happens after someone clicks. They cannot show you the guests who ask an AI assistant where to stay and never click a tagged link. If you want to work on that side yourself, the free AI Visibility Course teaches it step by step, and the city reports show how properties in specific markets appear today.

FAQ

What does UTM tagging mean?

It means adding labels to the end of a web address so analytics software can record the source, medium and campaign behind each visit. The page the guest sees does not change. Only your reports do.

What does a UTM code look like?

It is a string that follows a question mark in the link, such as utm_source=newsletter&utm_medium=email&utm_campaign=fall-weekend-2026. Each label is a name, an equals sign and a value, separated by ampersands. You can paste a tagged link into a browser and it opens the normal page.

Do I need UTM tags if I only use Google Ads?

Usually less, because Google Ads can connect to Google Analytics and tag clicks automatically. You still need tags for email, social, QR codes and partner links, which no ad platform will label for you. Check that your account’s auto-tagging setting is on and that you do not overwrite it with conflicting manual tags.

Why do my bookings show up as direct traffic?

The common causes are untagged links and a booking engine on a separate domain that breaks the session. Set up cross-domain measurement and referral exclusions, tag every external link you place, and run a test booking to confirm the campaign name survives to the confirmation page.

Can I use UTM tags on Airbnb or Vrbo listings?

No. Those platforms do not let you attach tracking labels to your listing, and their bookings happen off your site. Use UTMs for links that lead to your own website, such as your direct booking page, your email list and your social profiles.

Sources

StayStrategy Editorial articles are general information for hospitality operators and are produced with the help of AI. Platform policies, prices and local rules change, so confirm the details before you act on them.

Get your property ready to be named by AI

The AI Visibility Workbook is eleven printable sheets. When every box is full you have written what a machine needs to be able to name you.

Or check your visibility first. Seven questions, about two minutes.

How to get recommended by AI, the course