USE CASE

Webflow chatbot and visitor analytics from one line of Footer code

Deacon, an AI customer support agent, answers your visitors and counts them from one line of Webflow Footer code, on any Webflow plan that allows custom code.

Published

Deacon answers the people on your Webflow site from the pages you have published, shows which page each answer came from, and counts your visitors from the same line of code. There is no Deacon app in the Webflow Marketplace and nothing to connect. Deacon’s own free plan is 50 answers a month with no card, and the visitor counting is free on every plan.

Webflow’s custom code guide, read on 18 September 2026, allows code across the whole site when the workspace is on Core, Growth, Agency or Freelancer, or when the site has an active Site plan of its own. A site on the free Starter workspace with no Site plan is not on that list.

With a plan that allows it, open Site settings, go to the Custom code tab, and paste the snippet from Deacon’s Install page into Footer code. Webflow puts Footer code before the closing body tag of every page. Save changes. The install guide shows where the snippet is on Deacon’s side.

Then publish. Webflow says so plainly in the same guide. Custom code does nothing on the live site until the site has been published again.

Where you will see it

The Designer

Does Deacon appear?
No. Site-wide code does not run in the Designer

Preview, with Run custom code in Preview switched on

Does Deacon appear?
Only if the preview’s canvas.webflow.com address is one of your allowed domains

Your webflow.io address

Does Deacon appear?
Only if that address is one of your allowed domains

Your own domain, once published

Does Deacon appear?
Yes, once it is one of your allowed domains

With Run custom code in Preview switched on, Webflow renders the preview on a subdomain of its own, your site’s short name followed by .canvas.webflow.com. Its note on previews warns that scripts which check the domain they run on may need that address adding. Deacon checks, and stays silent on any domain you have not listed on its Install page.

Anything asked in the preview spends your allowance and counts as a visit, because the canvas address is a public website like any other.

List the canvas address if you want Deacon in your previews. Checking on the published site spends nothing.

Visitor analytics, and a goal set in the Designer

Analytics › Website shows who came to your Webflow site, from the same line of code. You see visitors, visits and page views, where people came from, which page they arrived on, and their country and device. Counting them sets no cookie, and Deacon keeps no visitor’s address.

A week of visitors charted against the week before, with sign-ups and time on site shown above the chart.

A goal counts the visitors who reach a moment you care about, and on Webflow you can set one without writing code. Select the button, open its settings in the Designer, and add a custom attribute named data-deacon-goal whose value is the goal’s name, such as Book a demo. The button still does what it did, and the goal appears on Analytics › Website with its share of your visitors.

A Webflow site is a set of separate pages, and following a link loads the next one from scratch. Deacon carries an open conversation across that. A visitor who moves to another page of your site in the same tab finds the panel still open there, in the same place and at the same size, with the conversation in it. This lasts as long as the tab stays open.

The link under an answer is the exception. It opens the source page in a new tab, and the conversation stays where it was.

If you use Webflow Localization

Localization publishes each extra language in its own folder, named with the language code by default, such as /fr or /es. When Deacon crawls your site it skips folders named with a language code, so it learns your primary pages once instead of spending your crawl on the copies. A folder you have renamed to something else is crawled like any other. A visitor on the French pages can still ask in French and gets the answer in French, taken from the primary pages and linked to them.

Try it on your own documentation

Add your help pages, ask it the question you know your docs cannot answer, and watch it say so.

The free plan covers 50 answers a month on one seat, and the paid plans are on the pricing page.

Start free

Free plan, no card.

READ NEXT