How to Track Substack Performance My 60-Day Experiment
You publish a strong Substack post, share it everywhere, watch the dashboard move, and still can't answer the only question that matters. What caused the...
By Ian Kiprono
You publish a strong Substack post, share it everywhere, watch the dashboard move, and still can't answer the only question that matters. What caused the growth? Was it the article, the Note, the LinkedIn post, or a lucky restack? Most writers don't have a content problem. They have an attribution problem. They keep posting, keep promoting, and keep guessing. That guessing gets expensive fast because once you can't tell what drove subscribers, every week turns into another round of random effort.
My Substack Was Growing but I Had No Idea Why
For months, my Substack had enough movement to feel encouraging and not enough clarity to feel useful.
A post would land. A few new subscribers would appear. One Note would get conversation. Another would seem quiet but still send some traffic. I kept asking the same question after every send: what should I repeat next week? I didn't have a real answer.
That was the problem. Growth existed, but the explanation didn't.
I was treating all signals as if they meant the same thing. If a post got replies, I assumed it worked. If a Note got likes, I assumed it had reach. If open rate looked healthy, I assumed the issue wasn't distribution. None of that gave me a repeatable process to track Substack performance in a way that shaped the next publishing decision.
So I gave myself a 60-day experiment.
Not a vague commitment to "look at analytics more often." An actual operating system. I wanted to know:
- Which posts created subscriber movement
- Which Notes created profile interest
- Which outside channels deserved more effort
- Which content formats should be repeated
- Which metrics were making me feel productive without helping me grow
The biggest mistake I made at the start was thinking better tracking meant more dashboards. It didn't. It meant tighter definitions.
Once I framed the experiment around decisions instead of data collection, the mess got easier to sort. Every metric had to answer one of two questions:
- Did this create audience movement?
- Did this help me make the next content choice?
If a metric couldn't do one of those jobs, it didn't belong in the system.
The goal wasn't to collect more numbers. It was to remove more doubt.
By the end of the experiment, I wasn't staring at stats more often. I was spending less time wondering what happened after I published, because the signals were finally tied to concrete actions.
Week 1 Defining Performance Beyond Vanity Metrics
The first week had nothing to do with tools. It was a cleanup job.
I had been overvaluing the numbers that were easiest to see and easiest to celebrate. Open rate. Likes. Comments. Those signals matter, but they don't carry equal weight when you're trying to grow a publication deliberately.
The shift started when I stopped asking, "Did people react?" and started asking, "Did this move someone closer to subscribing, returning, or paying attention again?"

The KPI hierarchy I used
I built a simple hierarchy and kept it visible every time I reviewed performance.
| Level | What I tracked | Why it stayed in the system |
|---|---|---|
| Primary outcomes | New subscribers, paid conversion intent | These point closest to business value |
| Leading indicators | Subscriber growth per post, profile visits from Notes, restacks, repeat engagement | These help explain what is likely to create growth |
| Context metrics | Opens, likes, comments | Useful for interpretation, weak as a goal on their own |
That hierarchy immediately changed how I read Substack.
Substack's own metrics structure helped more than I expected. Its main growth chart uses a 30-day default window, and the Traffic section also shows views for the past 30 days in the Stats tab, according to Substack's guide to metrics. That same guide explains that post-level performance is broken into Overview, Reach, Engagement, Growth, and Discussion tabs, which gives you a practical way to separate audience movement from surface-level activity.
Why the 30-day view mattered
The 30-day window became the first stable unit in my process.
Instead of reacting to one good post or one flat week, I started comparing one 30-day period against the next. That gave me a steadier baseline. It also stopped me from over-correcting based on a single publishing spike.
A few practical rules came out of that:
- Treat likes as context: If a post gets attention but doesn't lead to follow-on movement, it's not automatically a winner.
- Use subscriber movement as the anchor: Everything else should help explain that movement.
- Review by publishing batch, not isolated moments: A post, its Notes, and its promotion should be interpreted together.
Practical rule: If a metric doesn't help you decide what to write, promote, or repeat next, it's background noise.
One article that aligns with this mindset is how to analyze content performance, especially if you're trying to separate interesting metrics from useful ones.
The mistake I made in week one was subtle. I assumed vanity metrics were bad. They aren't. They're incomplete. Open rate can tell you whether your existing audience is paying attention. Likes can tell you whether a point landed. But neither should sit at the top of the scoreboard.
Once I fixed that, the rest of the stack made sense.
Weeks 2-3 Mastering Substack's Native Analytics
For the next two weeks, I didn't add anything new. I stayed inside Substack and learned the dashboard properly.
That turned out to be the right move. Most writers skip this step and jump straight to external tools before they've extracted the obvious value from what Substack already gives them.
What I looked at on every post
I started reviewing every published post the same way. Not casually. The same tabs, in the same order, every time.
My review pattern looked like this:
- Overview first: Did the post create meaningful movement at a glance?
- Reach next: Was this seen broadly, or mostly by existing readers?
- Engagement after that: Did people respond enough to suggest resonance?
- Growth tab last: Did any of that attention turn into subscriber momentum?
- Discussion as a qualitative check: Were the replies revealing something the numbers missed?
This changed how I interpreted "successful" posts.
Sometimes a post felt strong because readers replied generously. But that same post didn't necessarily widen the audience. Other times a quieter post created the kind of movement I wanted more of because it drove follow-through rather than applause.
Notes were more useful than I expected
The biggest improvement in Substack's native analytics was Notes.
Substack Notes analytics now show impressions, profile visits, subscriptions generated, audience breakdowns, and how many non-followers are seeing Notes, not just likes and comments, as described in this walkthrough on Notes analytics. That was the moment Notes stopped looking like a side feature and started looking like a top-of-funnel distribution layer.
I had been judging Notes the wrong way. If a Note didn't get much visible interaction, I assumed it was weak. That was lazy analysis.
A Note can underperform on social-style engagement and still do useful work if it gets seen by non-followers, prompts profile visits, or creates subscriptions. That distinction matters if you're trying to track Substack performance objectively instead of emotionally.
A Note isn't just a mini-post. It's often the first touchpoint before someone ever decides whether your publication is worth visiting.
The native dashboard is good at one job
After two weeks, I trusted Substack's native analytics for one specific purpose: understanding what happened inside the platform.
It was strong for:
- Post comparison: Which article structures seemed to hold attention better
- Notes evaluation: Whether reach translated into profile interest or subscriptions
- Immediate feedback: Which publishing choices created visible spikes
- Audience behavior clues: Whether a piece resonated with current readers or reached beyond them
It was weak for one thing I cared about just as much: attribution from outside Substack.
That limitation became obvious fast. I could see movement on the publication. I couldn't reliably see which off-platform effort caused it. If I posted on LinkedIn, shared on X, and referenced the article elsewhere, I still couldn't map those actions cleanly back to subscriber outcomes.
For writers who want a dedicated product layer around this problem, Substack analytics tools can help centralize post and Note performance. But even without anything extra, the native dashboard is worth mastering before you complicate your setup.
The mistake I made here was assuming every useful metric would be obvious. It wasn't. The useful ones usually sat one click deeper than the flashy ones.
Weeks 4-5 Adding Google Analytics and UTMs
By week four, I had a clear picture of what happened on Substack after publishing. I still couldn't answer where outside traffic was coming from.
That gap mattered because my workflow wasn't limited to Substack. I was promoting posts in multiple places, and each channel took time. Without attribution, I was treating every distribution effort as equally valuable. That wasn't true. I just couldn't prove it yet.

Why I added GA4
The next layer was Google Analytics 4.
One published setup recommends a 10-minute GA4 install, then waiting 24-48 hours for data to flow, while also using consistent UTM naming and monthly dashboards to compare channel performance in this practical Substack measurement workflow. That guidance matched what I needed. Keep the setup simple. Get clean data first. Build habit before complexity.
The key point wasn't GA4 by itself. It was GA4 plus disciplined link tagging.
The UTM naming system I used
I kept my UTM system boring on purpose. Boring systems survive.
For every link I shared, I tagged three things:
- Source: Where the click came from, such as linkedin or x
- Medium: The type of placement, such as post or note-promo
- Campaign: The article identifier or promotion sequence
A simple naming standard beat cleverness. If naming gets messy, reporting gets messy right after.
Here's the format I stuck to:
| UTM field | Example | Purpose |
|---|---|---|
| source | Identifies channel | |
| medium | post | Identifies placement type |
| campaign | newsletter-essay-title | Connects distribution to a specific content asset |
I didn't need fancy software to do this. I needed consistency.
What changed once the links were tagged
The quality of my decisions improved almost immediately.
Before UTMs, all I had was correlation. A post went out, subscribers moved, and I tried to infer the cause. After UTMs, I could compare channels more soberly. Some platforms were better for attention. Others were better for intent. Some posts were worth republishing in a different format because they attracted stronger traffic quality off-platform.
Working rule: Don't evaluate a promotion channel by how visible it feels. Evaluate it by whether it sends the kind of traffic that continues into your Substack funnel.
I also learned a practical trade-off. The richer your attribution system gets, the more operational discipline it demands. If you forget to tag links consistently, your reporting quality degrades fast. That wasn't a tool problem. It was a behavior problem.
If you want a clean primer on link tagging, this guide to Google Analytics UTM parameters is useful as a reference.
Weeks four and five were the first time I felt like I could track Substack performance across the full path instead of just inside the publication itself. Native stats showed the result. GA4 and UTMs helped explain the route.
Weeks 6-8 Automating and Unifying with Narrareach
By week six, the system worked. It also became annoying.
I had Substack open for post and Note analysis. GA4 open for acquisition signals. A spreadsheet open for UTM discipline. Every weekly review turned into manual reconciliation. The data existed, but the workflow had started fighting me.
That was the point where manual rigor stopped being an advantage and started becoming friction.
What was breaking in the manual setup
The issue wasn't lack of information. It was fragmentation.
I was doing three separate jobs:
- Publishing
- Distributing
- Reconstructing what happened afterward
The reconstruction step was the problem. It stole time from writing, and it made consistency harder. If your analysis routine feels heavy, you postpone it. Once you postpone it, your content decisions drift back toward instinct.

What changed when I unified scheduling and tracking
What I wanted by that stage was simple.
I wanted one place to:
- Schedule Substack Notes and promotional posts
- Repurpose winning ideas into cross-platform formats
- See which posts and channels were creating momentum
- Reduce copy-paste work between platforms
- Keep the feedback loop close to the publishing workflow
That is where how Narrareach works fit into the process for me. I used it to centralize scheduling and distribution across Substack and social channels, then review performance in the same operating flow instead of stitching everything together manually afterward.
This was the practical win. Not "more analytics." Less switching.
I could publish a piece in Substack, schedule supporting Notes, line up related posts for LinkedIn and X, and keep the distribution connected to the same content asset. That made it easier to act on what the data suggested while the post still had momentum.
Why this mattered more for Notes than for essays
This part mattered most with Notes.
Analytics workflows are increasingly putting more weight on restacks, profile clicks, and subscriber conversion than on raw engagement, and the better question is whether a Note created reusable audience momentum that can be repurposed and scheduled across platforms, as argued in this discussion of Notes as an acquisition signal. That matched what I saw. The highest-value Note wasn't always the one with the most visible activity. It was the one that could feed the next distribution step.
If a Note sparks profile interest, earns restacks, and leads into a bigger article, it has done more than "perform." It has extended the lifespan of the idea.
That changed the way I thought about content planning. Instead of treating every format as separate, I started treating each strong idea as a distribution cluster:
- an article for depth
- a Note for reach and discovery
- a LinkedIn post for framing
- an X post or thread for portability
The mistake I'd made before was thinking analytics belonged at the end of the process. In reality, once the workflow is unified, analytics shape the next move while the content is still alive.
My Final System for Predictable Substack Growth
After the full 60-day experiment, the biggest lesson was simple. Tracking isn't the goal. Feedback is.
I don't need a giant reporting stack to make better decisions anymore. I need a system that turns publishing activity into a clear weekly read on what to repeat, what to drop, and what to repurpose.
The system I kept
This is the operating loop that survived the experiment:
Choose topics using past performance clues
I review which themes, formats, and distribution patterns created subscriber movement or useful top-of-funnel signals.Publish the main piece in Substack
The article remains the center of gravity. Everything else supports it.Promote with structured distribution
I schedule Notes and off-platform posts with clear campaign tagging so the follow-through stays measurable.Review once a week
I look for patterns, not dopamine. Which content created profile interest? Which promotion channels sent useful traffic? Which ideas deserve a second life?Feed those insights into the next batch
That closes the loop. Without this step, tracking becomes reporting instead of improvement.

What I stopped doing
Just as important, I cut a few habits:
- I stopped judging posts too early
- I stopped treating likes as proof of growth
- I stopped posting everywhere with the same message
- I stopped reviewing metrics without a next action attached
- I stopped assuming memory was good enough for attribution
One published workflow goes much deeper by exporting data into a local database and querying it for topic, format, and timing patterns, which can isolate the variables associated with growth, though it's technically complex for most writers, as shown in this DuckDB-based Substack analysis workflow. I respect that approach, but I also think most writers need a lighter version first. A useful system beats an impressive one you won't maintain.
What predictable growth actually felt like
It didn't feel dramatic. It felt calmer.
I knew what I was testing. I knew what a good result looked like. I knew which signals mattered for audience growth and which ones were just interesting side effects. That confidence made writing easier because it reduced the noise after publishing.
If you're serious about growth, build the smallest system that gives you repeatable answers. Start with native Substack data. Add GA4 and UTMs when attribution becomes the bottleneck. Then tighten the workflow so scheduling, repurposing, and review don't live in separate silos.
For a broader publishing approach once you've got the tracking loop in place, this content syndication strategy guide is a useful next read.
If you're ready to stop juggling tools, you can try Narrareach to schedule Substack Notes and cross-platform posts, spot what content is creating momentum, and turn that into a more repeatable distribution workflow. If you're not ready for a new tool, stay connected by subscribing to the Narrareach newsletter for more practical experiments and data-driven publishing guides.