Skip to main content

Command Palette

Search for a command to run...

LinkTracker Post-Mortem

An SEO win, a weak customer base, and the decision to shut the product down

Published
11 min read
LinkTracker Post-Mortem

LinkTracker Post-Mortem

TL;DR

LinkTracker.info was a small side project I built as a link shortener and click tracker. It slowly grew to ~3,000 organic Google clicks over 12 months and ranked on page 1 for terms like "link tracker". Despite that SEO traction, usage and retention remained very low: 557 sign‑ups, 583 links created in total, and only 23 active users in the last 30 days.

A deep dive into usage showed that most of the volume came from adult/affiliate and spammy use cases I don’t want to support. The handful of legitimate small businesses weren’t enough to justify more development, marketing, or support.

I’ve decided to shut LinkTracker down. Existing short links will keep redirecting until April 30, 2026. After that, they will stop working. This post explains what I built, what actually happened, and why I chose to kill it instead of trying to turn it into a product.


Background: Why I Built LinkTracker

The original idea for LinkTracker was simple:

"Never share a link again without knowing if anyone has clicked on it."

I wanted a lightweight, privacy‑respecting tool where you could:

  • Shorten links.
  • Track clicks per link.
  • Organize links across campaigns.

There are many link shorteners and analytics tools already, but I thought there was still room for something simple, clean, and focused on indie founders and small businesses.

I built it as a side project and deployed it on Vercel’s hobby tier. The app had:

  • Email magic‑link authentication.
  • A basic dashboard with a table of links.
  • A simple click counter for each short URL.
  • A presentable marketing homepage.

Then I mostly left it alone.


What Actually Happened

Because I never wired up proper product analytics, the only reliable external data source I had was Google Search Console (GSC).

SEO Performance

Over the last 12 months, GSC reported:

  • 3,040 clicks
  • 32,300 impressions
  • Average CTR around 9–12%
  • Average position improving to about 7.4 in the last 28 days

Most of the traffic came from a single family of queries:

  • "link tracker" – 2,207 clicks, 22,537 impressions (12‑month window)
  • "linktracker" – 504 clicks
  • plus various typos: "link traker", "linktracer", "tracker link", etc.

So SEO‑wise, LinkTracker accidentally did pretty well for a neglected side project.

Product Usage Metrics

Looking inside the app database, the core stats at shutdown time were:

  • Total registered users: 557

  • Users who created at least one link: 314

  • Total links created: 583

  • Active users (last 30 days): 23

    • Here, "active" means they created at least one link in that period.

Some quick implications:

  • About 56% of sign‑ups ever created a link at all (314/557).
  • The average is only 1.86 links per user among those who used it at least once.
  • Only 4% of all sign‑ups (23/557) were active in the last month.

In other words, most people tried the product once, created one link, and never came back.

Onboarding Friction

My onboarding flow didn’t help:

  • To use the tool, you had to sign up first via email magic link.
  • Only after confirming your email could you see the “enter URL and shorten” form.

For a utility tool discovered via a query like "link tracker", this is the wrong order. People want to paste a URL and immediately see something happen. I made them commit before showing any value.

We discussed the idea of flipping this flow (public "paste URL → track" without signup) to test whether conversion would grow from ~6% to something more meaningful. But by the time I looked at the data and the type of users coming in, the conclusion was that the underlying product wasn’t worth that experiment anymore.


The Power User Deep Dive: Who Was Actually Using It?

I pulled the top 10 "power users" by click volume and inspected their domains and patterns. That analysis split them into two main groups.

1. Adult / Affiliate / SEO Spam Cluster

Several users:

  • Used email addresses that look like throwaway accounts.
  • Created multiple links to domains like nakedmilfs..., loosegirlsh..., naughtytrashy....
  • Rotated through 5+ domains per user.
  • Showed a suspicious traffic geography pattern: US (~60%) → Korea → Singapore → Germany.

Another pair of users drove thousands of clicks to gibberish domains like liservantuid.com, mistfabulous.com, exhibiting the same geo pattern.

These accounts were almost certainly:

  • Affiliate arbitrage.
  • Automated traffic.
  • Link farms / spam networks.

They produced a large portion of the total click volume, but they are not the kind of "customers" I want or can monetize safely.

2. A Few Legitimate SMB / Creator Users

There were a handful of "real" users:

  • A car rental / sales business in Chiang Mai with one link and 19k+ clicks.
  • A few real estate or local business use cases.

These looked like genuine small businesses using LinkTracker in the way I originally imagined: one or a few core links with trackable clicks.

However, there were very few of them, and they were not on any paid plan (there was no pricing at all).

3. File‑Sharing / Piracy‑Like Usage

One user drove thousands of clicks to mega.nz and YouTube. This likely involved sharing large files or questionable content. That’s another risk category I’m not interested in building a product around.


Infrastructure, Performance and Reliability

LinkTracker ran on Vercel’s hobby plan. Usage stats over a 30‑day window looked like this:

  • ~89k edge requests
  • ~18k function invocations
  • 1.5% error rate over a 6‑hour slice
  • Firewall logs showing thousands of bot challenges and a hundred+ denials

In practice, that meant:

  • The app sometimes felt slow or returned HTTP 500 errors.
  • Bot traffic and abusive usage were already putting pressure on a hobby‑tier setup.

I could have invested time in:

  • Better logging and error handling.
  • Rate limiting.
  • Bot protection and blocklists.
  • Possibly upgrading the plan.

But those are only worth solving if the product itself is promising. The usage and user mix said otherwise.


Why I Decided to Shut It Down

1. Weak Retention and Engagement

Despite ranking for high‑intent queries and getting hundreds of visits per month, the core metrics were poor:

  • Only 23 users created a link in the last 30 days.
  • Most users created one link ever and never came back.
  • There were no signs of a healthy base of legitimate power users.

These numbers are not the foundation of a sustainable SaaS, and they hadn’t budged in a long time.

2. The Wrong Kind of Power Users

The bulk of my "traffic success" came from use cases I don’t want:

  • Adult content.
  • Spammy SEO networks.
  • Possible piracy/file‑sharing traffic.

I could try to combat this with heavy moderation, abuse detection, and legal risk management, but that’s not why I build products.

3. Crowded Market and No Clear Differentiation

The link tracking space is crowded:

  • Bitly, Rebrandly, and many others cover basic shortening.
  • More advanced tools provide deep analytics, integrations, and branded domains.

LinkTracker didn’t have a sharp, differentiated angle. It was "another link tracker" that required signup first, and I never invested enough to make it stand out.

4. Opportunity Cost

Every hour I might spend fixing LinkTracker is an hour not spent on my more promising projects (like PrintOnDemandBusiness.com and other experiments).

Given the numbers, the right move is to stop, not to sink more time into a project that has already told me it doesn’t want to be a business.

5. Clear Decision Criteria

By the time I revisited LinkTracker, I had enough data to say:

  • Organic traffic: decent.
  • Retention & active users: poor.
  • User mix: heavily skewed to abuse/spam.
  • Path to monetization: very weak.

That combination met my internal threshold for a decisive shutdown rather than passive neglect.


How the Shutdown Will Work

I chose a graceful shutdown instead of simply killing it overnight.

  • Effective immediately:

    • No new accounts.
    • No new links.
  • Until April 30, 2026:

    • All existing short URLs keep redirecting to their original targets.
    • Users can export their links (short URL, destination, total clicks) as CSV and migrate elsewhere.
  • After April 30, 2026:

    • Short URLs will stop redirecting.
    • They will instead show a simple shutdown page explaining that LinkTracker has been discontinued.

After a reasonable data retention period, I will:

  • Delete or anonymize user accounts and link data.
  • Decommission the Vercel project and database.
  • Remove or repoint DNS for linktracker.info.

Users who rely on LinkTracker should move to another provider well before the cutoff date.


What I Would Do Differently Next Time

Looking back, there are several lessons I’m taking into future projects.

1. Start With a Narrow, Explicit Use Case

"Anyone who shares links" is not a target market. A better starting point would have been something like:

  • "Real estate agents who want to track which listing links perform best."
  • "Indie SaaS founders tracking clicks from their email signatures and social profiles."

Without a clear user story, the product naturally attracted the kinds of users who exploit generic tools: spammers and affiliates.

2. Show Value Before Asking for Commitment

For utility tools, the flow should almost always be:

Try → See value → Then sign up.

My signup‑first magic‑link flow reversed that and killed a lot of potential experimentation from legitimate users.

Next time I’d:

  • Let anyone paste a URL and get a working short link.
  • Show basic stats on a public or temporary page.
  • Offer signup only to save history or unlock extra features.

3. Instrument Proper Analytics Early

Relying solely on Google Search Console was a mistake. I should have, at minimum:

  • Tracked basic events:

    • Landing page views.
    • Link creations.
    • Signups after creating a link.
    • Returning users.
  • Built a tiny dashboard with key ratios like:

    • links_created / visitors.
    • active_users / total_users.

With that in place, I would have had a clear signal much earlier that retention was weak.

4. Decide on Abuse Policy From Day One

Any product that can be used at scale for free will attract unwanted usage.

Next time, I will:

  • Decide upfront what categories of usage I’m willing to support.
  • Implement basic rate limiting and abuse detection early.
  • Be prepared to block entire classes of domains or content.

5. Set Explicit Kill or Commit Milestones

I let LinkTracker sit in an undefined state for too long: not clearly alive, not clearly dead.

A better approach would have been to define milestones like:

  • "If we don’t reach 100 legitimate monthly active users within 6 months of launch, we either pivot or shut down."

and then actually act on that.


Closing Thoughts

LinkTracker was never a big product. It was a side project that accidentally picked up SEO traction, attracted the wrong kind of power users, and never turned into something worth serious investment.

Shutting it down is the right decision. It frees up my time and attention for projects where the user base, usage patterns, and potential upside are much clearer.

I’m still glad I built it. It validated that I can rank a tool for a competitive keyword like "link tracker" with relatively little effort, and it reminded me how important it is to:

  • Know exactly who you’re building for.
  • Measure the right things.
  • Kill projects decisively when they don’t cross the bar.

If you’re a LinkTracker user, thank you for trying it. Please migrate your links before April 30, 2026. There are plenty of good alternatives out there—and I’ll be focusing my energy on building things that are a much better fit for the kind of users I actually want to serve.