Skip to main content
NyankoTools

UTM Builder: Campaign URL Generator

Enter utm_source, utm_medium, utm_campaign and the rest to tag links for ads, newsletters and social posts. Paste one URL per line to tag many at once; existing query parameters and the hash are left intact. To inspect or edit a URL further, try the URL Parser & Query Editor.

🔒 Runs in your browser · Your data is never sent to a server

One URL per line if you have several. http and https URLs are supported.

Source / medium presets

Campaign name presets

History

No history yet. Copied URLs are saved here.

    How to use

    1. Enter your links in "Destination URLs", one per line.
    2. Pick a preset or fill in utm_source, utm_medium, utm_campaign and the rest.
    3. Check the "Tagged URLs" and press "Copy". Copied URLs are kept in history.

    Notes

    • History is stored only in this browser (localStorage) and never sent to a server. Clear it on a shared computer.
    • GA4 and similar tools treat parameter values as case-sensitive: Google and google are reported separately, so keep your naming consistent.
    • An existing utm_* parameter with the same name is replaced by the new value. A field you leave empty keeps whatever the original URL had.
    • Do not put UTM parameters on internal links. Clicking them can start a new session and overwrite the real traffic source. Use them for inbound links only.

    Glossary

    UTM parameters

    Query parameters added to a link to tell analytics which ad or email a visit came from. There are five: utm_source, utm_medium, utm_campaign, utm_term and utm_content.

    Source and medium

    Source is where traffic comes from (google, newsletter). Medium is the kind of channel (cpc, email, social). Together they decide how a visit is grouped into a channel.

    Fragment (hash)

    The part of a URL after "#". UTM parameters must go in the query, before the hash.

    FAQ

    Which UTM parameters are required?

    For campaign reports in GA4 you normally set utm_source, utm_medium and utm_campaign together. utm_term (search keyword) and utm_content (ad or link variant) are optional. The tool warns about empty fields, but it will generate a URL as long as at least one value is filled in.

    What happens if the URL already has a query or a hash?

    The existing query keeps its order and encoding, and the UTM parameters are appended at the end. The hash stays last, so "?a=1#top" becomes "?a=1&utm_source=...#top". Only an existing utm_* parameter with the same name is replaced.

    Can I use spaces or non-English text in the values?

    Values are percent-encoded, and a space becomes "%20". Still, non-English values are hard to read in reports and easy to misspell, so lowercase letters and underscores are safer. Use "Lowercase all values" to avoid mixed-case duplicates.

    Where is the history stored?

    Copied URLs are kept in this browser's localStorage, up to 20 entries, and are never sent to a server. If the browser blocks storage, the tool still works without history.

    Share this page

    ↑↓ Select Enter Open Esc Close