Skip to content
By TumWebSME
102 views
13 min

UTM Parameters for Small Business: Know Which Channel Brings Customers

A noodle shop owner's hands sorting yellow, blue and pink paper coupons into piles on a wooden counter beside a phone, with cards showing UTM naming per channel for Facebook posts, the TikTok bio, LINE OA broadcasts and a flyer QR code

Picture a noodle shop owner who wants to know where new customers come from. He prints five-baht discount coupons in three colours. Yellow ones go out at the Saturday morning market, blue ones sit on the counter of the laundry shop at the end of the lane, and pink ones ride along in every delivery-app bag. At the end of the month he tips the drawer out and counts colours. No guessing, no asking around. Blue turned out far stronger than he expected, and the market he gets up at five every week to hand out coupons at sent back only a handful.

Now compare that with what many business owners do every day. We paste our website link into Facebook posts, send it in LINE OA broadcasts, put it in the TikTok bio, print it as a QR code on flyers. Then we open the website stats and the biggest row is called "Direct" or "Referral", which tells us nothing about which piece of paper that customer was holding.

It is like handing out coupons that are all plain white.

Today I want to talk about a small tool that works as the "coupon colour" for your links. It is called UTM, it is free, it needs nothing installed, and an owner can set it up in a single afternoon.

A three-minute check before you read on

Pick up your phone and open the three website links you use most: the one in your TikTok bio, the one in your latest LINE OA broadcast, and the one under this month's best-selling Facebook post. Look only at the link itself. After the site name, is there a question mark followed by utm_source?

If all three are bare addresses like tumwebsme.com with nothing after them, your measurement cannot currently tell visitors from those three channels apart. Then ask yourself one more thing. If next month you had to cut money or time from one channel, would you decide from numbers or from gut feeling? If the honest answer is gut feeling, this article is written for you.

What UTM is, and why an ordinary link can't tell you where people came from

UTM is a short set of labels you add to the end of a link so a measurement tool such as Google Analytics knows where the person who clicked it came from. It looks like this:

https://www.example.com/?utm_source=facebook&utm_medium=social&utm_campaign=promo-oct

Everything after the question mark leaves the page itself unchanged. The visitor sees exactly the same page. But the measurement tool reads the labels and records that this visit came from facebook, through social, as part of the October promo campaign.

Why don't you get this without labels? When someone taps a link inside an app, the app often doesn't pass complete information about where the tap happened to the destination site. A QR code on a flyer is the clearest case: the phone camera opens the link directly, with no previous web page to point back to. The system has no way of knowing, so these visitors usually land in the Direct bucket together with people who typed your address themselves. Apps that do pass some origin information may show up as Referral from an odd-looking domain you can't match to a channel.

The three fields you fill in every time

Google's help page on collecting campaign data with custom URLs lists 9 parameters you can use, but states plainly that whenever you add parameters you should always use utm_source, utm_medium and utm_campaign. The rest are extras for when you need them. For an owner, I find it easiest to think of the three as three questions.

utm_source answers "where from?", for example facebook, line, tiktok, flyer. utm_medium answers "by what kind of route?", for example social for ordinary posts, paid_social for paid ads, qr for a QR code on print. utm_campaign answers "because of what?", for example promo-oct or open-house-2569. If you want one more level of detail, such as separating the broadcast link from the Rich Menu link in LINE OA, use utm_content as a fourth field.

Upper and lower case matter more than you'd think

This is the trap I see most often. The same Google page says parameter values are case sensitive, so utm_source=google and utm_source=Google count as different values, and it recommends lowercase as the standard. Imagine one admin typing Facebook, another typing facebook and a third typing FB. The report splits into three rows, and your real Facebook number looks smaller than it is without anyone noticing.

How Google groups your labels

Besides storing the exact values you typed, GA4 also sorts source and medium into broad channel groups automatically, following Google's default channel group definitions. If the medium is social or sm, the visit counts as Organic Social. If it is email, it goes to Email. If it is referral, it goes to Referral. If it matches none of the rules, the system puts it in Unassigned.

This has a direct effect on naming. If you use qr as the medium for flyers, those visitors will sit in Unassigned in the channel-group view. That is fine, because when you look at source/medium you still see a clear flyer / qr row. I only mention it so you don't see the word Unassigned one day and think something broke.

The other pair worth knowing is paid ads. The same definitions count a visit as Paid Social only when the source is a social site the system recognises and the medium starts with paid or contains cp, like cpc, or is ppc. So the facebook / paid_social pair I suggest in the next section separates itself from ordinary posts with no extra setup. If an admin types ads or boost as the medium instead, the ad traffic won't land in the group it belongs in, even though the source/medium row is still readable.

One naming sheet, one person in charge of it

If I could pick only one thing that makes UTM work in a small business, I would pick the naming sheet. It isn't a fancy tool at all. It is one Google Sheet with columns for channel, utm_source, utm_medium, utm_campaign, full link, and start date.

Here is the starting set I recommend. Ordinary Facebook posts use facebook / social. Paid Facebook ads use facebook / paid_social. The TikTok bio link uses tiktok / social. LINE OA broadcasts use line / social with utm_content=broadcast, and Rich Menu buttons use line / social with utm_content=richmenu. Flyers with a QR code use flyer / qr, with utm_campaign saying which print run it was.

The sheet has only three rules. First, everything lowercase, with hyphens instead of spaces. Second, nobody invents a new name while posting; if a new name is needed, add a row to the sheet first. Third, one person owns the sheet and decides on names. It can be the owner or the most careful admin on the team, but it has to be one person.

It sounds fussy. That third rule is exactly what keeps the report readable six months later.

The one rule not to break: no UTM on your own site's internal links

Once tagging starts to feel fun, many people want to tag everything, including the homepage banner that links to the promotion page or menu buttons that link to product pages. Please stop there.

That same Google page gives examples of using UTM on referral links from other sites and on links in ad campaigns, all of which bring people in from outside. For links inside your own site, our rule is simply not to tag them. Picture a customer who arrived from a Facebook post, is reading your homepage, and taps a banner you tagged as source=homepage. The system records a visit from a new source, and the sale that should belong to the Facebook post risks being credited to your own homepage banner, which never brought in a new customer at all.

It's like the noodle shop owner handing green coupons to customers who are already sitting at the tables. At month end green looks like the star, even though those people walked in holding other colours. If you want to know how often people tap a banner inside your site, measurement tools have other ways to count internal clicks that don't touch source data. Let UTM do its single job: telling you which door people walked in through.

"I can just ask customers. Why bother?"

Asking customers genuinely works, and I won't argue with that at all. Our own sales team asks everyone who calls or messages on LINE, "Where did you find us, and what did you search for?" and logs every answer, because some information is simply invisible to tools, especially conversations inside LINE chats.

But people's answers have limits too. Many customers see you across two or three channels before deciding, and when asked, they name the one they remember last. Someone says "I saw you on Facebook" when they actually tapped through from TikTok. And the visitors who come to the site but never get in touch are never asked at all, which is usually most of them.

What we learned from doing this for real is that the two work as a pair. UTM tells you where everyone who reached the site came from. The sales log tells you what the people who actually got in touch said. Put them side by side each month and the picture is clearer than trusting either one alone.

Why starting today beats starting next month

Source data has one habit that sets it apart from most things on a website. It can't be fixed backwards. A link shared last month without labels still has no labels now. However good your setup is today, last month's visits stay in the Direct bucket forever.

On the other hand, every tagged month is one more month of numbers you can compare. After three months you begin to see when broadcasts work, which kinds of posts actually send people to the site, and whether the few thousand flyers you paid to print were worth it. Those questions can't be answered from one week of data. They only get answered by time.

And the cost of starting is close to zero. No tool fees, no website changes, just different links in the places you already post.

The smallest version you can start this afternoon

You don't need to tag every link on day one. Pick just three to five channels where you post links most often. Open a Google Sheet, build the table described above, then create links with the Campaign URL Builder, Google's own free tool. Enter your web address, fill in source, medium and campaign, and it assembles the full link for you, so you never have to remember where the ? and & go.

Then change the link in your TikTok bio, use a tagged link in your next LINE OA broadcast, and use tagged links in Facebook posts from now on. That is enough for the first month. If your shop also uses a Rich Menu, the buttons that open your website are another place to switch. I've covered how to lay those buttons out in our guide to designing a LINE OA Rich Menu that gets clicks, and once the buttons are tagged you'll also know which ones really send people to the site. If you broadcast often, our LINE OA package and message-quota guide helps you plan how many broadcasts you can send, so each one is worth tagging.

Real examples already in use

Several tools you use every day already support this. Meta's ad setup has a dedicated field for URL parameters, and Google's guidance gives the example of dynamic values such as {{site_source_name}}, so the ad platform fills in the platform name itself and fewer typos creep in. Google Ads has auto-tagging, which adds its own click identifier, so those ads don't need hand-made labels, as long as Google Ads is linked to GA4.

Another worry site owners often have is whether links with UTM on the end make Google think the site has duplicate pages. The answer is the canonical tag, a line in the page that tells Google "the real address of this page is this one". Google Search Central's documentation gives the example that signals pointing at a URL with a tracking parameter get consolidated into the real URL once the real one becomes canonical.

We tried this on our own site on 28 September 2026 (2569 in the Thai calendar), opening an article with utm_source=test added and checking the page source. The canonical tag still pointed back to the clean URL without UTM. Most sites built to standard do the same. If you're not sure about yours, whoever maintains your site can check it in a few minutes.

A real story from our side: links and people working together

At TumWebSME we ran into the same problem I described at the start. Some customers visit the site and then message us on LINE, which measurement tools can't follow. Others simply phone. No single tool sees the whole picture.

What we did was split the job clearly. For the way in, meaning people arriving at the site, the labels on our links do the telling. For the way out, meaning people tapping the LINE button on the site to talk to the team, we attach a short reference code to their first message. And finally there are people: the sales team asks every lead where they found us and what they searched for, and writes it down.

None of the three layers is complete on its own. Side by side, one layer's gaps are usually filled by another. The lesson for us was not to expect any single tool to tell the whole story, and not to expect human memory to be accurate enough to replace numbers.

If you'd like the wider picture of which kinds of website data help with which decisions, I recommend our article on data analytics for SME business websites. If a lot of your customers come from Google Search, Search Console gives more precise data on that side, which I cover in our guide to reading Search Console in the age of AI Mode.

A 5-step starter plan

  1. Open one Google Sheet with columns for channel, utm_source, utm_medium, utm_campaign, full link and start date, and name one person as its owner.

  2. Choose the three to five channels where you post links most often, and set lowercase names for them in the sheet.

  3. Build the links with Campaign URL Builder, then tap each finished link yourself once to make sure it opens the right page.

  4. Swap in the tagged links in your bio, your next broadcast and new posts. For the next flyer print run, make the QR code from the tagged link, not the bare address.

  5. Check that no internal link on your own site carries UTM, then book yourself a look at the numbers in the first week of every month.

Where to see results, and how to read them

According to Google's help page, the results of your labels appear in GA4's Traffic acquisition report, where you can view them by Session source/medium and Session campaign. In the first few days the numbers may be small. Don't worry about it. Just check that every name you set up appears and is spelled exactly as in the sheet.

If you see a row that says (not set) in the campaign column next to your own names, go back to the link you just shared. Google's help page explains that if you set one parameter but leave out the related ones, reports show (not set) for the missing field. It usually comes from typing a link by hand and forgetting utm_campaign, which is why I suggest building every link in Campaign URL Builder and copying it from the sheet instead of retyping it each time.

After a month, read the report with three simple questions. Which channel sends the most visitors? Which channel sends visitors who stay longest or tap contact most? And has the Direct bucket shrunk? If Direct is going down while the rows with your names are going up, the labels are working.

Then put those numbers next to your sales team's log. If UTM says TikTok sends plenty of visitors but almost nobody in the log says they found you on TikTok, that is a question worth discussing as a team. Maybe those viewers aren't ready to buy yet, or maybe the page the link opens doesn't answer what they wanted to know.

And if one day you find your site isn't ready to measure anything yet, with no page designed for people to land on and no clear contact button, you can look at our website packages, which set up basic measurement from day one.

Closing thoughts

The noodle shop owner at the start wasn't better at marketing than anyone else. He just decided to print his coupons in colours before handing them out, and counted honestly at the end of every month. What he got back was confidence about where his early mornings should go.

UTM is printing coloured coupons for your links. It takes one afternoon to set up, and from then on every decision about time and budget rests on what actually happened. If you try it and get stuck somewhere, or want us to look at whether your site is ready to be measured, just message us and tell us about it. We're happy to think it through with you.


Talk to us and get a free consultation before you decide:

Contact us about our services

  • 088-983-9386 (Khun Ploy)

  • 099-856-3198 (Khun Saennan)

Keywords:

UTM parameters
UTM parameters for small business
UTM link
what is UTM
Campaign URL Builder
campaign tracking
traffic source tracking
QR code tracking

FAQ: Frequently Asked Questions about This Article

A collection of questions and answers to help you better understand the content of this article.

Tagged links you share outside your site aren't a problem. If your site has a canonical tag pointing to the clean URL, Google consolidates signals onto the real page for you. Internal links, like a homepage banner or menu buttons, shouldn't carry UTM at all, because they make people who are already on your site look like they came from your own banner, which distorts both your source data and your sales credit.

Think of source as where the visitor came from, such as facebook, line, tiktok or flyer, and medium as the kind of route, such as social for ordinary posts, paid_social for ads, or qr for a flyer. Always use lowercase, because Google treats Facebook and facebook as different values, and keep one shared naming sheet the whole team uses.

Build the tagged link first, for example utm_source=flyer, utm_medium=qr and a utm_campaign naming the print run, then turn that link into the QR code. If you print several designs or hand them out in several places, give each set its own utm_campaign or utm_content. In GA4's channel-group view these visitors may appear under Unassigned, but the source/medium view shows a clear flyer / qr row.

The method is the same; only the names change. For example, line / social for LINE OA with utm_content set to broadcast or richmenu, facebook / social for ordinary posts, and tiktok / social for your bio. The thing to watch is using the names from the same sheet every time. If one post says fb and another says facebook, the report splits into two rows straight away.

Yes. Most link shorteners send people on to the full link with all its labels intact. To be safe, tap the short link yourself once after creating it and check that the page that opens still has utm_source on the end. Record each short link next to its full link in your naming sheet so you always know which label it carries.

In GA4, open the Traffic acquisition report and view it by Session source/medium or Session campaign; the names you set will show up as rows. At first, just check every name appears and matches the sheet. After a month, compare which channels send the most visitors and contacts, and set that beside your sales team's notes on where customers say they found you.

Free Consultation

We are happy to provide consultation on website and system services to be a tool for growing your business.

Address : 89 Ramkhamhaeng 82 Alley, Ramkhamhaeng Road, Huamark Subdistrict, Bang Kapi District, Bangkok 10240, Thailand.

Business Hours : 09:00 - 21:00 (Open Daily)

Or follow us

FacebookInstagram
TikTok

Let us contact you