Skip to content
ShopAssist Docs
Widget

Display rules

Hide the widget on paths, mobile or checkout, and how the widget behaves when the assistant is unavailable.

The loader decides on every page whether to show the launcher, in this order:

  1. The store's widget status (switched off, paused or disconnected → hidden).
  2. Checkout: hidden on checkout pages unless Show on checkout is on. Plugins also never render it on checkout; on Shopify it never runs on checkout at all.
  3. Hide on paths: up to 50 patterns such as /account/* or /b2b/** (* = anything except /, ** = anything, ? = one character; case-sensitive; patterns start with /).
  4. Show on mobile: off hides it on touch devices narrower than 768 px.
  5. Assistant unavailable: see below.
  6. Launcher "none" (data-launcher="none"): no launcher, but ShopAssist.open() works for your own button.

Rules are re-evaluated on single-page navigation and on ShopAssist.setPageContext(). An open chat stays open until the shopper closes it.

When the assistant is unavailable

If the AI can't answer (provider down without fallback, a plan limit, the daily cost guard), the widget becomes a contact surface instead of a broken chat: it opens with your contact form or a "talk to a person" option, depending on your handoff settings, and hides the composer unless a live agent is available. It never mentions plans or billing to shoppers. Without any contact option, the launcher is hidden.

Last updated on

On this page