Say where the link is going. It comes back tagged right.

Plain words in. Out comes a GA4-safe tagged link, a short link, and a log the whole team shares.

Where is this link going?demo
utm_source utm_medium utm_campaign utm_term utm_content
GA4 files it under Organic Social

Short link (same tags, clicks counted)

This demo runs a small set of rules in your browser. The real thing uses AI plus your own naming rules, and only links to pages on your own sites.

Your links look tagged. Your report says otherwise.

Here is the one that got me. Our own Skool links said utm_source=skool and utm_medium=community. Tidy, consistent, and spelled the same way every single time.

GA4 filed every one of those visits under Unassigned. People came. The report could not say from where. GA4 has simply never heard of the word "community", and nothing we used had any reason to tell us.

One source. Five rows.

  • facebookrow 1
  • Facebookrow 2
  • fbrow 3
  • metarow 4
  • paid-socialrow 5, and that one is a medium

Five spellings of one thing means five smaller numbers, and nobody trusts any of them.

One word. Same link.

utm_medium=community→Unassigned
utm_medium=social→Organic Social

GA4 files a visit only when the tag uses a word it knows. It does not warn you. It just files it under Unassigned and moves on.

"I only see direct, organic, referral, and not set, I don't see the UTM campaigns I've set up at all, and it's been driving me batty."

Posted on r/GoogleAnalytics

"I don't enforce anything. It's a fools errand."

Posted on r/GoogleAnalytics, about the team naming convention

"Half our monthly reporting time is spent reconciling UTM parameters that don't match."

Posted on r/AskMarketing, an agency with fifteen clients

Notice when every one of those fixes happens. After. The visits are already filed, and filed visits do not move.

What you have already tried

I tried all four. Each one works right up to the moment a human touches it.

The naming doc

Works until the new freelancer posts on Friday at five and makes up a medium.

The locked spreadsheet with dropdowns

Half the team goes around it. The other half copies last month's link and changes one word.

The per-seat link tool

Paid by the head, so two people got logins and the rest of the team kept typing tags by hand. Nothing checked any of it against GA4.

Bitly on the free plan

Shortens whatever you typed. No click data. Has never heard of GA4 either.

None of them are in the room at the one moment that matters: when the link is being made.

Paste one of your links. See where GA4 files it.

The same check our free checker runs, against Google's published channel rules. Nothing you paste leaves your browser.

GA4 files this visit under
...

    Every link LinkMasher makes passes this exact check before you ever see it. That is the whole idea: right when it is made, not caught weeks later in a report.

    Three moves. The link never gets a chance to be wrong.

    1

    Say it.

    That is the whole input, with no fields to fill and no naming doc to go and find first.

    "Spring sale link in my Instagram bio this week"
    2

    It applies your rules, not its guesses.

    Your sources, your mediums, your placement words, your date format. Then Google's own channel rules, so nothing lands in Unassigned. And it will only link to a page on one of your own sites.

    utm_source instagram
    utm_medium social
    utm_campaign spring-sale
    utm_term bio-link
    utm_content -spring-sale
    GA4 Organic Social
    3

    Copy it. Shorten it. It is in the log.

    The long link, a short link on your own domain, and a shared log with who made it and how many people clicked. Your teammate, and any agent you point at the MCP server, make links the exact same way.

    short go.yoursite.com/7hK2pQ
    log Sep 29, Damon, spring-sale, instagram / social / bio-link
    clicks counted, preview bots filtered

    What founders get

    The engine is live and makes every one of our own links today. Start now on the founding rate, it never goes up, and every update is included.

    Your naming rules, enforced

    Allowed sources and mediums, placement words, date format, custom parameters. Every link, every person, every time. Start from a preset or import the spreadsheet you already keep.

    GA4-safeMatch my Meta adsAgency client standardImport my sheet

    Your sites only

    Add a site and it reads the sitemap. A wrong page, a typo domain or a competitor's link cannot be made.

    GA4-safe before it exists

    Google's channel rules run on every link before you see it. Nothing lands in Unassigned by accident.

    Short links with honest clicks

    Your own short domain. The link-preview bots from LinkedIn, Slack and iMessage do not count as people.

    One log for everyone

    Who made it, when, for which push. Filter by campaign, reuse a link instead of making a duplicate.

    Your agents can use it too

    LinkMasher is an MCP server. Claude, ChatGPT, Cursor, n8n, or an agent you built can call it from inside their own work and get back a properly tagged link and a branded short link, under your rules, not the AI's best guess.

    make_tracked_link("NewsMasher link in the first comment of my LinkedIn post about the rate lock") → linkedin / social / newsmasher-rate-lock / first-comment → GA4: Organic Social, short link ready, logged

    Who this is for

    Built for

    • A team of two to ten where everyone posts links
    • An agency with several clients and several naming standards
    • Anyone writing posts with Claude or ChatGPT
    • Anyone who tags links by hand and then reads GA4

    Not for

    • Google Ads only, with auto-tagging doing the work
    • An Unassigned problem caused by a consent banner or a broken setup
    • People who never open GA4 or anything like it
    • A solo poster who is honestly happy with a spreadsheet

    Two plans. The founding rate never goes up.

    Start on the founding rate and it is yours for as long as you stay. No lifetime deal to gamble on, no surprise increase, one bill you can read.

    Solo

    You and one helper, your own sites, your own links.

    $19$12a month
    • 100 plain-words links a month, from the app or your agents; hand-typed links unlimited
    • You plus one member, so your VA makes links the same way you do
    • Unlimited sites, each read from its sitemap
    • One branded short domain, plus the shared one
    • Click counts with the preview bots left out
    • The GA4 check on every link
    • MCP access with your own API key, so Claude, ChatGPT or an agent you built makes links under your rules
    Start Solo

    Team

    Up to ten people, several clients, one set of rules for each.

    $47$27a month
    • Unlimited links, with 1,000 plain-words links a month included
    • Up to 10 members, owner and member roles
    • Five branded short domains
    • A workspace per client, with its own rules and its own log
    • Import the naming spreadsheet you already keep
    • MCP access and one API key for the whole team, so every member's agents make links under the same rules
    Start Team

    Seven days to try either plan. If it is not for you, one email and it is refunded. Most link tools charge ten people per seat, or keep the branded domain for their top tier. Here it is in the box.

    Questions I get

    Is this only for GA4?

    No. It writes standard UTMs, so anything that reads UTMs reads them: GA4, RapidMetrics, HubSpot, a Looker Studio report. The GA4 check is the safety net, because GA4 is where tagged links go to disappear.

    Do I need Claude or ChatGPT?

    No. The web app works on its own. The MCP server is there for the day an agent writes the post: Claude, ChatGPT, or one you built can call LinkMasher from its own work and get a tagged link and a short link back, under your rules.

    We already use Bitly.

    Keep it if you like it. LinkMasher gives you a short domain of your own with click counts that leave out the preview bots. Connecting your own shortener, with your own key, is on the list.

    Where do my links live?

    In your workspace, visible to your team. The check on this page runs in your browser and sends nothing anywhere.

    What does the founding rate mean?

    The price you start on is the price you keep for as long as your subscription runs. When the founding window closes, new subscribers pay more. You do not.

    Is there a free plan?

    No. The GA4 checker is free and stays free. LinkMasher itself starts at $12 a month, or $9 a month billed yearly, because every plain-words link is an AI call we pay for, and we would rather keep the tool honest than pay for it with ads or by selling your data.

    What if it is not for me?

    You have seven days to try it. Send one email and it is refunded.

    I got tired of finding out in a report. The report is too late. The link is the moment, and the moment is where this lives.

    Worth seeing what changes when every link comes out right the first time, for everyone on the team, even when an AI wrote the post.