UTM builder and checker for hotels, tour operators and travel brands
Tag every link that brings guests to your website, then check existing links for the mistakes that quietly split or hide booking data. Free, no signup, runs in your browser.
Build a tagged link
Pick a channel preset to fill in sensible values, then adjust them to match your own naming convention.
Where the link lives: the site, platform or publication.
The type of channel, for example social, email or referral.
The promotion, season or ongoing placement.
Optional. Tells apart links in the same campaign.
Optional. Mostly used for paid search keywords.
| Tagged URL | Source | Medium | Campaign | Content |
|---|
Check existing links
Paste one or many URLs, one per line. The checker flags missing required tags, duplicate parameters, mixed casing, spaces, values that are spelt differently across the list, mediums GA4 does not recognise, and UTM tags on internal links.
| # | URL | Result |
|---|
Naming convention for travel brands
A written convention matters more than any tool. Agree it once, share it with anyone who posts links, and keep it next to your campaign list.
| Parameter | Rule | Good | Avoid |
|---|---|---|---|
utm_source | The platform or publication, lowercase, no spaces | instagram, booking-com, newsletter | Instagram, IG, booking.com page |
utm_medium | A channel type GA4 recognises | social, email, referral, affiliate, organic | insta-bio, Newsletter, post |
utm_campaign | Season, offer or always-on placement, with a year where relevant | summer-2027, gbp-listing, 2026-11-newsletter | Summer Promo!!, campaign1 |
utm_content | Which link or creative within the campaign | bio-link, story-spa, hero-button | Long sentences or dates in every value |
utm_term | Paid search keywords only | boutique-hotel-kampot | Using it for social posts |
| Separators | Pick hyphens and use them everywhere | spring-break-2027 | Mixing spring_break and spring-break |
Channel presets explained
| Channel | source / medium | Notes |
|---|---|---|
| Google Business Profile website link | google / organic | Lands in Organic Search in GA4, with utm_campaign=gbp-listing separating profile clicks from ordinary search visits. |
| OTA listings (Booking.com, Expedia, Airbnb, Viator, GetYourGuide) | booking-com / referral and similar | Many OTAs limit or remove external website links in listings and guest messages. Check each platform's current policy before adding one. |
| Email newsletter | newsletter / email | Put the send date in the campaign, for example 2026-11-newsletter. |
| Instagram bio and stories | instagram / social | Use utm_content to separate bio-link from each story. |
| Facebook and TikTok | facebook / social, tiktok / social | Organic posts only. Paid ads should use a paid medium such as paid-social. |
| Partners and affiliates | partner-name / referral or / affiliate | Use affiliate only where the partner is paid per booking. |
| QR codes on print | brochure / qr | GA4 shows qr as Unassigned unless a custom channel group is created. The source still identifies the print item. |
Channel behaviour is based on Google's GA4 default channel group definitions, which Google may change.
How to roll out UTM tracking in five steps
- List every place a link to your website appears outside the site: profiles, listings, emails, bios, partner pages and print.
- Agree a naming convention using the table above and write it down.
- Build each link with this tool and add it to the list, then download the CSV as your campaign register.
- Open one link yourself and confirm the visit appears with the right source and medium in GA4 Realtime.
- Every few months, paste the links in use into the checker to catch drift, such as a new team member typing
Instagram.
First-touch, last-touch and linear attribution
Guests rarely book on their first visit. Attribution decides which channel gets credit when several visits come before a booking.
- First-touch gives all the credit to the channel that brought the guest the first time. It shows what creates awareness.
- Last-touch gives all the credit to the final channel before the booking. It shows what closes.
- Linear splits the credit equally across every tracked visit.
Illustrative example only (not real data). A guest finds a hotel through an Instagram bio link, returns a week later from the newsletter, then books a £600 stay after clicking the Google Business Profile website link.
| Model | Newsletter | Google Business Profile | |
|---|---|---|---|
| First-touch | £600 | £0 | £0 |
| Last-touch | £0 | £0 | £600 |
| Linear | £200 | £200 | £200 |
None of these models works without consistent tags, because untagged or mistagged visits cannot be credited to the right channel. GA4's reporting attribution settings currently offer data-driven and last click models. The GA4 guide for travel brands covers those settings and their limits.
Frequently asked questions
What are UTM parameters?
utm_source, utm_medium and utm_campaign. Analytics tools such as GA4 read them to report where a visit came from, so a guest arriving from an Instagram bio link is not lumped in with everyone else.Which UTM parameters are required?
utm_source, utm_medium and utm_campaign on every tagged link. utm_content and utm_term are optional and useful for telling apart two links in the same campaign, for example a story link and a bio link.Should UTM tags be used on internal links?
Do capital letters in UTM values matter?
Instagram and instagram as separate values in source and campaign reports, which splits the numbers. GA4's default channel rules are not case sensitive, but consistent lowercase keeps reports clean.Why does my QR code traffic show as Unassigned in GA4?
qr is not one of them, so those visits appear as Unassigned unless a custom channel group is set up. The source and campaign values still show which flyer or poster drove the visit.Is any data sent to NJoy Consulting?
Private by design
Everything runs in your browser. Nothing you type is uploaded, stored or sent to NJoy Consulting or anyone else. No signup.
Related tools and guides
Want a second pair of eyes?
NJoy Consulting helps hotels, tour operators and travel brands set up tracking that answers real booking questions.
Get in touch