Implementation & How-To· 5 min read· By The SpideyChat Team

Squarespace Code Injection: Which Plans Allow a Chat Widget

Squarespace Code Injection, which a chat widget needs, is on Core, Plus and Advanced plans, not Basic. How to check yours, header or footer, and testing.


A chat widget on Squarespace needs Code Injection, and at the time of writing (October 2026) that is included on the Core, Plus and Advanced plans and some legacy billing plans, but not on Basic. If your plan includes it, paste the widget's script tag into the Footer box and it loads on every page. If you're on Basic, you'll need to change plan first.

Squarespace has renamed and reshuffled its plans more than once, so here is how to check yours, where the code should go, and why it sometimes seems not to work when it does.

Which plans include Code Injection

Squarespace's help center article on code injection says it is available in the Core, Plus, Advanced and some legacy billing plans. Its pricing page, at the time of writing, shows three plans side by side (Basic, Core and Advanced) and lists Code Injection on Core and Advanced only. The pricing page describes the feature as adding code that affects your entire site or a single page, "like Meta Pixel or live chat services".

The quickest way to check your own site is to open your billing panel and read the plan name. If it says Basic, Code Injection isn't included. If it's an older plan name you don't recognise, open the Code Injection panel and see whether you can save code there.

Two plan changes are worth knowing about:

  • Downgrading switches it off. Squarespace's premium features article says that on a downgrade to Basic, Code Injection is disabled. The code stays in the panel for reference but no longer affects your site, so your chat widget quietly disappears.
  • Trials include it. Squarespace says that during the 14-day trial you get most premium features, including site-wide and per-page code injection. The only exception it lists is code injection on the lock screen.

Header or Footer: where the widget goes

The Code Injection panel has a Header box and a Footer box. Squarespace says Header code is injected into the head of every page, and Footer code is injected before the closing body tag on every page.

Use the Footer box for a chat widget. The reason is loading order. A script in the head is fetched before the page content is drawn, so a slow third-party file can hold up everything above it. In the footer, your page renders first and the chat button appears a moment later, which is what you want.

SpideyChat's widget would work from the Header box too. If the page body doesn't exist yet when the script runs, it waits for the document to finish loading before it adds the button. It's simply slower for your visitors, so there's no reason to choose it.

Showing chat on some pages only. Squarespace also has page-level code injection, reached from the gear icon on an individual page. That adds code to that page's header area. Put the snippet there instead of in the site-wide Footer box if you only want chat on, say, your pricing and contact pages.

Why you can't see it after saving

This catches almost everyone on Squarespace. Squarespace's help center says injected code doesn't display in the site editor preview, although it does appear to visitors. Its custom code article adds that some code may not appear for you while you're logged in, even when visitors can see it.

So the test is always the same: open your live site in a private or incognito window. If the chat button shows there, the install worked.

If it still doesn't show:

  1. Check the snippet. View the page source and search for widget.js. You should find one script tag with your bot ID in its data-bot-id attribute. If you're not sure which ID is yours, see find your bot ID.
  2. Rule out another script. Squarespace has a safe mode for troubleshooting. Its help center says that adding /safe after /config in your editing address temporarily disables scripts.
  3. Read the browser console. SpideyChat writes a line starting with [SpideyChat] when something is wrong, such as a missing bot ID or a website that isn't on the license. Our troubleshooting checklist explains each message.

Squarespace says custom code is outside the scope of its own support, so the widget vendor is the right first contact if none of this helps.

Changing the widget without touching Squarespace again

Once the snippet is in the Footer box, you rarely need to open Code Injection again. The script tag only carries your bot ID. The widget fetches the chatbot's colour, greeting and settings from SpideyChat each time a page loads, so a change you make in the SpideyChat dashboard shows on the live site without re-pasting anything. The same goes for training: when you add a document or re-crawl your pages, the answers change, not the code.

The trial domain trap

If you install during a Squarespace trial, the first address the widget loads on is usually your built-in domain, which ends in squarespace.com. Squarespace says trial sites are private, but you'll still visit yours while building it.

A SpideyChat chatbot registers the first website it loads on. Your custom domain, once connected, is a different website. On the Free plan, which covers 1 website per chatbot, the custom domain would then be turned away and the widget would remove itself there. Before launch, open License & websites on your chatbot's page and add your real domain, or remove the built-in address. Starter covers 3 websites and Pro 10, and subdomains of a listed website are included. There's more on this in chatbot not loading on a new domain or staging site.

Before you paste anything

Confirm your plan includes Code Injection, put the script tag in the Footer box, and test in a private window. The Squarespace integration page has the install steps, and you can run a free test of the assistant against your site from there before you change a single setting.

Frequently asked questions

Which Squarespace plans include Code Injection?
At the time of writing, Squarespace's help center lists Core, Plus, Advanced and some legacy billing plans. Its pricing page shows Code Injection on Core and Advanced and not on Basic.
Should a chat widget go in the Header or Footer box?
The Footer box. Squarespace places Footer code before the closing body tag on every page, so your content loads first and the chat script doesn't hold it up.
Why can't I see my chat widget in the Squarespace editor?
Squarespace says injected code doesn't display in the site editor preview, although visitors see it. Check the live site in a private or incognito window instead.
What happens to Code Injection if I downgrade to Basic?
Squarespace says the code stays in the Code Injection panel for reference but stops affecting your site, so the chat widget disappears until you move back to a plan that includes it.

Want a 24/7 AI Employee for Your Website?

See how SpideyChat can answer customer questions, capture leads and handle enquiries while your team is offline.

No obligation. We will review your website and show you how SpideyChat could work for your business.

Keep reading