Website analytics and support for an app you deploy on Replit

Everything Deacon needs is a line in a file you already have open. The awkward parts on Replit are not the install itself. They are a security policy that quietly blocks scripts and a free deployment that stops after thirty days, and both are covered below.

Last reviewed September 2026

Shipped, and then what

Replit covers

  • Writing it, running it and deploying it from one place
  • A machine to serve it from, without touching a server
  • Full access to every file in the project
  • Getting a change live in the time it takes to save
  • A URL you can send somebody the moment it works

Still on your plate

  • No record of which link or post actually sent anyone
  • A stuck visitor has your email address and nothing else
  • Nothing that turns a repeated question into a number you can see
  • The help pages that were always going to come later

Try Deacon for free

Install Deacon

What changes once it is in

Installing it

Deacon
One line in the file your deployment serves. You have the whole tree, so nothing is in your way.
As it stands
Two separate products, each wanting its own snippet in the same file.

Traffic

Deacon
Visitors, visits, page views, sources, pages, countries and devices.
As it stands
The deployment tells you it is running. It does not tell you who turned up.

Questions

Deacon
Answered from your own pages at the moment they are asked, source linked.
As it stands
An email address in the footer, answered whenever you next look.

Patterns

Deacon
Questions grouped by what they mean, so repeats surface on their own.
As it stands
Scrolling back through a month of messages.

Gaps

Deacon
A list of everything your documentation failed to answer, ready to fill in.
As it stands
No list. You find out when someone gives up loudly.

Four things specific to Replit

You have the files, so this is easy

Replit gives you the whole file tree on every plan, with no editor gated behind an upgrade. The snippet goes before the closing body tag of the file your deployment serves, or in the layout if your app has one, and that is the entire install.

Check your content security policy first

Replit’s own security checklist suggests adding a default-src 'self' content security policy. If you followed it, that policy will stop the loader running and the widget will simply never appear. Widen it for our origin in three places, the script itself, the frame the panel opens in and the connections it makes, or you will spend an hour blaming the snippet.

A sleeping app answers nobody

On the free plan a published Replit app goes offline after thirty days. Deacon only sees the visits that happen, so if the deployment is asleep there is nothing to count and nobody to answer. Worth knowing before you judge whether any of this is working.

The answers come from your own material

Deacon reads the pages and files you give it and answers from those alone, linking the page it used. When nothing you gave it covers the question it says so and takes an email address, rather than assembling a confident answer out of two unrelated facts.

Putting it in

Open the HTML file your deployment serves and paste the snippet before the closing body tag. If your app has a layout or a template, put it there instead so it runs once for every page. Replit does not publish guidance on third-party scripts, so this is our instruction, and it is the same place the tag goes on any other site.

Add the address you deploy to in Deacon first, since the widget only runs on listed domains. Then, if nothing appears, check the browser console for a blocked script. Replit’s security checklist recommends a strict content security policy, and a project that followed it needs that policy widened before any third-party script can load.

Once it is live, the rest happens in the dashboard. The install guide picks the story up there.

Deacon on a Replit app, answered

Before the closing body tag of the HTML file your deployment serves. If your app renders through a layout or template, put it there instead so it runs once on every page. It is the same place the tag goes on any other site.

Two likely causes. The first is that the address you are testing on is not in your allowed domains in Deacon, in which case the loader deliberately stays silent. The second is a content security policy. Replit’s security checklist recommends one, and a strict default-src 'self' policy blocks the script before it ever runs. The browser console will say which of the two it is.

Yes, as long as that address is listed in Deacon. Add whichever address your deployment actually serves on. If you later move to a custom domain, add that too.

Nothing to start. 50 answers a month on one seat, no card asked for and no expiry date. Page views are never metered.

Try Deacon for free

It is one line in a file you already have open, and nothing else to configure. Put it in before your next post goes out.

See what Deacon does, or read the plans and prices.

READ NEXT