Campaign Builder · Measure
Campaign URL Builder
The destination URL is the page you promised. Path, offer codes, then UTMs (tags on a link). Mixing those jobs in one messy string is how landing pages 404 and reports lie.
The tool
Try it here
Use this to lock the landing URL before you tag it. Then send the result through the UTM builder - or attach UTMs here if they are already named.
Why it helps
Why you need a Campaign URL Builder
A campaign URL is not the same job as a UTM. The URL is where they land. The UTM is how you attribute. If you only build UTMs on the homepage, you paid for a bounce.
Extra query params (ref, offer, lang) often belong to the product, not to Google. Keep them stable. Put attribution in utm_*.
Trailing slashes, http vs https, www vs apex: four URLs, four rows. Or a redirect that drops query strings if someone misconfigured the server.
When
When to use it
- You have a path (/demo, /webinar, /in/pricing) and you are not sure the live URL is canonical.
- You need an offer or referral code on the URL that is not a UTM.
- You are handing a destination to a media buyer who should not invent the path.
How
How to use it
- 1Enter the origin: https://acme.com - with https.
- 2Enter the path: /demo. Leading slash. No hash unless you mean it (hashes are not sent to the server).
- 3Optional product params: offer=q3, lang=en. Not utm_*.
- 4If the campaign name is ready, attach source, medium, campaign here, or copy the destination into the UTM builder for the sanitizer and chips.
- 5Copy. Open the preview if you can. Confirm the page matches the brief.
Example
Example: demo page plus offer code plus UTM
Landing is /demo. Product wants offer=live-demo. Attribution is google/cpc with the locked campaign name.
You put in
- Origin
- https://acme.com
- Path
- /demo
- Product params
- offer=live-demo
- UTM campaign
- google-in-demo-exact-2026q3
You get
https://acme.com/demo?offer=live-demo&utm_source=google&utm_medium=cpc&utm_campaign=google-in-demo-exact-2026q3
The page can read offer=live-demo for the hero. GA4 still gets a clean campaign. If you had stuffed live-demo into utm_campaign, the product and the report would share one brittle string.
Result
What this changes for you
Ads point at the demo page, not the homepage. Offer codes survive. UTMs stay a suffix, not a rewrite of the path.
Common mistakes
- http:// on a site that redirects to https and drops query params. Test it once.
- UTMs in the path (/demo/utm_source=google). They will not parse.
- A #section link as the only destination. Ads crawlers and some apps ignore the hash.
- Different URLs for the same page (slash vs no slash) without a canonical redirect.
FAQ
Campaign URL Builder FAQ
How is a campaign URL builder different from a UTM builder?
This builds the destination: origin, path, product query. The UTM builder specialises in clean attribution tags. Use both. Destination first, tags second.
Should every campaign URL include UTMs?
Paid, email, partners: yes. Organic site navigation: no. Internal UTMs reset the session.
Do offer codes belong in utm_content?
Only if the code is for reporting variants. If the page must read it, use a product param (offer=) so a missing UTM does not break the page.
What if the landing page is a PDF?
You can still tag the URL. Prefer an HTML page with the PDF behind a CTA so you can measure the click and keep the same offer on the page.