How to track a Substack: what it allows, and what it does not
Substack takes a GA4 Measurement ID and Meta and X pixel IDs, but no custom scripts. What each tracks, and how to measure the links that bring subscribers.
On this page
Substack does not let you add your own tracking script. It accepts three IDs, set under Settings: a Google Analytics Measurement ID, a Meta pixel ID and an X pixel ID, and sends them page views, free signups and paid subscriptions (Substack). Any other analytics tool, including Sporetag, cannot run on a Substack page.
That leaves three ways to measure a Substack: its own stats, GA4 through the Measurement ID, and tracking the links that send people to it. This page covers each.
What Substack sends to each tool
| Tool | What it receives | Where you see it |
|---|---|---|
| Google Analytics 4 | Page views, signups and paid subscriptions | GA4, about 24 hours after you add the ID |
| Meta pixel | Free signups, paid signups and page views from ads that send readers to your Substack | Meta Events Manager; you set up events there |
| X pixel | The same as Meta | X Ads |
Substack says the pixels fire when ads point to your Subscribe page or About page, and it has no dashboard of its own for pixel data (Substack).
Install GA4 on Substack
- In Google Analytics, create a web data stream for your Substack address and copy its Measurement ID, which starts with
G-. - In Substack, open Settings and find the analytics section.
- Paste the Measurement ID and save.
- Open your Substack in a private window and check Realtime in GA4. Substack says events should show in reports after 24 hours.
Track the links that bring subscribers
Since you cannot change what runs on Substack, measure the clicks before people get there:
- Tag every link to your Substack with UTM parameters: your bio, podcast notes, guest posts, other newsletters. GA4 on Substack reads them, so signups get a source.
- Use a short link in places where people cannot click, such as a podcast or a talk, or where tags get trimmed, such as a bio. A short link counts the click on its own server before forwarding, so the count does not depend on any script on Substack.
- Ask. Substack's own subscriber details and a one-line "how did you find this?" in your welcome email catch word of mouth that no link records.
Track clicks from your Substack to your site
The other direction is easier. Links in your posts and emails that go to your own shop, course or site arrive with Substack as the referrer when the browser sends one, and email clicks often arrive with none. Tag them with utm_source=substack, utm_medium=email for the email and utm_medium=referral for the web post, and your site's analytics will show which issue sold what. See how to track email clicks.
When to move off Substack for tracking
If you need sales tied to the posts that drove them, server events to ad platforms, or a tool that needs no consent banner, you need a platform that runs your own scripts. Ghost, for one, has a site header code box.
Common questions
Can I add a tracking code to Substack?
Only the IDs Substack supports: a Google Analytics Measurement ID, a Meta pixel ID and an X pixel ID. Substack does not accept custom JavaScript or HTML.
Does Substack support Google Tag Manager?
Substack's help on advertising analytics covers Google Analytics, Meta and X pixels, and does not mention Google Tag Manager.
How do I see where my Substack subscribers come from?
Add your GA4 Measurement ID, tag every link you share with UTM parameters, and use short links where tags would be lost. GA4 then shows signups by source and campaign.
Can I use Sporetag on Substack?
Not on the Substack pages themselves, since Substack runs no custom scripts. Sporetag short links can count clicks sent to your Substack, and the tag works on your own site.
Sources
- Substack: Using advertising analytics on Substack. Checked October 2026.
Spotted something wrong or out of date? Email hello@sporetag.com and we will fix it.