Campaign URL Builder
Give every campaign link a consistent name. Create individual UTM URLs or a batch of content variants you can review, copy and export.
Where will this link be used?
A REUSABLE CAMPAIGN RECORD
Your links, ready to review.
Add your destination, source, medium and campaign. Generated links will appear here.
NAME IT SO YOU CAN USE IT
A link is one part of measurement.
Use consistent source, medium and campaign values across placements. Keep a campaign register so the next person does not need to guess what a label means. This builder preserves capitalization and encodes spaces and special characters without changing their meaning.
Before a campaign goes live
- Open the final link and check the correct page and section.
- Confirm your analytics receives the expected campaign values.
- Check redirects and consent behavior in your own setup.
- Use external campaign links; avoid tagging ordinary internal navigation.
What this builder does and does not verify
It parses an HTTP or HTTPS destination, rejects embedded credentials, preserves unrelated query parameters and the fragment, and adds the provided UTM values. Existing campaign parameters require an explicit replacement choice. Replacement removes existing parameters whose names start with utm_, including differently capitalized names.
It does not shorten links, contact the destination, check analytics configuration, change attribution settings, or verify a campaign’s results. Google Ads automatic tagging and connected analytics can have their own reporting behavior. Review that setup before adding manual parameters. The naming presets are editable examples, not a promise about how your analytics will group a visit.
The URLs are built in this browser tab. Nothing is sent to a third party by this tool. Do not put email addresses, names or other personal details in tracking parameters.
A PRACTICAL FIELD GUIDE
Build campaign links your team can recognize later
A campaign report is harder to use when the same newsletter, ad or promotion appears under several names. This free campaign URL builder adds consistent UTM parameters to the destination you choose and creates a separate link for each content variant. Use it for external campaign placements such as email and paid social. Copy the results or export a URL register. The builder preserves unrelated query parameters and the page fragment, so campaign naming does not require manually rebuilding a complicated destination.
Compare placements in one campaign
Use the same campaign name for related placements and different content labels for the specific creative or button. A newsletter might use hero_button and project_story. Those labels describe the placement clearly when someone reviews the campaign register later.
Coordinate a small marketing team
Agree on source, medium and campaign naming before separate people prepare links. The CSV register gives the team one place to review what each value means. Naming consistency is especially useful when an agency and an internal team share campaign production.
Protect an existing destination
A landing URL may already include a category, referral value or section anchor. The builder adds campaign parameters while preserving unrelated query values and the fragment. If UTMs are already present, it asks for an explicit replacement choice.
How to use it
- 01
Choose the actual landing page
Enter a complete HTTP or HTTPS URL. Use the page that matches the campaign rather than automatically choosing the homepage. URLs containing an embedded username or password are rejected. Keep personal information out of the destination and campaign labels.
- 02
Set the three core labels
Add source, medium and campaign. Source identifies the publisher or platform; medium describes the channel; campaign groups the initiative. Editable naming examples can provide a starting point, but your existing reporting conventions should determine the final labels.
- 03
Add the details you will use
Campaign ID and term are optional. Use content for a single creative or placement. To make several links, enter one content variant per line. Each variant replaces the content field for its own URL, and exact repeated variants appear once.
- 04
Review existing tracking values
When the destination contains campaign parameters, inspect them before allowing replacement. Replacement removes existing parameter names beginning with utm_, including differently capitalized versions. It does not remove unrelated parameters. Capitalization in your new values is preserved.
- 05
Export, open and verify
Copy individual links, copy the batch or download the CSV register. Open the finished destination separately and confirm it reaches the right page and section. Then test that your analytics receives the intended campaign values in your actual measurement setup.
FROM INPUT TO DECISION
Worked example: two newsletter placements
Fictional destination https://example.com/offer?ref=partner#pricing, source newsletter, medium email and campaign autumn_launch.
| Input or output | Example | Why it matters |
|---|---|---|
| Existing query and fragment | ref=partner and #pricing | Both stay in the generated destination |
| Shared campaign values | newsletter, email, autumn_launch | The two placements belong to the same initiative |
| Content variants | hero_button and project_story | Each produces its own utm_content value |
| First finished URL | https://example.com/offer?ref=partner&utm_source=newsletter&utm_medium=email&utm_campaign=autumn_launch&utm_content=hero_button#pricing | Query parameters appear before the fragment |
Use the generated output instead of inserting another question mark or adding query values after the fragment. URL encoding keeps spaces and special characters inside their intended parameter values.
Prefer useful names over more parameters
Only add labels that someone will use to evaluate a campaign. A recognizable content value is more helpful than an unexplained code with no register. Do not place customer names, email addresses or other personal identifiers in campaign values.
Preserve your measurement strategy
Manual UTMs are one part of attribution. Google Ads automatic tagging, redirects, consent settings and analytics configuration can affect the result. Review those systems separately and avoid adding campaign tags to ordinary links between pages of your own website.
Questions & limits
The tool builds URLs in this browser tab. It does not contact the destination, shorten links, install analytics or verify conversion attribution.
A batch supports up to 50 content variants. Each campaign value is limited to 200 characters. The destination must be shorter than 4,096 characters, and each generated URL must fit the supported output limit.
Why are source, medium and campaign required?
They give the link an interpretable campaign identity. Google recommends those parameters for manually tagged campaigns. Use consistent conventions appropriate to your analytics setup.
Does capitalization matter?
Yes. Google documents UTM values as case sensitive. The builder preserves case and warns about uppercase values. It does not change case in the destination path.
Can I replace UTMs already in the URL?
Yes, after reviewing them and choosing replacement. Existing campaign parameters are removed before your new values are added. Unrelated query values and the fragment remain.
Does a generated link prove the campaign is being measured?
No. The destination must preserve relevant parameters and analytics must collect them. Open the link and verify collection in your actual setup before publishing the campaign.
Make campaign reporting useful for the next decision
Trojan can help align landing pages, campaign naming and inquiry measurement across paid search, LinkedIn, Meta and email. Bring the channels and reporting questions your team needs to resolve.
Plan campaign measurement