UTM tracking for outdoor businesses: set it up once, measure forever
Every spring, outdoor operators face the same budget problem: you ran Instagram ads, sent three email campaigns, published trail guides, and maybe tried Google Ads - and now you have to decide where to put next year’s money. If your answer is a gut feeling, you’re not alone. Most small outfitters have no idea which channel actually drove their bookings.
UTM tracking fixes this permanently. It’s a one-time setup that runs quietly in the background, tagging every link you share online so your analytics can tell you exactly where each visitor came from. You do the work once, and the data accumulates forever.
What UTM parameters actually are
UTM stands for Urchin Tracking Module - a naming convention that predates Google Analytics by several years and somehow stuck around. Practically speaking, they’re short codes you attach to the end of a URL.
A plain link to your booking page looks like this:
https://yoursite.com/book-now
A UTM-tagged version looks like this:
https://yoursite.com/book-now?utm_source=instagram&utm_medium=social&utm_campaign=spring-rafting
When someone clicks that second link, Google Analytics records that this visitor came from Instagram, arrived via social media, and clicked a link in your spring rafting campaign. From that point on, everything they do on your site - which pages they view, whether they complete a booking - is attributed to that source.
Five standard parameters exist. Three are required, two optional:
- utm_source: Where the traffic comes from. instagram, google, mailchimp, facebook
- utm_medium: The channel type. social, email, cpc, organic
- utm_campaign: The specific campaign. spring-rafting-2027, off-season-newsletter, google-ads-july
- utm_content: Which specific link or creative (optional). header-button, drone-video, cabin-photo
- utm_term: The keyword for paid search campaigns (optional). colorado-rafting-trips
That’s the whole system. Everything after this is just discipline in how you apply it.
The one rule that breaks everything if you ignore it
GA4 is case-sensitive. Use utm_source=Instagram in one link and utm_source=instagram in another, and GA4 treats them as two different sources. Your Instagram traffic gets split across multiple rows, your totals look wrong, and six months later you’re staring at fragmented data wondering what happened.
Pick a convention before you build a single link: all lowercase, hyphens instead of spaces, no special characters. Write it down somewhere your team can find it.
Naming that works well for outdoor businesses:
- Sources:
instagram,facebook,google,email-newsletter,tripadvisor - Mediums:
social,email,cpc,referral,qr - Campaigns:
spring-earlybird,midweek-flash,fall-foliage-2027,off-season-newsletter
Resist any urge to get creative. Boring and consistent beats clever and inconsistent every time.
Build your master UTM spreadsheet
The fastest way to ruin UTM tracking is to build links ad hoc in your head or let different team members make up their own names. Instead, keep a shared spreadsheet with every UTM link you ever create.
Google’s Campaign URL Builder at ga-dev-tools.google/campaign-url-builder generates tagged URLs without typos. But the spreadsheet is where you document what you built.
A minimal spreadsheet has these columns: Date created, Destination URL, utm_source, utm_medium, utm_campaign, utm_content, Full UTM URL, Where it’s used.
That last column matters more than people think. When you’re reviewing data in GA4 six months later and see traffic from email tagged spring-earlybird, you want to know whether that link went in a Mailchimp campaign, a manual email to past guests, or a follow-up sequence. The spreadsheet tells you.
One rafting company on the Colorado River uses this system for every link they publish: Instagram bios, email headers, Google Ads, even the URL printed on their business cards. When they sit down to plan the following season’s ad spend, they pull up GA4, filter by campaign name, and see exactly how many people each effort sent to their booking page and how many converted. No guessing.
Where to put UTM tags (and one place they break)
Every external link to your site that you control should carry a UTM tag. High-priority placement:
Email campaigns: Every link in every email. Use utm_medium=email, utm_source=mailchimp (or whatever platform you’re on), and a campaign name that reflects the specific send. Most email platforms have automatic UTM tagging in settings - turn it on, but verify the naming convention matches what you use elsewhere. Auto-generated names often look like " Campaign_April_2027" and will create a mess in GA4 if you’re not watching.
Social media profiles and posts: Your Instagram bio link, Facebook posts with booking links, any pinned posts. Use utm_medium=social and utm_source=instagram or utm_source=facebook. For paid social, use utm_medium=paid-social to keep it separate from organic traffic - they perform very differently and you want to see them apart.
Google Ads: The platform auto-populates utm_source=google and utm_medium=cpc when you enable auto-tagging in account settings. Add utm_campaign manually so you can distinguish ad groups in GA4.
Partner and referral links: If a local lodge sends guests your way, or you’re listed on a regional tourism site, tag it: utm_source=lodge-name, utm_medium=referral. You’d be surprised how much traffic some of these send.
QR codes: Any QR code on a printed map, sign, or rack card is a UTM opportunity. Use utm_medium=qr and a source that describes the physical location - utm_source=trailhead-sign, utm_source=lodge-flyer. This is the only way to measure whether physical marketing drives digital bookings.
One place UTM tags get complicated: booking widgets embedded from platforms like FareHarbor or Peek Pro. If your booking form lives inside an iframe, the visitor’s UTM parameters from the landing page may not pass through to the completed booking. The GA4 booking conversion tracking guide covers this in depth - read it before assuming your booking data is accurate.
Reading the data in GA4
Once you have UTM links in the wild, GA4 surfaces the data under Reports > Acquisition > Traffic Acquisition. You’ll see rows for each source/medium combination, with sessions, engagement rates, and conversions alongside each.
A few things to know about reading this data:
Standard reports lag 24–48 hours. If you just launched a campaign and want to confirm the tags are working, check the Realtime report. Click your own tagged link, then watch for your session to appear in Realtime with the right source/medium.
Conversions only show up if you’ve set them up. If you haven’t configured GA4 to track booking completions as a conversion event, you’ll see traffic by source but won’t be able to connect it to actual bookings. The GA4 setup guide for outdoor businesses walks through conversion event configuration.
The most useful view for budget decisions: filter by utm_medium=email vs utm_medium=social vs utm_medium=cpc, then compare conversion rates. A kayak outfitter near the Boundary Waters might find their email list converts at 4% while Instagram organic converts at 0.3%. That gap changes everything about how they should spend their time next season.
The multi-touch problem outdoor businesses actually have
UTM tracking can’t fully solve attribution on its own, and it’s worth knowing the limitation. Outdoor bookings often involve multiple touchpoints spread over weeks or months. Someone discovers you on Instagram in February, searches your name directly in April, clicks a newsletter link in May, and books in June.
GA4’s default model (last-click) gives June’s direct visit full credit. Instagram in February gets nothing - even though that’s where the whole thing started.
This isn’t a reason to skip UTM tracking. It’s a reason to also look at assisted conversions, not just last-touch. The Advertising > Attribution paths report in GA4 shows the full sequence of channels before a conversion. For businesses with 60- to 90-day booking lead times - which describes most guided trip operators - this report is more honest than last-click alone.
Most outfitters never open it. The ones who do often find that organic content and email are contributing far more to final bookings than last-click data suggests. That changes the argument for investing in both. Measuring whether your marketing is actually working starts with having the data to look at in the first place.
One specific next step
Open Google’s Campaign URL Builder and build tagged versions of the three links you use most often - your booking page link for your Instagram bio, the main link in your next email campaign, and the URL in any active Google Ads. Drop all three into a spreadsheet with a column for where each one is used.
That’s the whole setup. From that point on, every click on those links feeds data into GA4 that you can use to make sharper decisions next winter when you’re planning what to spend and where to spend it. The operators who know exactly which channel drove their best bookings don’t guess at budget - they just read the spreadsheet.


