Tracking
UTM parameters explained: a practical guide for UAE marketing teams
What UTM parameters are, how to build them, and how to get them into your CRM so every website lead shows the campaign and ad it came from. With rules, examples and a ready template.
Every website lead should tell you where it came from. UTM parameters are how. They are small tags on the end of a link that travel with the visitor, so your analytics, your forms and your CRM can record the source, campaign and ad behind each enquiry.
Most teams use UTMs, but few use them consistently. This guide covers how to build them properly and, more importantly, how to get them into your CRM, where they turn into cost per qualified lead.
The five UTM parameters
| Parameter | What it records | Example |
|---|---|---|
utm_source | Where the traffic comes from | meta, google, linkedin, tiktok, newsletter |
utm_medium | The type of traffic | paid_social, cpc, email, organic_social |
utm_campaign | The campaign | re_dxb_marinalaunch_lp |
utm_content | The ad or creative | static_paymentplan_v2 |
utm_term | The keyword or audience | investors |
A full link looks like this:
https://example.ae/marina?utm_source=meta&utm_medium=paid_social&utm_campaign=re_dxb_marinalaunch_lp&utm_content=static_paymentplan_v2
Seven rules that keep UTMs clean
- Always lowercase. Many tools treat
Metaandmetaas two sources. - No spaces. Use underscores. Spaces become
%20and break lookups. - Fix the list of sources and mediums. Write them down.
facebook,fbandmetashould not all exist. - Mirror your campaign name.
utm_campaignshould be the lowercase version of the campaign name in the ad platform, following your naming convention. That is what lets website leads join to ad spend. - Use
utm_contentfor the ad. It's the only way to compare creatives on website leads. - Never put UTMs on internal links. A UTM on a link inside your own site overwrites the original source.
- Use a builder. Typing UTMs by hand guarantees typos. Zero Metrics has a UTM builder with saved presets and a live preview.
Dynamic parameters save time
Most ad platforms can fill UTM values automatically using placeholders, so you don't build a link per ad.
- Meta Ads supports dynamic parameters such as
{{campaign.name}},{{adset.name}}and{{ad.name}}in the URL parameters field. - Google Ads supports tracking templates and ValueTrack parameters such as
{campaignid}and{keyword}, and adds the GCLID automatically when auto-tagging is on. - TikTok and LinkedIn offer similar URL parameter options in their ad setup.
Dynamic names only help if the names themselves are clean, which brings you back to the naming convention.
Getting UTMs into your CRM
This is the step most teams skip, and it's the step that matters. Google Analytics can show sessions by campaign, but it can't tell you which campaign brought a qualified buyer. Your CRM can, if the UTM values reach it.
- Add hidden fields to every website form:
utm_source,utm_medium,utm_campaign,utm_content,utm_term, plusgclidfor Google Ads. - Fill them from the URL. Most form tools (HubSpot forms, Webflow, WordPress form plugins) can do this. Otherwise a short script reads the parameters and writes them into the fields.
- Store first-touch values. Save the UTMs in a cookie or local storage on the first page view, so they survive if the visitor reads three pages before submitting.
- Map the fields to CRM properties so each lead record shows its source, campaign and ad.
- Test it. Submit a test lead from a tagged link and check the CRM record.
For WhatsApp click-to-chat buttons, pass a short reference code in the pre-filled message and decode it in your WhatsApp inbox or CRM.
From UTMs to cost per qualified lead
Once leads carry their campaign and ad, you can join them to ad spend and to their CRM status. That gives you cost per lead, cost per qualified lead and cost per deal for every ad, not just for every platform. We explain why that matters in cost per lead in Dubai.
Zero Metrics reads the UTM fields on each lead, matches them to the campaign and ad in your ad accounts, and shows the result in one pivot table that refreshes every hour.
Quick checklist
- One written list of sources and mediums
- Campaign names follow the convention and are mirrored in
utm_campaign utm_contentidentifies the ad- Hidden UTM and GCLID fields on every form, stored on first visit
- Fields mapped into the CRM and tested
- No UTMs on internal links
See it on your own campaigns. Zero Metrics joins your ad accounts to your CRM and shows cost per lead, MQL, SQL and deal for every ad, refreshed every hour. Book a free 30-minute demo or see the product.