Define the rules once
Set naming rules, channel presets, and locked best-practice defaults for the account.
Set the rules once. Every link follows them.
Lock naming rules once for people and AI agents. Marketers use Chrome or Slack; agents use the API or MCP — same locked defaults, same archive of who (or which agent) made each link.
Free for up to 3 people · No credit card · Set up in 5 minutes
Built for AI agents too — same rules via MCP/API, every bot link labeled. How agents stay in line
The problem
Hand-built tags drift. Channel macros get dropped. GA4 sessions fragment across near-duplicate campaigns. When leadership asks “what drove pipeline?”, the answer is buried in cleanup work.
Every teammate invents a slightly different utm_campaign. Month-end becomes a cleanup sprint.
gclid, li_fat_id, ttclid and friends get forgotten in the paste. Paid attribution quietly decays.
Nobody can answer who generated a link or whether an override broke the rules.
How it works
Locked defaults do the heavy lifting. Approvals unlock only when someone needs to break a rule. Paste formats match Google Ads, Meta, LinkedIn, and more.
Product demo
15–30s walkthrough of the extension + archive — slot for the real recording once domain and ads are ready.
Set naming rules, channel presets, and locked best-practice defaults for the account.
Build links from the Chrome extension, Slack, the HTTP API, or MCP — same engine, same archive, ad-tool-ready paste.
See who made each link, what broke a rule, and open GA4 or Looker with filters that match what you shipped.
Free for up to 3 people. No credit card. Team is $25/mo when you need the full rules engine.
AI agents
UTM sprawl isn’t only from new or opinionated marketers. Assistants and agents create campaign links at machine speed. LinkMarshal gives them a repeatable rules framework over MCP and the HTTP API — the same locked defaults your team uses in Chrome and Slack. Works with MCP clients like Claude and Cursor (and any other MCP-capable tool). Not an official partnership — just the open protocol our server speaks.
Agents call the same naming rules, channel presets, and locked best-practice defaults. No separate “bot taxonomy.”
Agents can’t quietly break a locked rule. They request approval like a locked member — the exception is stamped on the link.
Give each agent its own identity (service principal / API key). Every generated link shows which agent made it, so you can coach bots the way you coach people.
Key features
Built for demand gen, performance, and agencies that need UTMs to be correct the first time.
Locked defaults for source, medium, campaign patterns, and channel presets. Overrides require approval.
Copy the parameter string or full URL the way Google Ads, Meta, LinkedIn, and other tools expect — page-aware.
Chrome extension, Slack, REST API, and MCP — one compliant builder, four surfaces.
Every link records who generated it and when. Coach from flags — not a vanity “used by” counter.
Break a locked rule only with an explicit approval. The exception is stamped on the link.
Jump into GA4 or Looker with filters that match the tags you just shipped.
Reporting
LinkMarshal doesn’t replace your analytics stack. It makes sure the tags that land in GA4 and Looker are the ones your rules intended — so paid tests on YouTube, LinkedIn, and elsewhere stay attributable.
Each generated link can open a pre-filtered GA4 exploration or Looker board keyed to campaign, source, and medium.
Security & trust
Row-level security on every table. The landing form uses the publishable anon key with insert-only RPC — never the service role.
API keys are scoped and revocable. Members see only their account. Overrides leave an audit trail.
Site analytics default to IP anonymization with ads signals off. Waitlist attribution is first-party only.
FAQ
No. Chrome is one surface. The same rules engine is available via Slack, the HTTP API, and MCP. The extension is the fastest path for individual marketers.
Ads can land on /l/youtube, /l/linkedin, /l/agencies, /l/ai-agents, or ?v=youtube. Headlines and subheads swap from a small config — no rebuild required for copy tweaks beyond that file.
Email, optional company and role, the page variant, referrer, landing path, standard utm_* values, and common ad click IDs (gclid, li_fat_id, ttclid, fbclid, msclkid). Used only to run early access and attribute which channels convert. A honeypot field blocks naive bots.
Free for up to 3 people. Team is $25/mo ($20/mo billed annually). Command ($70/mo, or $58/mo billed annually) is early access only: join the waitlist. See pricing. Early-access prices may change; no payment on the waitlist.
Yes. Agents use the same rules engine through our MCP server and HTTP API — compatible with MCP clients like Claude and Cursor. They follow locked defaults, can’t silently override (only request approval), and every agent-built link is labeled in the archive via its own identity. We don’t claim official partnerships with those products; MCP is an open protocol.
Yes — accounts are isolated. That’s the point of the agencies variant: one rules engine, many brands, no shared credentials. Multi-workspace controls sit on Command.
Start on Free for up to 3 people. No credit card. Team is $25/mo when you need locked defaults and approvals.
Start freeFree for up to 3 people · No credit card · Set up in 5 minutes