Tracking your ads with UTM tags
See HalalSpark visitors in your own analytics — where they came from, which ad they clicked, and what they did next.
What UTM tags are
UTM tags are short labels added to the end of a link. They don't change the page people land on — visitors see exactly the same page. Your analytics tool reads the labels and records where each visitor came from, so HalalSpark traffic shows up as its own line instead of being mixed in with everything else.
There are five standard tags:
utm_source
Who sent the visitor — the website or platform the click came from. For HalalSpark ads this is halalspark.
utm_medium
The type of traffic — for example display, email, social or cpc. HalalSpark ads are display ads.
utm_campaign
Which campaign the visitor came from, such as ramadan-sale-2026. Lets you group traffic from one promotion across several channels.
utm_content
Which ad or creative they clicked. The tag to use when you want to compare two ads in the same campaign.
utm_term
The search keyword that triggered the ad. Meant for search ads, so HalalSpark doesn't offer a field for it.
An example, taken apart
Here's a tagged link for a Ramadan sale:
https://example.com/ramadan?utm_source=halalspark&utm_medium=display&utm_campaign=ramadan-sale-2026&utm_content=family-bannerhttps://example.com/ramadan
Your page. This is where the visitor lands — the tags never change it.
?
Marks the start of the extra information. Everything after it is read by your analytics, not shown on the page.
utm_source=halalspark
The visit came from HalalSpark.
&
Separates one tag from the next.
utm_medium=display
It was a display ad.
utm_campaign=ramadan-sale-2026
It belongs to your Ramadan sale campaign.
utm_content=family-banner
The visitor clicked the family banner, not one of your other ads.
Using them on HalalSpark
Under your ad's destination URL there's a switch labelled Add UTM tags. It's there when you create an ad and when you edit one.
- Off (the default). Your link is saved exactly as you typed it. Nothing is added
- On. Four tags are filled in for you and added to the end of your link. Under the switch you'll see them as one line, and below that the full link your ad will use
- Edit tags opens the four fields if you want to change any of them. Leave a field empty and that tag is simply left out
What the defaults mean
utm_source — halalspark
So every HalalSpark visit is labelled with where it came from. This is the one tag that must be filled in while the switch is on.
utm_medium — display
Google Analytics puts the medium display into its Display channel automatically, so HalalSpark visits sit alongside your other display advertising.
utm_campaign — your campaign name
Your HalalSpark campaign name in lowercase with hyphens — "Ramadan Sale 2026" becomes ramadan-sale-2026.
utm_content — your ad title
The ad's title in the same format. It follows the title as you type it, until you edit the tag yourself.
When to change them
- To compare creatives. Give each ad its own
utm_content(for examplefamily-bannerandoffer-banner) so you can see which one brings better visitors. The default already does this if your ads have different titles - To match names you already use. If your other advertising uses a set naming scheme, use the same one here so reports line up
- To group campaigns. If you run several HalalSpark campaigns for one promotion (say, one per country), give them the same
utm_campaignto see the promotion as a whole
If your link already has tags
If you paste a link that already contains utm_source, utm_medium, utm_campaign or utm_content, we move those values into the fields and take them out of the link, with a short note saying what was moved. Your values are kept, and each tag only ever appears once in the final link.
Anything else in your link is left exactly as it was — including other UTM tags such as utm_term or utm_id, which we don't have fields for. Turning the switch off puts back any tags that came from your link, so you never lose something you typed.
https:// (or http://). A link without it can't be tagged or saved.Seeing the data in Google Analytics 4
GA4 reads UTM tags automatically — there's nothing to set up beyond having GA4 on your site.
Finding HalalSpark traffic
- In GA4, go to Reports → Acquisition → Traffic acquisition
- Change the table's main dimension (the drop-down above the first column) to Session source / medium, and look for
halalspark / display - For more detail, switch the dimension to Session campaign (your
utm_campaign) or Session manual ad content (yourutm_content) - Use the dimensions that start with Session. The plain “Source” and “Medium” work differently and can give confusing numbers in this report
Tracking sign-ups and sales
Visits are useful, but what you really want to know is whether HalalSpark visitors go on to do something — buy, sign up, download, get in touch. GA4 calls these key events (it used to call them conversions).
- Make sure the action is recorded as an event in GA4 (many sites already send
purchaseorsign_up; your developer or e-commerce platform can add others) - Go to Admin → Data display → Events and turn on Mark as key event next to it
- Back in the Traffic acquisition report, the Key events column shows how many happened per source. Use the drop-down in the column header to pick the specific event, and read across the
halalspark / displayrow
Other analytics tools
UTM tags are a shared standard, not a Google feature. Plausible, Matomo, Fathom, Shopify's analytics and most other tools read the same tags — look for their “source”, “campaign” or “UTM” reports. The names of the reports differ, but halalspark will show up as the source in the same way.
Making sense of the numbers
Why our clicks and GA4's sessions won't match
HalalSpark counts clicks on your ad. GA4 counts sessions on your site. They measure different moments, so they never line up exactly:
Ad blockers and privacy browsers
Many block Google Analytics outright. The click reaches your site, but GA4 never hears about it.
Declined cookie banners
If your site asks for consent and the visitor says no, GA4 may not record the visit at all, or may only estimate it.
People leaving before the page loads
Someone who clicks and then closes the tab or goes back before your page (and its analytics code) has loaded is a click to us, but never becomes a session in GA4. Slow pages make this gap bigger.
Our accidental-click guard
HalalSpark doesn't count a click that arrives within one second of the ad appearing, because these are almost always browsers pre-loading links rather than people. That visitor still reaches your site, so this one works the other way: GA4 can occasionally record a visit we didn't charge you for.
What's normal: as a common rule of thumb across the advertising industry, GA4 typically shows noticeably fewer sessions than an ad platform shows clicks — often 10–30% fewer. A gap in that range is expected and isn't a sign that anything is wrong.
Comparing ads with utm_content
- Wait for enough data. A handful of visits per ad can swing either way by chance. Compare once each ad has had a good number of clicks
- Look past visit counts. An ad that brings fewer visitors who stay longer and complete key events is usually the better ad. Compare engagement and key events per session, not just sessions
- Read it alongside your HalalSpark CTR. CTR in your campaign analytics tells you which ad gets clicked; GA4 tells you which ad brings people who act
Naming your tags
- Use lowercase. GA4 treats
Ramadanandramadanas two different campaigns - Use hyphens, not spaces.
ramadan-sale-2026rather thanRamadan Sale 2026 - Be consistent. Pick a pattern and stick to it, so a report doesn't split one campaign across several spellings
- Keep personal information out. Never put names, email addresses or anything that identifies a person into a tag