How to add a chatbot without a plugin on any website platform
Install a chat widget without adding another app, plugin or extension to your site. The code is the same everywhere; where you paste it is not. This covers 22 platforms, 13 of which gate custom code behind a paid plan.
Why this matters
Marketplace apps are convenient and expensive in ways that are not obvious. Each one adds code you do not control, a permission grant to your store or site data, and another thing that can break on update. A plain script tag does the same job with none of that: it loads from the vendor's domain, touches nothing in your admin, and is removed by deleting one line.
What you paste
<script src="https://example.com/widget.js" data-site="your_public_key" defer></script>This is the entire installation. No app grant, no plugin directory, no permission scope on your store data — the widget runs in the visitor's browser and talks to the vendor directly.
Where it goes, by platform
The code is identical everywhere. The screen you paste it into is not, and neither is whether your plan allows it — 13 of 22 platforms require a paid plan for custom code.
| Platform | Where it goes | Plan needed |
|---|---|---|
| Shopify | Online Store → Themes → Edit code → layout/theme.liquid | All plans can edit theme code. Checkout pages are restricted to Shopify Plus. |
| WooCommerce | The parent theme's footer.php, or a code-snippets plugin | No plan gate — WooCommerce is self-hosted, so you control the code. |
| BigCommerce | Storefront → Script Manager | Script Manager is available on all plans. |
| Adobe Commerce | Content → Design → Configuration → HTML Head / Footer | Available on Adobe Commerce and Magento Open Source alike. |
| PrestaShop | The theme's templates/_partials/footer.tpl | Self-hosted, so no plan gate. |
| Ecwid | The host page, not Ecwid itself | Custom code on Instant Site requires a paid plan. |
| OpenCart | catalog/view/theme/<theme>/template/common/footer.twig | Self-hosted, so no plan gate. |
| Shift4Shop | Settings → Design → Themes & Styles → Edit Template | Template editing is available on all paid plans. |
| WordPress | The active theme's footer.php, or a code-snippets plugin | Self-hosted WordPress has no gate. WordPress.com requires a Business plan for custom code. |
| Webflow | Project settings → Custom code → Footer code | Custom code requires a paid Site plan; it is not available on the free staging domain alone. |
| Wix | Settings → Custom Code → Add Custom Code | Custom code requires a paid Premium plan and a connected domain. |
| Ghost | Settings → Code injection → Site Footer | Available on Ghost(Pro) and self-hosted alike. |
| Weebly | Settings → SEO → Footer Code | Custom code requires a paid plan. |
| Duda | Settings → Head HTML / Body End HTML | Available on all paid Duda plans. |
| Bubble | Settings → SEO / metatags → Script in the body | Custom code requires a paid Bubble plan. |
| Nuxt | nuxt.config.ts, under app.head.script | None. |
| Astro | src/layouts/Layout.astro, before </body> | None. |
| Gatsby | gatsby-ssr.js, via onRenderBody | None. |
| Hugo | layouts/partials/footer.html | None. |
| HubSpot CMS | Settings → Website → Pages → Site footer HTML | Available on CMS Hub Starter and above. |
| Drupal | The theme's html.html.twig, or the Asset Injector module | Self-hosted, so no plan gate. |
| Joomla | The template's index.php | Self-hosted, so no plan gate. |
How to check it worked
Confirm the launcher appears on the live site in a private window.
Check your app or plugin list and confirm nothing new was installed.
Remove the line temporarily and confirm the widget disappears cleanly, which tells you uninstalling leaves no residue.
What goes wrong
Assuming the marketplace version and the script version are the same product — sometimes the app adds server-side features the script cannot.
Pasting the tag into a page-level field when you wanted it site-wide.
Forgetting that a theme update can remove a hand-edited tag, where an app would have survived.
Questions
- Why would I use the app instead?
- If you need it to read order or account data, an app with a proper permission grant is the correct mechanism. For a widget that only answers questions from your published content, a script tag is strictly simpler.
- Does a script tag slow the site more than an app?
- Usually less. Marketplace apps often inject several files and run server-side hooks; a deferred script tag loads one file after the page renders.
Related
term
What is a website chatbot?
The term covers two very different things. Older chatbots follow scripts and break the moment a visitor phrases something unexpectedly. Modern ones retrieve from a business's own content and generate an answer, which handles arbitrary phrasing.
platform
How to add an AI chatbot to Shopify
You add an AI chatbot to Shopify by pasting a script tag into your theme's theme.liquid file, just before the closing body tag. It takes about two minutes, needs no app install, and survives theme updates as long as you don't switch themes entirely.
platform
How to add an AI chatbot to WordPress
The safest way to add an AI chatbot to WordPress is a code-snippets plugin or your theme's built-in footer-scripts field — not editing footer.php, which a theme update will overwrite. All three methods take under five minutes.
platform
How to add an AI chatbot to Webflow
In Webflow you add an AI chatbot under Site Settings → Custom Code → Footer Code, then publish. The step people miss is publishing — custom code does not appear on the live site until you do, and it never appears in the Designer preview.
platform
How to add an AI chatbot to Squarespace
Squarespace has a Code Injection panel built for exactly this. Paste your snippet into the Footer field under Settings → Advanced → Code Injection and it appears site-wide. You need a Business plan or higher — Personal plans cannot run custom code.
While you are in that field.
RubyRep installs through the same screen, in the same visit. Enter your site and we will read it and hand you the line to paste.