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.

Google's free link builder

Took "Social Organic" with a capital S and a space, and said nothing at all.

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 Claude, 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. Founders get the team version as it ships, then every update after it, without a monthly bill.

    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.

    Rules that follow the AI

    A connector for Claude and ChatGPT. When the post is written by an AI, the link comes out tagged 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

    Founding access

    One payment covers the team version as it ships and every update after it, with no monthly bill.

    $97once

    The founding price ends the day the team version ships. After that, LinkMasher is a monthly plan.

    Seven days to try it. If it is not for you, one email and it is refunded.

    • Unlimited links, for you and your team
    • Your naming rules, enforced on every link
    • Your sites, read from your sitemap
    • A short domain of your own, with honest click counts
    • The shared log
    • The Claude and ChatGPT connector
    • Every update, included
    Get founding access

    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 connector is there for the day you write a post with an AI and want the link in it tagged exactly the way your team tags everything else.

    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 exactly does founding access include?

    The team version as it ships, and every update after it, for one payment. Founders never get a monthly bill.

    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.