Build campaign links with clean UTM parameters — no typos.
Recommended — the link works without them, but source, medium, and campaign are what keep your reports readable.
Enter a destination URL above and the tagged campaign link will build itself here, live.
Five tags travel with your link and show up in your analytics.
Where the traffic came from — the platform or publisher. Example: instagram, google, whatsapp, qr-code.
The marketing channel or format. Example: social, cpc, email, sms, print, qr.
The specific campaign or promotion. Example: ramadan-2026, summer-sale, product-launch.
Optional — the paid keyword you bid on. Mostly used for search ads. Example: qr-code-generator.
Optional — tells apart two links to the same page. Example: header-button vs footer-link, or menu-code vs poster-code.
UTM parameters are small tags added to the end of a link — utm_source, utm_medium, utm_campaign and two optional ones. They change nothing about the page a visitor sees; they simply travel along so your analytics tool can report exactly which campaign, channel, and platform brought each visitor.
They matter most when the same page is promoted in many places at once — an Instagram post, a printed poster, a WhatsApp broadcast, a QR code on a table. Without tags, every one of those visits looks identical in your reports. With them, you can see that the table QR code out-performed the poster and shift your budget accordingly.
For printed campaigns, put the tagged link behind a dynamic QR code rather than encoding the long tagged URL directly — a QRA dynamic code keeps the printed pattern short and lets you attach or change UTM tags per code without reprinting. Build the code in the free QR generator.
UTM parameters are five short tags (utm_source, utm_medium, utm_campaign, utm_term, utm_content) appended to the end of a link. They never change the page that opens — they only tell your analytics tool exactly where the visit came from, so an Instagram story and a printed QR code stop being lumped together as anonymous "direct" traffic.
The source is the specific place the click came from — google, instagram, whatsapp, or qr-code. The medium is the type of channel — cpc for paid ads, social, email, sms, or print. A paid Google ad is source=google + medium=cpc, while a QR code on packaging might be source=qr-code + medium=print.
No. Source, medium, and campaign are the three worth setting on every link — they are what analytics reports group by. Term (the paid keyword or audience) and content (which ad variant or placement) are optional refinements, mostly useful for paid search and A/B-testing two links inside the same campaign.
No — the page loads exactly the same, and search engines understand query parameters. Two cautions: only tag links you publish externally (ads, social posts, QR codes), never internal navigation between your own pages, because that overwrites the visitor’s real origin mid-session; and keep a canonical tag on your pages so tagged URLs are not indexed as duplicates.
Open Reports → Acquisition → Traffic acquisition, where sessions are already grouped by source/medium; add campaign as a secondary dimension, or build a custom breakdown in Explore. Most other tools — Meta Ads, Mixpanel, Matomo — read the same standard parameters automatically, which is why UTMs work everywhere.
Yes — this tool percent-encodes Arabic automatically so the link stays valid, and analytics tools decode it back for reports. Keep in mind the encoded link gets long and unreadable, so many teams in the region prefer short Latin slugs such as ramadan-offer for values people type often.
Dynamic QR codes let you change the destination anytime — no reprinting — and show you every scan: when, where, and on which device. Try the full QRA studio free for 14 days.