UTM builder and tag checker
Build a campaign link that analytics will still recognise next month.
Start from a common pairing
Fill in a landing page and a campaign name to build the link.
Tagging the link is step one. Knowing when it broke is step two.
Marketing OS watches pixel and Conversions API health and cross-checks every spending campaign against the sessions actually arriving from it — so a template that stopped filling in shows up as a failing check rather than as a quiet month of unattributed revenue.
How this is worked out
Analytics keys on the literal string it receives, so Facebook and facebook are two different sources and a space becomes %20 halfway through a report. Those are the warnings about casing and spacing.
The campaign warning is the one worth reading twice. Campaign names travel into a URL through templates like {{campaign.name}}, and by the time they come back out of analytics the spaces, pipes and capitals have all been mangled. Anything trying to match spend to sessions has to compare on a squashed key — lowercase, with every run of non-alphanumeric characters collapsed to a hyphen. If your tag squashes to something different from your campaign name, the two never meet, and the campaign shows spend with no traffic behind it.
That is not hypothetical: it is exactly the check Marketing OS reports as an untagged spending campaign, using this same rule.
More free tools
- AI search visibility checkerDoes ChatGPT name your business when someone asks for one nearby?
- Break-even ROAS calculatorThe return on ad spend below which every sale loses money.
- Target cost per lead calculatorWhat a lead is worth to you, before you go and buy one.
- Ad metrics calculatorROAS, CPA, CPL, CTR, CPM and frequency from one set of numbers.