Track Substack Subscriber Conversions: My 30-Day Guide
You publish a post, share it on LinkedIn and X, maybe add a Substack Note, and the next morning you've got new subscribers. That should feel great. Instead...
By Ian Kiprono
You publish a post, share it on LinkedIn and X, maybe add a Substack Note, and the next morning you've got new subscribers. That should feel great. Instead, it often feels murky. You can see growth, but you can't explain it. You don't know whether the post worked, the Note worked, a referral worked, or whether people were already planning to subscribe.
That uncertainty gets expensive fast. You keep posting, keep promoting, keep trying to be consistent, but your decisions are based on vibes. I got tired of that. So I spent 30 days building a manual system to track Substack subscriber conversions closely enough to answer a simple question: what causes someone to sign up?
The Growth Black Box My Month-Long Quest to See What Works
On day three of this experiment, I had one post that seemed to work everywhere at once. I shared it on X, mentioned it on LinkedIn, published a Note, and watched subscribers tick up over the next day. The problem was obvious. I still could not say which action caused the sign-ups.
That was the black box I wanted to get rid of.
From the outside, my process looked disciplined. I published regularly, promoted each piece, checked Substack analytics, and looked for patterns. In practice, I was still guessing. A bump in subscribers could come from the article itself, a repost six hours later, a Note the next morning, or simple coincidence. Without a system, every growth story was something I told myself after the fact.
What changed first was the question. I stopped grading a post in isolation and started tracking the sequence around it.
- What happened after publish time: Did subscriber growth pick up after the post went live?
- Which channel distributed it: Did sign-ups cluster around LinkedIn, X, Notes, or something else?
- What happened after the first share: Did a second post, a Note, or a repost create the actual lift?
That shift fixed a blind spot. Views told me that people visited. They did not tell me what persuaded them to subscribe, or which promotion step deserved credit.
Practical rule: If publish time, distribution channel, and follow-up promotion are not logged together, you are not tracking conversions. You are watching traffic and filling in the blanks from memory.
My first system was manual and a little annoying. That was part of the point. I kept a spreadsheet with separate tabs for publishes, social posts, Notes, and daily subscriber changes. Then I compared those entries against Substack's timeline view and looked for patterns I could defend. It took time every day, but it gave me something better than intuition.
That alone was better than guessing, and it confirmed the time-series mindset recommended in this guide to tracking Substack performance.
After a month, the lesson was hard to ignore. A significant problem was not always content quality. It was the lack of visibility into what truly converted. I could keep maintaining the spreadsheet, but I could also see the limit. Manual logging taught me what mattered. It also showed me why a tool like Narrareach earns its place once the work starts repeating.
Building My Compass How I Used UTMs to Tag Every Link
The first hard rule I adopted was simple. I stopped sharing naked links.
If I wanted to track Substack subscriber conversions, every external link pointing to my newsletter needed a breadcrumb trail. That meant UTM parameters on every link I controlled.

The UTM structure I could actually maintain
I kept the system boring on purpose. Complex naming falls apart after a week.
Here's the structure I used most often:
| UTM field | What I used it for | Example |
|---|---|---|
| utm_source | Platform or origin | x, linkedin, notes |
| utm_medium | Format or placement | social, profile, guestpost |
| utm_campaign | Promotion theme or content push | weekly_essay |
| utm_content | Variation within a campaign | hook_a, image_post |
| utm_term | Rarely used | Left blank unless needed |
The important part wasn't sophistication. It was consistency.
I also kept a simple log with three columns that mattered most: the destination URL, the tagged URL, and where I used it. If I posted twice on the same platform with different framing, I changed utm_content so I could compare angles later.
What matters most for newsletter attribution
A lot of people overbuild UTMs. For Substack, I found only a few fields carry most of the value.
- Source matters most: If you don't know whether the click came from LinkedIn, X, Notes, or a guest placement, your attribution gets muddy fast.
- Medium keeps reporting readable: “social” versus “profile” versus “email” was enough to make reports usable.
- Campaign helps group bursts of activity: This was useful when I promoted the same article across several surfaces.
I used this UTM parameters guide for Google Analytics workflows as a reference point, but the main improvement came from restraint. I didn't need a taxonomy that looked impressive. I needed one I would still follow on a tired Thursday afternoon.
One documented writer increased Substack conversion rate from 0.5% to 13% in six months, a more than 25x increase, after redesigning content strategy, conversion experience, and engagement strategy, according to this Substack conversion rate breakdown. That was a useful reminder that conversion is movable. It's not fixed.
What did not work
A few things failed immediately.
- Retrofitting UTMs after posting: I always missed links.
- Using inconsistent capitalization: Data split into multiple rows and became annoying to clean.
- Tracking only top-level channels: “social” by itself wasn't enough. I needed the platform name.
The point of UTMs isn't elegance. It's making sure future-you can answer basic questions without reconstructing your week from memory.
Setting Up My Dashboard Connecting Substack to GA4
Once every link was tagged, I needed somewhere to collect the traffic data. That's where Google Analytics 4 came in.
UTMs by themselves don't solve anything. They only become useful when you can see whether tagged visitors reached high-intent pages and actions on your Substack site.

What GA4 gave me, and what it didn't
GA4 was useful for the middle of the journey. It helped me see which tagged traffic sources led to actions that looked like subscription intent.
What it did well:
- Traffic source analysis: I could compare platforms and campaigns cleanly.
- Page path visibility: I could see whether visitors reached key subscription-related pages.
- Pre-conversion signals: I could monitor the steps before a subscriber signed up.
What it didn't do on its own was confirm a true Substack subscription event. That gap mattered. I could see interest, but not certainty.
The dashboard I built first
I focused on a few views rather than trying to make GA4 do everything.
I watched:
- tagged sessions by source and medium
- visits to key subscription-related page paths
- click behavior around subscribe actions where possible
- campaign-level traffic tied to individual content pushes
This gave me a basic funnel. Not perfect attribution, but enough to separate low-intent traffic from people who were moving toward a sign-up.
I also learned quickly that Substack's own analytics and GA4 serve different jobs. Substack showed growth over time. GA4 showed acquisition context. I needed both.
The technical hurdle I hit
The frustrating part was connecting subscriber events back into the same view. I wanted one system where I could see the source and the conversion, not two systems that forced me to infer.
That's where the workflow got more manual. I had to build a bridge using automation. The dashboard itself was the easy part. The core work started when I tried to capture actual subscribers in a way that matched the traffic data already flowing into GA4.
The Conversion Holy Grail Using a Zapier Webhook to Capture Subscribers
Around the middle of my 30-day tracking experiment, I hit the point where the whole system either became useful or stayed a nice-looking guess.
GA4 showed visits. UTMs showed where those visits came from. Neither one proved that a real Substack subscription happened. I wanted a record of the actual conversion, tied as closely as possible to the acquisition data I was already collecting.
The workaround was a webhook pipeline between Substack, Zapier, and GA4.

The workflow I built
I kept the logic simple on purpose:
- A person subscribed on Substack
- Substack triggered a webhook
- Zapier caught that webhook
- Zapier sent a conversion-style event into GA4
- GA4 logged that event alongside my traffic data
That was the first time the experiment felt complete. I finally had a way to mark subscriber activity inside the same reporting system I was using to evaluate campaigns and posts.
I did not treat it as perfect attribution. I treated it as a practical signal. That distinction matters.
Why this step mattered so much
Substack already gives writers a growth view, and that helped me spot spikes. What I needed was something more operational. I wanted each sign-up to create an event I could review against publish timing, link tags, and distribution activity.
Once I had that event flowing into GA4, the analysis changed. I was no longer comparing traffic patterns and hoping they lined up with subscriber growth later. I had a direct conversion marker to work with.
What made the setup annoying
The logic was straightforward. The maintenance was not.
I had to keep three pieces aligned:
- Substack event delivery
- Zapier formatting and routing
- GA4 event naming and parameters
Small inconsistencies caused real problems. If I renamed an event in one place and forgot the others, reports split. If a Zap failed unnoticed, I had a hole in my conversion log. I also had to test the flow after any change to forms, tags, or event structure.
That is the trade-off with a manual system. You get more visibility, but you also inherit the plumbing.
I recommend this route if you are comfortable checking logs, testing payloads, and cleaning up naming issues. If you want the same basic idea without as much maintenance, Narrareach webhooks for publishing and attribution workflows cover that handoff in a cleaner way.
How I used the data without overclaiming accuracy
I did not try to force user-level certainty where I did not have it. I used timing and consistency.
I looked at patterns across:
- publish time
- traffic source from UTM tags
- subscriber event timing
- content type
- follow-up promotion
That was enough to answer the questions I cared about:
- Did a full essay bring in more subscribers than a Note on the same topic?
- Did LinkedIn traffic convert better than X for this campaign?
- Did the second promotional push lead to subscriptions, or only extra clicks?
This short walkthrough shows the Zapier-to-GA4 connection in action:
Clean conversion tracking does not require perfect certainty. It requires a method you can apply consistently enough to compare one content decision against another.
The lesson I took from this stage
Before I built this webhook, I treated audience growth as something I observed after the fact.
After I built it, I could trace a clearer sequence from post, to click, to subscriber event. That changed what I optimized. Attention still mattered, but subscriber events became the standard I used to judge whether a distribution tactic was worth repeating.
Finally Seeing Clearly Analyzing the Data to Find What Worked
The payoff came once I had a few weeks of data and stopped checking it every few hours.
Daily review made me jumpy. Weekly review made me useful.

The reporting rule that stopped me from misreading noise
I adopted one simple operating rule. I attributed sign-up spikes that appeared within about 36 hours of a post or social campaign to that piece, then reviewed performance weekly instead of daily, based on Narrareach's subscriber attribution approach.
That single rule cleaned up a lot of confusion.
I also tagged content by type in my own notes:
- long-form article
- Substack Note
- repurposed social post
- external mention or partnership
- evergreen profile link traffic
This made it easier to compare not just channels, but formats.
What I started seeing
Some content drove discussion but not subscriptions. Some content looked quiet in public and still preceded sign-ups. That was the most useful discovery.
The winners usually had three qualities:
| Pattern | What it looked like | Why it mattered |
|---|---|---|
| Clear positioning | The value of the newsletter was obvious | Readers knew what they were subscribing for |
| Strong handoff | The social post and landing page matched | Less friction between click and subscribe |
| Repeatable topic fit | Certain themes kept preceding sign-ups | Easier to build a reliable growth loop |
This also changed how I evaluated short-form distribution. A Note with modest engagement could still matter if it consistently appeared before subscriber movement.
The real question isn't which post got attention. It's which post reliably showed up before someone became a subscriber.
Why manual analysis eventually became the bottleneck
The manual process worked. That's important to say plainly. You can absolutely track Substack subscriber conversions with a disciplined combination of UTMs, GA4, webhook events, and a weekly review habit.
But the workflow was fragile.
I was switching between Substack, GA4, Zapier, and Sheets. I had to remember naming conventions, inspect timing windows, and keep my publishing log clean. I also wanted to compare conversions across Notes, articles, LinkedIn posts, and X without rebuilding the same report every week.
That's the point where I started using this Substack metrics tracking workflow as a benchmark for what a cleaner system should do: separate awareness metrics from conversion metrics and make attribution easier to trust.
From Manual Labor to Automated Growth Why I Switched to Narrareach
By the end of the month, I had what I wanted. I could finally see enough to make better decisions.
I also had a small maintenance job.
The manual stack gave me clarity, but it kept stealing time from writing. Every improvement added another moving part. Every moving part created one more place for tracking to break or naming to drift.
What changed when I moved to one system
The shift wasn't just convenience. It was operational focus.
Using Narrareach, I could handle the work that had been split across multiple tools: track which content preceded free and paid subscriber movement, schedule Substack posts and Notes, publish efficiently across LinkedIn and X, and repurpose strong long-form ideas into short-form distribution without copy-pasting everything manually.
That mattered because the publishing side and the analytics side shouldn't live in separate worlds. If a topic converts, I want to turn it into more distribution quickly. If a Note format works, I want to schedule more of it while the signal is fresh.
The outcome that mattered most
The biggest shift was short-form visibility. I could finally pay attention to which Notes preceded sign-ups, not just which ones got likes, which matches the conversion-first framing described in this discussion of why Notes may not be converting.
That changed my behavior in practical ways:
- I repeated proven topics faster: Instead of hunting for novelty, I extended what was already converting.
- I scheduled distribution with more discipline: Posts, Notes, and social follow-ups became part of one workflow.
- I spent less time reconciling data: The tracking work stopped competing with the writing work.
If you want to do this manually, you can. Start with UTMs, add GA4, define a weekly review process, and use a reasonable attribution window. That alone will make you sharper.
If you want a lighter operational load, use a system that combines attribution, scheduling, repurposing, and cross-platform publishing so the insight leads directly to action.
If you're ready to stop guessing and want one place to track subscriber attribution, schedule Substack posts and Notes, and repurpose winning ideas across LinkedIn and X, try Narrareach. If you're not ready for that yet, stay close to the topic by reviewing your current setup and start building a weekly attribution habit with the workflows above.