Marketing tools
Build and validate campaign links, keep UTM names consistent, generate page metadata and social tags, and turn titles into stable URL slugs. Each tool handles one production task without an account, upload, or server-side project history. Draft destinations, campaign names, metadata, and titles remain in the browser where you entered them.
Tools
-
Check any UTM-tagged link, even one you didn't build, against your saved source, medium and campaign spellings.
-
See which UTM tags in a campaign link are missing, empty, duplicated or placed after the # sign.
-
Add UTM tags to a link while keeping its other parameters, and replace old tags instead of doubling them.
-
Generate meta, Open Graph and X tags, with length warnings and a preview using an image you haven't published.
-
Turn titles into URL slugs, one or many at once, keeping letters from any language and flagging duplicates.
Guides
-
Shows why Facebook and facebook appear as two sources in your reports, and how case and punctuation split them.
-
Walks through six checks, in order, for when your link preview image isn't showing or shows an old one.
Which tool for which job?
Three of these touch campaign links and two touch publishing. They're separate pages because they're separate decisions.
| Your situation | Tool |
|---|---|
| Making a tagged link | UTM builder |
| A link that looks wrong | UTM validator |
| A valid link that disagrees with last month's | Naming consistency |
| Titles that need to become URLs | Slug generator |
| Metadata and social cards for a page | Metadata and Open Graph |
Google's Campaign URL Builder will produce a tagged URL, and it's the right tool when you already have an account and want the official form. The work these tools are for happens around that.
Why do Facebook and facebook become two rows in my report?
Because campaign parameters are exact strings, and analytics platforms group by the exact string. That's the data model, not a glitch in any particular product.
A source of Facebook and a source of facebook are two rows.
So are paid_social and paid-social. So are
fb and facebook. Your quarter's numbers get split across them,
and the split is invisible until someone adds up the report and finds the total short.
The mechanism is walked through in why UTM names split your reports, which then hands you the checker.
Why is validation separate from naming consistency?
They catch different failures, and one can pass while the other fails badly.
The validator is about structure. It parses your
URL with the same URL model a browser uses and exposes all five conventional tags:
source, medium, campaign, term, and content. It flags missing values, empty tags,
stray whitespace, unknown UTM names, and UTM tags placed after the #, which
browsers leave out of the request to your server.
It also refuses to guess. A URL with two source values is syntactically valid and semantically ambiguous, so the validator says the attribution is ambiguous rather than picking one and moving on.
None of that catches your real problem, which is usually that the link is perfectly
formed and uses paid_social when the rest of the quarter used
paid-social. That's what the
naming consistency checker is for. It
compares a tagged URL against spellings you explicitly saved in this browser and flags
case, punctuation, and spacing drift.
The saved vocabulary holds source, medium, and campaign spellings only. Never the destination URL. It lives in this browser, it never reaches a server, and clearing it removes it immediately.
What does the metadata generator actually generate?
Ordinary meta tags, Open Graph tags, and X card tags, all from one set of fields, so the three can't drift out of sync the way hand-written tags do.
You get local previews for LinkedIn, X, Facebook, and Slack, which is where truncation and missing fields become obvious. Two honest limits on those previews. They're approximate renderings rather than platform emulators. And the image URL is displayed but never loaded, so pasting a private or signed draft URL doesn't fire a request at it.
That means the page can't confirm your image exists or that your canonical resolves. It checks the shape of your metadata, not the truth of it.
What breaks a URL slug?
Accents, punctuation, and two titles that collapse to the same string.
The slug generator keeps Unicode by default and offers an explicit ASCII mode when your stack needs it, so you choose rather than discovering the transliteration after publishing. It takes titles in bulk, which is how you actually work when a content calendar lands.
On collisions it reports them instead of silently appending a number. A slug ending in
-2 that you didn't ask for is a URL nobody will guess and a redirect
somebody will forget.
Why aren't these one workspace?
Building, validating, checking names, slugging, and writing metadata are five decisions that happen at different moments. Folding them into one screen would ask you for information unrelated to the thing you came to do.
The pages link to each other where their outputs genuinely connect. The builder hands its result to the validator and the naming tools. That's a workflow, not a workspace.
What does "runs in your browser" mean here?
It means these tools parse text that's already on the page. They don't visit your landing page, send the campaign URL to an analytics platform, or transmit it anywhere.
There's a real consequence you should know about. Because nothing is fetched, these tools can't follow a redirect chain or read the tags a live page is currently serving. They check what you paste. For a draft URL that isn't published yet, that's the only thing that could work anyway.
Before any update to these tools goes live, an automated check types into every box and presses every button, and blocks the update if what it typed turns up in a request. Each page also shows its own measured request count while you use it. More in how we build tools.
Questions
Will the validator tell me if my link is tracking correctly?
It tells you whether the link is well formed. The UTM validator lists all five UTM tags, flags a missing source, medium or campaign, and flags any tag that is empty or doubled. It never opens the link, so it can't see whether the landing page loads. Whether your analytics receives the visit depends on your analytics setup.
Should I use lowercase for everything?
It's an easy rule to hold, and holding one rule is what matters. Google's help page says "Use lowercase as a standard practice." It also says "Keywords with different capitalization, such as Meta and meta, are treated as different values." Save your agreed spellings in the naming consistency checker. It flags a new link whose source, medium or campaign differs from one only by case, spaces or punctuation.
Where should the UTM parameters go in the URL?
In the query string, after a ? and before any #. The part after # is a fragment. RFC 3986 says it's "separated from the rest of the URI prior to a dereference," so it isn't in the request your server gets. The page still loads, so nothing looks wrong to a person reading the link. That's why the UTM validator flags tags placed after the #.
Does the saved vocabulary sync between my devices?
No. The naming consistency checker keeps saved names in the browser you saved them in, and only after you turn on "Keep this on this device." That's the trade for having no account. Unticking that box deletes them from that browser. If a team needs one shared list, keep it wherever your team already keeps decisions, and save it on each device.
Related tools
For scheduling a campaign rather than tagging it, use the date and time tools. Material changes land in the changelog.
Other tools you might want
Designing the landing page or the share card? The color tools check that your text and buttons pass WCAG contrast, generate a palette with contrast checked on every shuffle, and show which colors look alike to color blind readers.