I preach measurement. My own site had no analytics.
I've written two posts about tagging every link and measuring every channel. Meanwhile my own homepage was running blind. Field notes on fixing that, and on why the gap existed in the first place.
Two posts ago I wrote that no link leaves the house without a tag. One post ago I wrote out my entire UTM convention, five rules, no exceptions.
This week I went to check how those posts were doing and realized I had no way to find out. This site had no analytics at all. Not bad analytics. None.
So the guy writing the measurement blog was publishing into the dark.
Why the gap existed
It would be neat to say I forgot. I didn’t. I made a decision and then quietly stopped revisiting it.
When I rebuilt this site, I skipped analytics on purpose. It was a business card. Nobody reads a business card twice, and I didn’t want a tracking script on a page that existed to say “here’s my email.” That was the right call for what the site was.
Then I added a blog and never re-asked the question. The site changed from a card into something that publishes, and publishing without measurement is exactly the thing I keep telling other people not to do. The decision didn’t get wrong, it got stale, which is harder to notice.
That’s the actual lesson and it isn’t about analytics: a good decision expires when the thing it was made about changes. Nobody sends you a notification when that happens.
What I installed, and what I didn’t
I added Vercel Analytics. One package, one component in the base layout, every page covered:
---
import Analytics from '@vercel/analytics/astro';
---
<Analytics />
That’s the entire integration. No cookie banner, no dashboard to configure, no fourth tool in the stack.
What I deliberately did not add:
- A heatmap tool. I don’t have enough traffic for a heatmap to say anything a heatmap can’t also say about random noise.
- Session recordings. With three posts and a handful of readers, watching individual sessions is voyeurism dressed as research.
- A second analytics provider “for comparison.” Two dashboards that disagree slightly is worse than one dashboard you trust.
Small site, small instrumentation. The tooling should be embarrassingly proportional to the traffic.
The three things I’ll actually look at
Same test as always: would I change what I do next week based on this number? Three survive.
- Which post gets read at all. Not total pageviews across the site, which is one number that hides everything. Per-post, so I can tell whether the UTM convention post is doing the work I think it’s doing.
- Where readers came from. This is the one the whole blog is about. My posts get shared with tags now, so a reader arriving from a founder community should look different from one arriving from search. If they all show up as direct, my own rule isn’t working and I want to know.
- Whether anyone comes back. First visits are luck. Return visits mean the writing is worth returning to. It’s the only number here that says anything about quality.
Everything else the dashboard shows me is entertainment, and I’ve written that sentence before, so I should probably live by it.
The uncomfortable part
There’s a version of this post where installing analytics is the happy ending. It isn’t. The dashboard is empty right now, and in a few weeks it’s going to tell me something I don’t want to hear: that a post I was proud of got read by eleven people, or that the channel I’ve been putting the most effort into sends readers who leave in four seconds.
That’s the deal. You don’t get to measure only the things that go well. The reason most people skip measurement isn’t laziness, it’s that unmeasured work can be assumed to be working.
Mine wasn’t measured. Now it is. I’ll report back with real numbers, including the ones that make me look bad.
Post four of writing in public. If you’ve got a decision that quietly went stale on you, I’d like to hear it: email me.
- Smit
Thanks for reading. If this resonated, tell me about it. Replies are the whole point of writing in public.