What Replit analytics counts, and what Deacon adds

Replit’s Growth pane counts the visitors to your published app, with their pages, referrers, countries, browsers and devices, over up to 30 days. Custom events such as sign-ups are added by Agent, on a paid plan. Deacon adds goals and funnels you set up yourself, the JavaScript errors your visitors hit, and an AI customer support agent that answers them in seconds, all from one script tag. There’s a free plan, with no card.

Replit’s docs and prices read on 23 September 2026

What you get from the Growth pane, and from Deacon

Replit’s Project Analytics shows

  • Visitors, and how they change hour by hour or day by day
  • Top pages, referrers, countries, browsers and devices
  • Logged-in users, if your app uses Replit Auth
  • Custom events, which Agent adds on a paid plan
  • Any range from six hours to 30 days

Deacon adds, from one script tag

  • Goals you set with one attribute, and funnels of up to 5 steps, on every plan
  • A utm_source tag on a link, so a tagged launch post counts as its own source
  • The JavaScript errors visitors hit in their browsers
  • An AI agent that answers visitors in seconds, from your own docs
  • Every question saved, and the product questions grouped into topics and counted
  • The name and email of whoever is logged in on each conversation, once your app passes them

Try Deacon for free

Install Deacon

Replit analytics and Deacon, side by side

Setting it up

Deacon
One script tag on the page your app serves, placed by Agent or by you.
Replit analytics
Turn on Enable analytics when you publish, and Replit adds its own tracker.

Traffic

Deacon
Visits, sign-ups or another goal, questions to Deacon, the share who left after one page and time on site, by page, source, country and device, over 7, 30 or 90 days or all time.
Replit analytics
Visitors over time, top pages, referrers, countries, browsers and devices, over six hours to 30 days.

Where visitors came from

Deacon
The referring site, or the utm_source on the link, so a tagged launch post shows up as a source of its own.
Replit analytics
Top referrers, the websites that send you traffic.

Sign-ups and funnels

Deacon
Mark a form, button or link as a goal, or call Deacon.track(), and chain goals into funnels, on every plan.
Replit analytics
Custom events that Agent writes into your code, and funnels Agent works out when you ask, on a paid plan.

Errors

Deacon
The JavaScript errors visitors hit in their browsers, with a note when a new one turns up.
Replit analytics
HTTP statuses and your server’s logs, kept for 30 days, in the Monitoring tool.

Hearing from visitors

Deacon
An AI agent answers their questions in seconds, and every conversation is saved, with the questions grouped into topics and counted.
Replit analytics
A feedback widget that visitors sign in to use, sending their reports to your Inbox for Agent.

Cost

Deacon
Free on one seat, with 50 answers a month and no card. Every feature is on every plan.
Replit analytics
Default metrics once analytics is on. Custom events and questions to Agent need a paid plan.

What Deacon does for a founder on Replit

Know which link brought the sign-ups, on any plan

On Replit, custom events are written into your code by Agent, on a paid plan. With Deacon you add data-deacon-goal="Sign up" to your sign-up form, and the sources table rates every source by the sign-ups it brought, whether that’s a launch post, a newsletter or a link you tagged with utm_source. Chain goals into a funnel to see where people drop off.

See the errors your server never hears about

Replit’s Monitoring shows your server’s logs and the HTTP statuses it sent. A button that throws an error in a visitor’s browser doesn’t show up there. Deacon records the JavaScript errors visitors hit on your live app. Errors on your pages lists each one by the visits it hit, and the three that hit the most sit in What needs you beside the bugs visitors report. Each copies with the stack the browser sent, ready for Agent, Claude Code or Cursor to fix.

Answers in seconds, not a feedback form

Replit’s feedback widget collects reports for you to read later. Deacon answers the question there and then, in seconds and in the language the visitor writes in, from your own docs. When your docs don’t cover it, Deacon says so and asks for their email. Write the answer once and it becomes part of what Deacon knows, so it needs you less over time.

Hear what every visitor wants

Most visitors leave without a word. Deacon saves every conversation, groups the questions into topics, counts how many people asked each one and labels most of them, as a feature ask, a bug report, a how-to and so on. So you know what’s confusing people and what they want you to build next.

How to add Deacon to a Replit app

Start in Deacon. Sign up, add your docs or your site, and list the address your app is published on, because Deacon only shows the widget on the addresses you list. That’s your replit.app address, plus your own domain if you’ve connected one. The replit.dev address you see in the preview is temporary, so leave it off and test on the published one.

Replit’s docs don’t cover adding a third-party script, so this is the rule that works on any site. The tag goes just before the closing body tag of the HTML page your app serves, or in its layout if it has one, so it loads on every page. The quickest way is to click Copy the prompt for Replit on Deacon’s Install page and paste it into the Agent chat. The prompt carries your tag and asks Agent to put it there, and to pass Deacon whoever is logged in if people log in to your app.

Then republish. Changes in the Project Editor don’t replace your published app until you do, and the address stays the same. Deacon’s Install page shows when it has seen your script on a live address, and keeps checking by itself.

If the chat never appears, look for a content security policy. Replit’s security checklist suggests the policy default-src 'self', which lets no outside script run, and the browser console names the rule that blocked Deacon. Add https://heydeacon.com to the policy’s script-src, connect-src and frame-src, and 'unsafe-inline' to its style-src. Install’s prompt for Replit already asks Agent to do this when your app sets a policy.

To count sign-ups, ask Agent to add data-deacon-goal="Sign up" to your sign-up form, or to call Deacon.track('Sign up') once an account is created. The install guide walks through the dashboard side.

FAQ

Questions about analytics on Replit

Yes. Replit’s Project Analytics is in the Growth pane, under Tools › Replit Cloud. It shows visitors, top pages, referrers, countries, browsers and devices for your published app, over six hours to 30 days, and your logged-in users if the app uses Replit Auth. You switch it on with Enable analytics when you publish. On a paid plan, Agent can add custom events and answer questions about your numbers. Replit’s paid plans start with Core, at $20 a month, or $18 a month billed yearly. Uptime, requests and response times are in a separate Monitoring tool.

Yes. Ask Agent to add the tool’s tracking code, with the ID the tool gives you, and republish. Each tool you add is another script and another dashboard. Deacon is one script that counts your traffic, sign-ups and errors and answers your visitors too.

It does a different one. Replit’s feedback widget lets visitors report a problem or suggest an improvement, and its docs say they sign in to leave it. The reports land in your Inbox, where you can send one to Agent to fix. The widget itself answers nobody. Deacon answers visitors’ questions in seconds, from your own docs, and the two can run side by side. If you’re weighing up having Agent build a chatbot instead, what a Replit chatbot takes covers the key, the database and the credits.

There’s no need, because the two can run side by side. Expect their numbers to differ. Replit says its visitor counts are approximate, taken from network and browser data. Deacon counts a visitor once per UTC day and ends a visit after 30 quiet minutes.

Deacon shows the widget only on the addresses you list, and Replit’s preview runs on a temporary replit.dev address meant for development. Publish, then check your replit.app address, or your own domain if you’ve connected one.

On Replit’s Starter plan, your one published app goes down after 30 days, and you can republish it. While it’s down, there are no visitors to count and nobody to answer, so a gap in your Deacon charts may be that rather than a quiet week.

Yes. An app built with React moves between pages without a full reload, and Deacon’s script counts each move to a new address as a page view. The chat follows the visitor from page to page, so a conversation isn’t lost when they click through to your pricing.

Yes, if your app passes it on. The prompt you paste into Agent from Deacon’s Install page already tells it to pass Deacon the id, email and name of whoever is logged in. If Deacon went in without that, the “Do your users log in?” card on Install has a prompt for the change on its own, and then you republish. You’ll see who each conversation is with, and when Deacon can’t answer, their email is already in the box, so asking for a reply takes one tap. Plan, role and similar details go another way. Ask Agent to pass them with Deacon.setContext(), and Deacon takes them into account when it answers. The browser supplies all of it and Deacon doesn’t check it, so never pass a password or a token, and keep internal ids out of the context.

Yes. When the script loads, it sets a cookie called deacon_visitor_id and keeps the same id in local storage, so Deacon can tell a returning visitor from a new one. The cookie asks for 90 days, and Safari cuts it to about 7. Page views are counted without it, from a hash that changes every day. After a visitor first opens the chat, the widget stores deacon_chats in local storage and drops it 30 days after their last open. If your Replit app passes who’s logged in, it also stores deacon_signed_in with their id or email, which starts the next person on a shared computer afresh. In session storage, deacon_language and deacon_panel go when the tab closes.

Nothing to start. The free plan has 50 answers a month on one seat, with no card and no end date, and website analytics is on it along with every other feature. Paid plans add answers, knowledge, pages from your website and seats, and nothing is billed past a plan’s answers. The figures are on the pricing page.

Try Deacon for free

One line, placed by Agent, and a republish. Then Deacon answers your visitors in seconds and shows you which sources bring sign-ups and what people ask.

See what else Deacon does, or compare the plans. If you’re weighing Replit against other builders, the best vibe coding tools compares nine, and Replit vs Lovable sets it beside Lovable.

READ NEXT