Skip to main content
20% off 3 months · code LAUNCH20 · until 31 October

How do I add analytics to a Replit app?

19 September 2026 · by Nordva, who make Nordva Launch

The short answer

Replit's Growth pane already shows visitors, top pages, referrers, countries and devices for a published app. To follow a visit through to a signup and a payment, copy your script tag from Nordva Launch, ask Replit Agent to add it to the head of every page, republish, and list your replit.app address in Launch. Visits then appear under Insights.

The prompt for Replit
Add Nordva Launch web analytics to this app.

1. Find the HTML that every page of the frontend is served with, and add the script tag I paste at the end of this message inside its <head>, exactly as given. Don't change its attributes and don't load it twice.
2. Add data-nordva-goal="signup" to the main signup or "Get started" button, so clicks on it count as a goal.
3. Don't add any other analytics, cookie banner or tracking code, and don't change the server or anything else.
4. Tell me which files you changed.

The script tag:

What Replit already measures

A published Replit app has Project Analytics in the Growth pane. Replit describes it as answering whether people are finding and using the app, with visitors, top pages, referrers, countries, browsers and devices. For a first look at a new app, that’s a good start, and it’s already there.

What its docs don’t describe is the step after the visit: which of those visitors signed up, and which of them paid. That’s the question that decides where to spend the next month, and it’s what Launch adds.

Step by step

  1. Get your script tag. Sign in to Nordva Launch and open Insights. The setup card shows your tag with your site id filled in:

    <script defer src="https://e.nordva.dev/v1/s.js" data-site="ste_…"></script>
  2. List your domains. Add the address visitors use: the .replit.app name you picked when you published, and your own domain if you connected one. Launch counts visits only from listed domains, so your own clicks in the workspace preview stay out of the numbers.

  3. Paste the prompt. Copy the prompt above into Replit Agent’s chat and paste your tag at the end. Agent builds apps in different stacks (a React frontend served by an Express server is common, but not the only one), so the prompt asks it to find the HTML every page is served with instead of naming a file.

  4. Keep it there. Add a line to replit.md, the file Agent reads for standing instructions, such as “Keep the Nordva Launch analytics script in the head of every page”. Otherwise a later rebuild of the frontend can drop it.

  5. Republish. Changes in the workspace don’t replace the live app until you click Republish.

  6. Check it. Open the live app in a new tab. The Insights card says “Your first visit is here.” when the first visit arrives, usually within a minute.

What you see after that

Visitors by source, with UTM tags and ?ref= on the first page, the pages they read, countries and cities on a map, devices, and clicks on your signup button. Launch leaves out known bots and traffic from data-centre networks, and never stores an IP address.

Tag the links you share, such as ?utm_source=reddit&utm_campaign=launch, so each post gets its own row.

Then connect the visit to what happened next. If your app has its own sign-up, ask Agent to call nordva('identify', { user_id, email }) in the browser right after a user signs up or logs in. From then on, that user’s first visit is known. Connect Stripe (read-only, on every plan) and Insights shows which sources brought paying customers. To match on your own user ids, put the user id in the Stripe customer’s metadata when you create the customer, and give that metadata key when you connect Stripe.

Visitors in Europe

New sites use the auto tracking mode: returning visitors outside the EEA, the UK and Switzerland are recognised with a first-party cookie, and those inside them only after your cookie banner gets a yes. European visits are still counted without one. If you add a banner, call nordva('consent', true) when someone accepts.

Limits

Free includes 10,000 analytics events a month per account and one funnel of up to three steps; Indie 100,000 events and five funnels. Free has no time limit and needs no card.

When Launch is the wrong tool

If you only need to know whether people are finding the app and which sites send them, Replit's Growth pane covers it at no extra cost. Launch is for when you need to know which source brought the people who signed up and paid.

Replit's own docs, checked 19 September 2026

Builders change often. If a step no longer matches what you see, tell us and we will fix the page.

Also asked as
  • Does Replit have analytics for deployed apps?
  • How do I install analytics to understand how my Replit app is used?
  • How do I see where visitors to my replit.app site come from?
Read next
Start free Free plan, no time limit · No card