You built your site on Squarespace because you did not want to touch code, and now you want a chat widget on it that can actually answer questions instead of just collecting emails. The good news is that Squarespace has a built-in spot for exactly this, no plugins, no third-party extensions, no developer. It is called Code Injection, and pasting one snippet there puts live chat on every page of your site at once.
This guide uses muro for the chat and the AI. We will walk the exact Squarespace path (it is buried two menus deep, so the clicks matter), explain why the Footer is the right place to put it, and cover the two things people worry about most on Squarespace: whether it survives a template or design change, and whether it slows your site down. Short answers: yes it survives, and no it does not. Here is the long version.
Before you start: which Squarespace plan you need
Code Injection is the feature you are looking for, and it is not available on every Squarespace plan. It lives on the Business plan and the higher Commerce plans. If you are on the cheapest Personal plan, you will not see the Code Injection menu, and you will need to upgrade before any of the steps below work. Worth checking first so you are not hunting for a menu that is not there.
Step 1: Get your widget snippet
First create a project (muro calls it a "site") during signup. You name your site, and muro generates a widget with its own id. Then open the install screen in your dashboard. You will see a short script with your real widget id already baked in. The snippet looks like this:
html<script>
(function(w,d,s,o){
w.MuroChat=o;w[o]=w[o]||function(){(w[o].q=w[o].q||[]).push(arguments)};
var j=d.createElement(s);j.async=1;j.src='https://muro.chat/widget.js';
d.getElementsByTagName('head')[0].appendChild(j);
})(window,document,'script','muro');
muro('init',{widgetId:'YOUR_WIDGET_ID'});
</script>Copy the version from your dashboard and replace YOUR_WIDGET_ID with the real id muro gives you. Do not retype it by hand. One wrong character in the id and the script still loads, but it attaches to nothing, so you get a silent no-op that is annoying to debug. Copy, paste, done.
Step 2: Open Squarespace Code Injection
This is the part where the exact path saves you ten minutes of clicking around. In your Squarespace dashboard:
- 01Click Settings in the main left-hand menu.
- 02Scroll down and click Advanced.
- 03Click Code Injection.
- 04You will see two large text boxes: Header and Footer.
Note the wording, because Squarespace's panel has shifted over the years and across the version-7.0 and version-7.1 editors. If you do not see Advanced directly under Settings, look for it under a Developer Tools or Website subsection. The destination is the same on every recent version: a page with a Header box and a Footer box, both of which inject raw code into every page on your site.
Step 3: Paste into the Footer box (not the Header)
Paste your muro snippet into the Footer box and click Save. That is the whole install. The widget is now on every page of your Squarespace site.
Why Footer and not Header? Because anything in the Header box runs while the rest of your page is still loading, and Squarespace itself recommends the Footer for third-party scripts for exactly that reason. Putting the chat script in the Footer means it loads after your content, so your visitors see your actual page first and the chat bubble shows up a beat later. The muro snippet is also marked async, so even in the Header it would not block rendering, but Footer is the cleaner, recommended home for it.
Step 4: Verify it actually loaded
Open your live site in a normal browser tab (your real public URL, not the Squarespace editor preview, which sometimes strips injected code). Within about ten seconds the chat bubble should appear in the bottom corner. Back in muro, the dashboard detects the first ping from your domain within roughly thirty seconds and flips the site to a live status.
If the bubble does not show up, do not guess. Open the browser console (right-click, Inspect, then the Console tab) and look for errors. The two things to check on Squarespace:
- →You pasted into the public site's Code Injection, not a draft or a different site in your account. Easy to mix up if you run several Squarespace sites.
- →You saved in the live Code Injection panel and are testing the live URL, not the in-editor preview. The editor preview does not always run injected scripts, so a missing bubble there is normal and not a real failure.
Step 5: Turn on the AI and point it at your content
A chat bubble that just sits there is a contact form with extra steps. The point of AI live chat is that it answers. In muro, open your site, turn on AI auto-reply, and use Train on your site: paste the URL of your Squarespace site, your FAQ page, or a docs page. muro reads the pages and turns them into help articles automatically, so the AI has something real to answer from on day one, before you have written a single doc.
The AI is grounded only on that knowledge. It is instructed never to invent prices, features, or facts. When it does not know, it says so in one line and hands the conversation to you. It escalates on refunds, cancellations, account-specific questions, or a frustrated visitor, and the moment you reply in the inbox it backs off for that conversation so it never talks over a human. It is always labelled as AI and never pretends to be a person. See it running on the live demo.
Will it hurt my Lighthouse or page speed score?
This is the second thing Squarespace owners ask, because Squarespace sites already carry a fair bit of their own JavaScript and you do not want to make the score worse. The honest answer: the muro widget is built not to. The script file is around 6 KB, and the snippet loads it with async, which means the browser fetches it in the background without blocking your page from rendering. Your content paints first; the chat loads after.
Because the load is deferred and the file is tiny, it does not block first paint or your largest contentful paint, the metrics that move your score the most. You will not see your Lighthouse number fall off a cliff the way you might with a heavyweight script that runs on the critical path. If you want to confirm it for yourself, run Lighthouse on your live page before and after pasting the snippet and compare. That is the right way to settle a performance question, by measuring it on your own site rather than taking anyone's word for it.
What it costs
Honest version: there is a 14-day free trial with no card required, and no permanent free-forever plan. After the trial it is a flat price, Solo at $19/mo for up to two projects or Fleet at $59/mo for unlimited projects. Every plan includes unlimited agents with no per-seat charge and no per-resolution AI fees, which matters if you run several Squarespace sites and do not want a bill that grows every time someone opens a chat.
AI runs on a monthly credit pool included in your plan, with optional top-up packs if you need more. Or paste your own Anthropic (Claude) key and the AI runs on your own account, unlimited, at cost, with zero markup. If you want to understand that tradeoff, here is why AI support gets expensive and how bringing your own AI key flips the math. Full breakdown on pricing.
That is the whole thing: paste one snippet into Settings, Advanced, Code Injection, Footer, save, and you have AI live chat on every page of your Squarespace site. It survives your next redesign, it loads async so it stays out of your Lighthouse score's way, and the AI answers from your own content from day one. Start free, paste the snippet, and you can have it answering this afternoon.
