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.

PlatformWhere it goesPlan needed
ShopifyOnline Store → Themes → Edit code → layout/theme.liquidAll plans can edit theme code. Checkout pages are restricted to Shopify Plus.
WooCommerceThe parent theme's footer.php, or a code-snippets pluginNo plan gate — WooCommerce is self-hosted, so you control the code.
BigCommerceStorefront → Script ManagerScript Manager is available on all plans.
Adobe CommerceContent → Design → Configuration → HTML Head / FooterAvailable on Adobe Commerce and Magento Open Source alike.
PrestaShopThe theme's templates/_partials/footer.tplSelf-hosted, so no plan gate.
EcwidThe host page, not Ecwid itselfCustom code on Instant Site requires a paid plan.
OpenCartcatalog/view/theme/<theme>/template/common/footer.twigSelf-hosted, so no plan gate.
Shift4ShopSettings → Design → Themes & Styles → Edit TemplateTemplate editing is available on all paid plans.
WordPressThe active theme's footer.php, or a code-snippets pluginSelf-hosted WordPress has no gate. WordPress.com requires a Business plan for custom code.
WebflowProject settings → Custom code → Footer codeCustom code requires a paid Site plan; it is not available on the free staging domain alone.
WixSettings → Custom Code → Add Custom CodeCustom code requires a paid Premium plan and a connected domain.
GhostSettings → Code injection → Site FooterAvailable on Ghost(Pro) and self-hosted alike.
WeeblySettings → SEO → Footer CodeCustom code requires a paid plan.
DudaSettings → Head HTML / Body End HTMLAvailable on all paid Duda plans.
BubbleSettings → SEO / metatags → Script in the bodyCustom code requires a paid Bubble plan.
Nuxtnuxt.config.ts, under app.head.scriptNone.
Astrosrc/layouts/Layout.astro, before </body>None.
Gatsbygatsby-ssr.js, via onRenderBodyNone.
Hugolayouts/partials/footer.htmlNone.
HubSpot CMSSettings → Website → Pages → Site footer HTMLAvailable on CMS Hub Starter and above.
DrupalThe theme's html.html.twig, or the Asset Injector moduleSelf-hosted, so no plan gate.
JoomlaThe template's index.phpSelf-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

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.

https://

Takes about a minute. No credit card.

All how-to guides