Live Chat Plugin Squarespace: Free Install Guide article cover
Home/ Blog
Setup Guides

Live Chat Plugin Squarespace: Free Install Guide

TL;DR: install Knocket on Squarespace in minutes

Step-by-step infographic: copy the Knocket embed code, paste it into Squarespace Code Injection, then send a test message.Paste one script into Squarespace Settings → Advanced → Code Injection. Use site-wide injection to show the chat button everywhere, or page-level injection for a single landing page.

<script src="https://trtc.io/knocket-sdk/sdk.js?identifier=YOUR_IDENTIFIER" async></script>

Replace YOUR_IDENTIFIER with the value from your Knocket console, save, then send a test message from a visitor browser and confirm it lands in your Inbox.

Visitor messages arrive in Knocket Inbox. On your phone you can reply from the same Inbox in a mobile browser, or connect Telegram and answer by quoting the notification. Knocket's core contact experience is 100% free · no card · forever, and it is Powered by Tencent RTC.

Start here: Knocket Installation · Web Widget settings · Inbox · Contact Page

New to script-based chat? How to add live chat to any website covers the same pattern for other platforms.

Before you start

This guide assumes your Squarespace site already exists and you just want chat installed.

Knocket adds a floating chat button to your Squarespace site. Visitors click it, send a message, and you receive it in the Knocket Inbox. There is no backend to build, no chat server to run, and no npm package to install.

Keep these references open while you work: Squarespace Code Injection documentation, MDN: the script element, Telegram Bot documentation.

What you need to know before installing

No backend required. Messages travel from the widget to your Knocket Inbox without any server, database, or message API on your side.

Visitors do not register. People chatting on your site never create a Knocket account — only you, the site owner, need one. Depending on your widget configuration you may collect visitor details before a conversation or when you are offline.

The core experience is free. The Web Widget, Contact Page, and unified Inbox are 100% free · no card · forever. Read the reasoning in Why free.

Any script adds some page work. The Knocket snippet loads with async, so it does not block rendering, but you should still measure before and after. Paste it once, prefer footer placement, and check with PageSpeed Insights.

Copy the embed code

Open Knocket Installation → Web Widget and copy the complete script. Do not retype it by hand — the identifier controls which Inbox receives your messages.

<script src="https://trtc.io/knocket-sdk/sdk.js?identifier=YOUR_IDENTIFIER" async></script>
Part What it does
src Loads the Knocket Web Widget SDK. Must start with https:// or the browser resolves it as a relative path and the widget never loads.
identifier=... Routes messages to your widget configuration and Inbox. Never reuse another site's identifier.
async Loads the script without blocking page rendering.

Prefer generating the snippet rather than editing it? Use the embed code generator.

Method 1: site-wide install (Settings → Advanced → Code Injection)

Use this when you want chat available on every page.

  1. Log in to Squarespace and open the site.
  2. Go to Settings → Advanced → Code Injection.
  3. Paste the Knocket script into the injection field.
  4. Click Save.
  5. Open the public site (not the editor preview) and confirm the chat button appears.
  6. Check a second, deeper page such as /contact to confirm it is truly site-wide.
Location Recommendation
Footer / end-of-body Preferred. Keeps a non-critical widget out of the initial head path.
Header Use only if your setup requires it. async means it will not block parsing, but later placement is cleaner.

Hard refresh if the widget does not appear immediately.

Method 2: single-page install

Use this for a campaign landing page, pricing page, or beta signup page.

  1. Open Pages in Squarespace admin.
  2. Select the target page.
  3. Open that page's settings or advanced/code area.
  4. Paste the same script and save.
  5. Open the public page URL and confirm the button appears only there.

If the code shows up as visible text instead of running, it was pasted into a normal content block. Move it to a code injection area that actually executes scripts.

Running several campaigns? Give each landing page the identifier from its own Knocket installation so messages route to separate inboxes. After each install, send a test from that exact public URL and confirm it reaches the expected Inbox.

Site-wide or single-page?

Comparison of site-wide versus single-page Knocket installation paths in Squarespace.

Your situation Choose
You want a general contact entry everywhere Site-wide
Chat only on a campaign or pricing page Single page
You want the fastest setup Site-wide
You are testing whether visitors use chat at all Single page
You worry about clutter on blog posts Single page

Site-wide is the better first version for most business sites. Single-page is the better experiment.

Comparing script-based tools such as Crisp, Tidio, or tawk.to? Treat this as a setup-workflow comparison only — their pricing and limits change frequently and were not verified for this article. See the alternatives breakdown for a maintained comparison.

Verify it works

Four-step verification loop with a troubleshooting table for common chat widget issues

Do not stop at seeing the button. Test the full loop.

  1. Open the live site in a normal browser tab.
  2. Click the chat button and send: "Test from Squarespace homepage."
  3. Open Knocket Inbox and confirm the message appears.
  4. Reply from the Inbox and confirm it appears back in the visitor widget.
  5. Repeat in a private/incognito window to rule out cache and admin-session effects.
Symptom Likely cause Fix
No chat button Script not saved, or wrong injection area Reopen Code Injection and confirm the script is present
Code displays as text Pasted into a content block Move to Code Injection or a script-executing embed block
Button on one page only Installed at page level Use Settings → Advanced → Code Injection for site-wide
Message never reaches Inbox Wrong identifier Copy the full script again from Knocket Installation
Works in preview but not live Site not saved/published Save, then open the public URL

Mobile checks

Most Squarespace visitors arrive on phones, so test there too.

  1. Open the live URL in Safari or Chrome on your phone.
  2. Confirm the button is visible and not covered by a cookie banner, sticky bar, or promo popup.
  3. Tap it, send a visitor message, and confirm it reaches the Inbox.
  4. Reply and confirm the reply returns to the phone.

To reply from your phone, open Knocket Inbox in your mobile browser. The Inbox is the operator side; visitors use the widget on your site. If the button shows on desktop but not mobile, a mobile-only element is usually covering it — test the public URL in a real mobile browser, not the editor preview. Full details: Web Widget.

Telegram notifications and quote reply

If you would rather answer from Telegram than keep the Inbox open:

  1. Open Notifications in the console.
  2. Connect Telegram and choose Full and quote reply mode.
  3. Send a test message from your Squarespace site.
  4. In Telegram, use quote/reply on the notification — the reply is delivered back to the visitor's widget.

In Notification only mode Telegram only alerts you; you must open the Inbox to read and reply. The connection itself takes about 30 seconds once you are on the setup screen.

Telegram can rate-limit high message volumes, so use the Inbox as the canonical conversation view rather than treating Telegram as a delivery log.

Performance

The script is async, so it loads without blocking HTML parsing — the correct pattern for a non-critical widget. Knocket runs on infrastructure Powered by Tencent RTC; you do not need to integrate any Tencent SDK yourself, you only paste this one script.

After installing, check with PageSpeed Insights, comparing mobile and desktop separately. Paste the script once, prefer footer placement, and remove duplicate installs.

Uninstalling

Remove the script from wherever you installed it and save again, then confirm in a private window that the button is gone.

If the button still shows, look for duplicate installs — commonly site-wide Code Injection plus a page-level block, or a theme-level custom code area plus Code Injection. Check every custom-code location and keep exactly one install for the scope you want.

Final checklist

Step Pass condition
Copy script Copied complete script from Installation, identifier included
Paste Saved in Code Injection or a script-executing page area
Scope Confirmed whether it appears site-wide or on one page
Visitor test Test message reaches Knocket Inbox
Reply test Inbox reply returns to the visitor widget
Mobile test Button works and messages send from a phone browser
Telegram test Quote reply returns to the visitor chat
Performance PageSpeed shows acceptable load after install
Removal You know where the script lives and can delete it

Ready to add live chat to your Squarespace site? Start free with Knocket — no card required.

FAQ

Do I need a specific Squarespace plan to use code injection?

Yes. Squarespace limits code injection to Core, Plus, Advanced and some legacy plans, and injected code never runs on checkout pages. If the Code Injection panel is missing from your admin, your plan does not include it — see [Squarespace's code injection guide](https://support.squarespace.com/hc/en-us/articles/205815908-Customize-parts-of-your-site-with-code-injection) for the current list. If your plan does not support code injection, use Method 2 in a page-level area that explicitly runs scripts, or upgrade.  

Use the footer or end-of-body injection area when possible. A live chat button is helpful, but it is not usually required for the first paint of the page. Footer placement keeps the install cleaner, while the async attribute helps the widget load without blocking HTML parsing.

Why does the chat button appear in preview but not on my live Squarespace site?

This usually means the page or code injection changes were not saved or published, or you are looking at a cached version of the public page. Save the Squarespace settings, open the public URL in a private window, and confirm the script is present only once in the correct injection area.

Can I use different chat inboxes for different Squarespace pages?

Yes. Use a different Knocket installation identifier for each campaign, landing page, or section where you want separate message routing. After installing each script, send a test message from the exact public page URL and confirm it reaches the expected Knocket Inbox.

Will visitors need to create an account to chat?

No. Visitors use the widget directly on your Squarespace site. Only the site owner or operator needs access to Knocket Inbox to receive and reply to messages.

How do I stop the chat widget loading twice?

Check every custom-code location on your site: site-wide Code Injection, page-level code areas, embed blocks, and theme-level custom code. Keep exactly one install for the scope you want.

Can I remove Knocket from my Squarespace site later?

Yes. Delete the script from wherever you installed it, save, then confirm in a private window that the button is gone.