Build campaign URLs that follow one convention, and see which GA4 channel each link will land in before you send it.
Free, no login, no email. Nothing stored beyond a 24 hour cache. Markdown copy · API and MCP
Add a destination URL, a source, and a medium. The link builds as you type.
These rules are applied to every value before it goes in the link, so the whole team produces the same tag for the same placement. They are remembered in this browser.
Example with the current rules: Spring Sale 2026! becomes spring_sale_2026
Parameters written: utm_source, utm_medium, utm_campaign, utm_id, utm_term, utm_content. Empty fields are left out rather than written blank.
This tool runs entirely in your browser. The URLs you build are never uploaded, never logged, and never leave this tab. Only your convention settings are saved, in this browser, so you do not have to set them again.
Paste the destination
Any page URL. Existing tags on it can be loaded into the fields rather than duplicated.
Fill in the placement
Source and medium at minimum. Your convention is applied as you type, and each field shows the tag it will actually produce.
Check the warnings, then copy
The tool flags unrecognised mediums, personal data, and internal-link tagging before the link goes out. Add several to build a set.
Every UTM builder joins five inputs with ampersands, and none of them get that wrong. What goes wrong is that one person types Facebook, another types facebook, and a third types FB. Analytics tools compare those as literal strings, so one campaign becomes three rows and every number is a third of what it should be.
Nothing alerts you. The report looks fine. You find it months later while trying to work out why a channel underperformed, and by then the history cannot be fixed because the values are already written into collected data. This tool applies one convention to every value, shows you the tag it produced, and remembers the rules so the next person gets the same result.
GA4 sorts traffic into channel groups, and for most of them the decision comes down to utm_medium matching a value Google recognises. Use email and you land in Email. Use newsletter and you land in Unassigned, which is a bucket nobody opens. The campaign ran, the clicks arrived, and the report says nothing happened.
That rule is documented but almost never surfaced where you are actually typing. Here the channel appears under the medium field as you type it, so you find out while you can still change it instead of at the end of the quarter.
The first is tagging internal links. A UTM on a link between two pages of your own site starts a fresh session and replaces the original source, so a visitor who came from a paid ad and clicked a tagged nav link is credited to the nav link. Paid spend disappears into internal traffic.
The second is personal data. Putting an email address or a customer ID in utm_content is common in lifecycle email, and it breaks Google's terms. They can delete the data, and the deletion is not selective. This tool flags both before you send the link.
Source and medium. Without both, GA4 cannot place the visit in a channel and it usually ends up reported as direct. Campaign is strongly recommended because it is how you group placements together. Term and content are optional, and content is the one most people underuse: it is how you tell the hero button apart from the footer link in the same email.
The same run this page does, as an HTTP endpoint and as the MCP tool build_utm_url. No account, no API key. Full reference.
curl -sS https://usesuperflow.ai/api/tools/utm-builder \
-H 'Content-Type: application/json' \
-d '{"url":"example.com/pricing","source":"newsletter","medium":"email","campaign":"spring launch"}'Returns { url, normalized, channel, issues[] with level, field and message }. None. The work is local and costs nothing. Allow up to 10 seconds.
claude mcp add --transport http superflow https://usesuperflow.ai/api/mcpThen ask your agent for build_utm_url. Setup for Claude Desktop, Cursor and VS Code is on the reference page.
No login, no email, no ads. Same as this one.
Superflow agents watch every page your campaigns point at, and tell you when the landing page changes, breaks, or quietly stops matching the ad.