Raydar free tools

Build UTM links your analytics can group.

A UTM builder that argues back. It flags casing and naming drift as you type, remembers every link you build, and ships verified dynamic-macro tables for Google Ads, Meta and TikTok.

The interactive tool loads with this page and runs entirely in your browser.

Why consistency beats coverage

Most broken campaign reports are not missing UTMs. They are inconsistent ones. Analytics tools group traffic by the exact string in each parameter, and the grouping is case-sensitive: Facebook, facebook and fb are three different sources in GA4, and your "one campaign" becomes three rows that each look smaller than they are.

That is why this builder keeps a local history and lints against it. The second time you type a near-duplicate of a value you used before, it tells you, and offers the spelling your own history already uses. Nobody rereads a naming doc mid-launch. A field that remembers your own history is the enforcement that sticks.

Tracking template or final URL suffix?

On Google Ads, dynamic ValueTrack parameters like {campaignid} resolve in both the tracking template and the final URL suffix, with one important exception: {lpurl} only works in tracking templates, because it stands in for the landing page URL itself. If you only need UTMs appended to your landing page, put them in the final URL suffix at account, campaign or ad group level and skip tracking templates entirely. Templates are for routing clicks through a third-party tracker before the landing page.

The TikTok __AID__ trap

TikTok's macros look self-explanatory and are not. __AID__ is the ad group ID, not the ad ID. __CID__ is the creative ID, not the campaign ID. Wire them into the wrong UTM slots and every report downstream is confidently wrong. The TikTok table below spells out what each macro actually resolves to, so you can copy the pairing instead of guessing it.

One more TikTok habit worth keeping: macros are wrapped in double underscores on both sides. A single underscore is not a macro, and TikTok will pass the literal text straight into your URL.

What belongs in utm_medium versus utm_source

The two get mixed up constantly because they answer similar-sounding questions. utm_source is the specific property that sent the click: a domain, an app, a partner's name. utm_medium is the category that source belongs to, the general channel type. Get the pairing backwards and the same click becomes impossible to compare against anything else in that channel, because half your paid traffic is filed under a source name and the other half under a medium name.

utm_sourceutm_mediumWhat it means
facebookcpcA paid Facebook ad
facebooksocialAn organic Facebook post
newsletteremailYour own recurring email send
googlecpcA paid Google Ads click (auto-tagging usually handles this one for you; hand-tagging it too creates a collision)
partner-namereferralA link a partner placed on their own page
affiliate-nameaffiliateA tracked affiliate link
instagramsocialA link in an Instagram bio or story

Read the table as a rule rather than a lookup: source is always a specific place, medium is always the category that place belongs to. If the same word keeps landing in both fields, one of them is wrong.

utm_id, and when it earns its place

utm_campaign is the name a person reads on a report. utm_id is a machine key underneath it: GA4 uses it to join cost data imported from an ad platform against the sessions those ads actually produced, so spend and click-through numbers line up with the right campaign inside your own analytics. If you never import cost data, utm_id has nothing to do, and most self-serve marketers skip it entirely without losing anything. If you do import cost data, the value needs to match the campaign ID the ad platform itself uses, not a human label, or the join fails quietly and the cost data sits unmatched.

The most common self-inflicted wound: UTMs on your own internal links

UTM parameters are built to mark the outside edge of a session, the moment a visitor arrives from somewhere else. Analytics tools take that literally: land on a page carrying campaign parameters and most tools start a fresh session, crediting whatever source and medium sit in that URL, even if the visitor has already been browsing the site for twenty minutes.

The accident happens when a tagged link gets reused somewhere it shouldn't be: a promo banner on your own homepage pointing at your own pricing page with the same UTM-tagged URL you built for an ad campaign, a "share this" button that recycles the URL a visitor arrived on. The click is internal, but the parameters say otherwise, and the analytics tool believes the parameters over the visitor's actual history. The original source gets overwritten mid-session, the campaign that earned the visit loses credit, and the internal click gets credited instead. Nothing errors, so nobody notices; the numbers just quietly stop meaning what they used to.

The fix is a rule, not a tool: UTM parameters belong on links that cross from somewhere else onto your site. Any link where both ends are pages you own should stay a clean URL.

What happens to UTMs through a redirect or a shortener

A redirect only carries a query string if whatever is doing the redirecting was built to forward it. A well-built shortener or link-in-bio tool appends the visitor's incoming parameters onto its own destination URL before sending them on; a lazier one redirects to a fixed URL and drops anything that arrived with the click. There is no way to tell which behaviour you are getting from the outside without testing it: build a tagged link, run it through the redirect, and check what actually lands on the far side.

This matters most when a tagged link is going into something you do not fully control, an aggregator, a QR code service, an old shortener nobody has touched in years. If a campaign's numbers look consistently lower than expected, a parameter-eating hop somewhere in the chain is one of the first places worth checking.

Why UTMs on a link you don't own tell you nothing

Whoever owns the analytics is the only one who can read the parameters. Tag a link to somebody else's site with utm_source and utm_campaign, and those values arrive in that site's analytics account, not yours; you have no way to confirm they were even recorded, since you have no access to that system. Tagging only pays off on a URL feeding into an analytics setup you can actually open.

It is worth remembering the same limit applies in reverse, before assuming a tool can see more than it can. The click itself, direction and volume, is visible to whoever serves the link (a Raydar page shows that much for its own outbound clicks). What happens on the far side after the visitor lands, whether they converted, how long they stayed, only shows up in analytics installed on that destination, and only to whoever can log into it.

Where Raydar fits

UTMs tell you which campaign a click came from. They cannot tell you anything about the person who clicked. Raydar links carry your UTMs and add per-click detail on the other side: location, device, referrer and time for every click, in a logbook you can read. If you already tag your links, you are one step from actually seeing who is behind them.

Other free tools

Questions

Do UTM parameters affect SEO or slow pages down?

No. UTM parameters are inert text in the URL that your analytics reads on arrival. The one SEO caution: pages should not be indexed under tagged URLs, which is solved with a canonical tag pointing at the clean URL, something most platforms do by default.

Should utm_source and utm_medium be lowercase?

Yes, always. Analytics grouping is case-sensitive, so Facebook and facebook count as two different sources. Lowercase everything and separate words with hyphens or underscores, and pick one of the two, not both.

Where is my campaign history stored?

In your browser's local storage, on your device. Nothing you type in this builder is sent to a server, and clearing your browser data clears the history.

What is the difference between utm_id and utm_campaign?

utm_campaign is the human-readable campaign name you group reports by. utm_id is a campaign identifier used by GA4 for joining cost data imports. Most teams only need utm_campaign; add utm_id when you import ad cost data.

Should I put UTM parameters on links between pages on my own site?

No. A UTM-tagged link is meant to mark the outside edge of a session, and most analytics tools start a new session the moment one is present, overwriting whoever actually brought the visitor to the site. Keep internal links, including buttons and banners that point at your own pages, completely clean.

Do UTM parameters survive a redirect or a link shortener?

Only if the service doing the redirecting is built to forward them. Some shorteners re-append the incoming query string onto their own destination URL; others redirect to a fixed URL and drop everything that arrived with the click. Test a specific redirect chain rather than assuming either way.

What's the point of tagging a link to a site I don't own?

Very little. UTM parameters only get read by the analytics installed on the destination, so tagging an outbound link to a page you have no login for produces data you will never see. Tagging pays off on URLs feeding an analytics account you can actually open.

Give your bio link a brain.

Build your page, watch who converts, free to start.

Get started free

No card required.