UTM rules for growth teams

Every campaign link, built the same way

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

Chrome · Slack · API · MCP Locked defaults · Override approvals Archive · Coach from who made each link

Built for AI agents too — same rules via MCP/API, every bot link labeled. How agents stay in line

The problem

Messy UTMs break the report you trust

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.

Taxonomy drift

Every teammate invents a slightly different utm_campaign. Month-end becomes a cleanup sprint.

Missing ad IDs

gclid, li_fat_id, ttclid and friends get forgotten in the paste. Paid attribution quietly decays.

No audit trail

Nobody can answer who generated a link or whether an override broke the rules.

How it works

Three steps from brief to compliant URL

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.

01

Define the rules once

Set naming rules, channel presets, and locked best-practice defaults for the account.

02

Generate where you work

Build links from the Chrome extension, Slack, the HTTP API, or MCP — same engine, same archive, ad-tool-ready paste.

03

Coach from the archive

See who made each link, what broke a rule, and open GA4 or Looker with filters that match what you shipped.

Ready for links your reports can trust?

Free for up to 3 people. No credit card. Team is $25/mo when you need the full rules engine.

AI agents

Built for your AI agents too

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.

Same rules engine

Agents call the same naming rules, channel presets, and locked best-practice defaults. No separate “bot taxonomy.”

No silent overrides

Agents can’t quietly break a locked rule. They request approval like a locked member — the exception is stamped on the link.

Labeled in the archive

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

Governance without slowing the team

Built for demand gen, performance, and agencies that need UTMs to be correct the first time.

Rules engine

Locked defaults for source, medium, campaign patterns, and channel presets. Overrides require approval.

Ad-tool paste formats

Copy the parameter string or full URL the way Google Ads, Meta, LinkedIn, and other tools expect — page-aware.

Everywhere you work

Chrome extension, Slack, REST API, and MCP — one compliant builder, four surfaces.

Generation archive

Every link records who generated it and when. Coach from flags — not a vanity “used by” counter.

Override approvals

Break a locked rule only with an explicit approval. The exception is stamped on the link.

Reporting links

Jump into GA4 or Looker with filters that match the tags you just shipped.

utm_source=linkedin&utm_medium=paid_social

Reporting

From generated link to GA4 or Looker in one click

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.

Reporting angle

Each generated link can open a pre-filtered GA4 exploration or Looker board keyed to campaign, source, and medium.

Open in GA4 → filter utm_campaign = spring_launch

Security & trust

Built for teams that care about access

Least privilege

Row-level security on every table. The landing form uses the publishable anon key with insert-only RPC — never the service role.

No credential sprawl

API keys are scoped and revocable. Members see only their account. Overrides leave an audit trail.

Privacy-aware analytics

Site analytics default to IP anonymization with ads signals off. Waitlist attribution is first-party only.

[Customer logo]Placeholder — do not invent logos
[Testimonial]Placeholder — real quotes only
[Stat / pricing]Placeholder — no invented metrics

Pricing

Per workspace, seats included

Provisional early-access tiers. Team is $25/mo (value plan with nearly everything). LinkMarshal builds plain UTM links, with no short links or redirects. Command is early access only.

Compare plans Early-access pricing, subject to change. No payment on the waitlist.

FAQ

Questions teams ask first

Is the Chrome extension required?

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.

How do campaign variants work on this page?

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.

What do you store from the waitlist form?

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.

What does it cost?

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.

Does LinkMarshal work with AI agents?

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.

Can agencies use one workspace per client?

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.

Set the rules once. Every link follows them.

Start on Free for up to 3 people. No credit card. Team is $25/mo when you need locked defaults and approvals.

Start free

Free for up to 3 people · No credit card · Set up in 5 minutes