Shopify

Add an AI support assistant to your Shopify store

Paste two lines into your theme layout and your store answers delivery, returns, and sizing questions on its own.

  • Two lines
  • About two minutes
  • One file
theme.liquidfile
<!-- Matter Chat — paste right before </body> --><script>  window.MatterChat = window.MatterChat || { q: [] };  window.MatterChat.q.push(["init", { id: "bot_your_key" }]);</script><script async src="https://app.matterchat.co/widget.js"></script>
</body>

html · paste above the dimmed line

The route through your admin

  1. Online Store
  2. Themes
  3. Edit code
  4. theme.liquid

The snippet lands in theme.liquid.

Where the snippet goes

In your Shopify admin, open Online Store, then Themes, then Edit code, and open the theme.liquid layout file. Paste the two-line snippet immediately before the closing body tag and save. It loads on every storefront page, including checkout-adjacent pages that use your theme layout.

One file, one paste
theme.liquid is the shared layout, so it covers the whole storefront at once.
Duplicate your theme first
Standard Shopify practice: edit a copy, preview it, publish when happy.
Async, so it does not block
The script loads asynchronously, so it never blocks the page from rendering.
Works on every theme
There is no theme-specific integration, so a theme change does not break it.
!

Duplicate the theme before you edit it, preview, then publish. Standard Shopify practice, and it makes the change trivially reversible.

It reads your store, not a generic FAQ

Point it at your storefront and it indexes your product pages, policy pages, and any help content you publish. Answers about your shipping windows come from your shipping page, cited — not from an assumption about how stores usually work.

Costs that survive Black Friday

Domain locks tie the widget to your store, per-visitor rate limits stop one person consuming your allowance, and a hard daily reply cap sets the ceiling. A traffic spike raises conversations, not an unbounded bill.

Checking it actually worked

Four things, in order. The third is the one people skip, and it is the one that tells you whether the answers are grounded.

  1. 1Hard refresh the page — the launcher appears bottom-right.
  2. 2Ask it something your site answers, and check the reply cites a page.
  3. 3Ask it something your site does not cover, and check it declines.
  4. 4Open Conversations in the dashboard; both should be there.

On a different stack?

The snippet is the same everywhere. Only the place you paste it changes.

See it working

We built a shop so you can interrogate it.

LUMIÈRE is a demonstration storefront of ours — real product pages, a real shipping table, a real returns policy. The assistant on it has read those pages and nothing else. Go and try to catch it out.

Open the demo store

Opens in a new tab. Nothing to sign up for, and nothing is for sale.

The LUMIÈRE storefront with the assistant open. Asked “What is your return window?”, it answers “You have 30 days from delivery to return an item. It must be unused and in its original packaging”, followed by two citation markers and a source chip reading “Returns & exchanges”.
A real exchange on that storefront. Two citations and the page they came from, exactly as they rendered.

Four things worth asking it

  • What is your return window?

    Answers from the returns page, and links it

  • Who pays for return shipping?

    Splits the answer — faulty vs changed your mind

  • Is the stoneware dishwasher safe?

    Pulls the firing temperature off the care guide

  • Do you gift wrap?

    Nothing on the site says. Watch it decline rather than guess

What store owners ask

Short answers. If yours is not here, the assistant on this page will try it — and tell you honestly if it cannot.

Do I need to install a Shopify app?

No. It is a script tag pasted into theme.liquid, so there is no app to install, no permissions to grant, and nothing to uninstall from your store's app list later.

Will it slow down my store?

The script loads asynchronously, so it does not block page rendering. It is one small request rather than a theme integration that touches your templates.

Can it look up an order status?

No — it answers from your published content rather than from your Shopify data. Order-specific questions escalate to you with the conversation attached.

From the blog

All posts

Answer honestly. Capture the rest.

Point Matter Chat at your site and see what it can — and can't — answer. It's honest about both.

Start free — chat in your site

No credit card. 2 minute setup.

Every answer cites the source it came from. When there isn't one, it says so — and hands the visitor to you.

Installs on the tools you already run.