Ecommerce· 5 min read· By The SpideyChat Team

Shopify Chatbot Without an App: What a Script Tag Can and Cannot Do

Want a Shopify chatbot without an app? A script tag answers from your store pages, but order lookups need an app with data access. Here is the line.


You don't need a Shopify app to run a chatbot that answers questions from your store. A script tag pasted into your theme's layout file loads it on every storefront page, and it can answer anything you've published: shipping costs, delivery times, returns, sizing, product details. What a script tag can't do is read private store data. Looking up a specific order requires an installed app that Shopify has granted access to that data.

So the real question isn't "app or no app". It's whether the questions you want handled are answered by your pages or by your order records.

Where the line actually falls

A script tag runs in the shopper's browser, on the same public pages anyone can open. It sees what the page sees. It has no login to your Shopify admin and no route into your orders, customers or inventory records.

An app is different. It's installed on your store and asks for permission to specific data. Shopify's access scope documentation lists permissions such as read_orders, and notes that it covers orders created within the last 60 days. Older orders need an additional read_all_orders permission, which requires Shopify's approval. That permission system is the reason order lookups live in apps and not in pasted scripts.

Neither approach is better in general. They answer different questions.

What a script-tag chatbot handles well

Take SpideyChat as a concrete example of the script-tag approach. You paste one line into layout/theme.liquid just above </body>, as the Shopify integration page shows. The chatbot learns from:

  • Your store pages. On Starter and above, the crawler reads up to 150 pages, starting from the sitemap Shopify generates for every store.
  • Documents. PDF, DOCX, TXT, MD or CSV files, such as a size guide or a product spec sheet.
  • Q&A pairs you write for questions your pages answer badly.

From that it handles the questions that fill most small store inboxes:

  • "Do you ship to Canada, and what does it cost?"
  • "What's your returns window for sale items?"
  • "Does this jacket run small?"
  • "Is this lamp suitable for a bathroom?"
  • "How long does delivery usually take after I order?"

It replies in the language the shopper writes in. On Starter and above it can capture a name, email and phone number. It can open a numbered support ticket, and it hands the chat to a person when someone on your team is online.

What it cannot do without store data

Here is the honest split for a script-tag chatbot like SpideyChat:

Shopper asks Script-tag chatbot What it takes
"What's your delivery time to Leeds?" Answers from your shipping page Nothing extra
"Where is my order #1042?" Explains your normal timelines, collects the order number and email, opens a ticket An app with order access to answer directly
"Is the blue one in stock in medium?" Repeats what the product page said when it was crawled An app reading live inventory
"Can I change my delivery address?" Collects the request for your team A person, or an app that can edit orders
"Can you apply my discount code?" Explains how codes work at checkout Checkout handles this, not chat

Two more limits come from Shopify itself, not from any chatbot. Shopify's developer documentation says theme layouts apply to all non-checkout pages, so a script in theme.liquid doesn't load on checkout. And the crawler reads the HTML your store sends. Content that only appears after other scripts run, such as some review widgets, may not be in what it learns.

On a large catalog, mind the 150-page cap. Shopify's sitemap lists products, pages, collections and blog posts, and a big product list can fill the cap before your policy pages are reached. The crawl box accepts a website or a sitemap address. You can point it at the pages sitemap listed inside your main sitemap.xml, or upload your shipping and returns policies as documents. Our guide to training an ecommerce chatbot on your product catalog covers the catalog side in more depth.

A decision rule you can apply this afternoon

Open your support inbox, or your contact form emails, and sort the last 50 messages into two piles:

  1. Answered by a page. Shipping, returns, sizing, materials, opening times, "do you sell X". A person could answer it without opening Shopify admin.
  2. Answered by a record. Anything needing a specific order, refund or customer account.

Then decide:

  • Pile 1 is clearly bigger: a script-tag chatbot covers most of your volume. Start there. It's cheaper, faster to install and leaves nothing to maintain inside Shopify.
  • Pile 2 is bigger and you get many of them each day: you want an app-based helpdesk that reads order data. Our SpideyChat vs Gorgias comparison is honest about when the helpdesk route wins.
  • Pile 2 is bigger but small in absolute numbers: a script tag still works well. Let it answer the timeline part, then collect the details and open a ticket for a person.

That middle path has a useful extra step. Shopify's help center says customers can reach their order status page by signing in, by following the tracking link in their shipping confirmation email, or by entering their order confirmation number and verifying their email or phone. A chatbot trained on a page that explains those routes lets many customers find the answer themselves. We walk through that setup in handling where is my order questions without an order integration.

The trade-offs of editing theme.liquid

The script-tag route has two maintenance points worth knowing before you choose it.

Shopify's help center recommends duplicating your theme as a backup before editing code. It also says code changes that are incompatible with a theme update are removed in the updated copy. A brand new theme won't contain your snippet at all. After any theme update or switch, open theme.liquid and confirm the line is still above </body>.

The second point is licensing. A SpideyChat chatbot registers the first website it loads on. If that turns out to be your store's myshopify.com address instead of your custom domain, open License & websites on the chatbot's page and add the custom domain. Free covers 1 website per chatbot and Starter covers 3, as the pricing page shows.

Questions to ask any chatbot vendor

Whatever you pick, these questions sort the honest vendors quickly:

  • Does it read live order data, and through which permission?
  • What happens when a shopper asks something it can't answer?
  • Is pricing flat, or charged per conversation or per resolution?
  • Does it work on checkout, or only on storefront pages?
  • Where do unanswered questions go, so you can fix the gaps?

For SpideyChat the answers are: no order data, a ticket or a hand-over to a person, flat monthly pricing, storefront pages only, and unanswered questions logged as knowledge gaps in your dashboard.

If most of your inbox sits in pile 1, the quickest test is to paste your store's address and try it. Ask it your five most common questions and see what it gets right.

Frequently asked questions

Can I add a chatbot to Shopify without installing an app?
Yes. Paste the chatbot's script tag into layout/theme.liquid just above </body> and it loads on your storefront pages. It answers questions from your published store content.
Can a script-tag chatbot look up a customer's Shopify order?
No. Order data sits behind Shopify's Admin API, and only an installed app granted access can read it. A script-tag chatbot can explain your shipping policy and collect the order number for your team.
Will the chatbot appear on the Shopify checkout?
Not from theme.liquid. Shopify's developer documentation says theme layouts apply to all non-checkout pages, so a script in theme.liquid doesn't run on checkout.
What happens to the script tag when I update my Shopify theme?
Shopify's help center says code changes that are incompatible with a theme update are removed in the updated copy, and a new theme won't have the snippet at all. Check that it's still there after any theme change.

Want a 24/7 AI Employee for Your Website?

See how SpideyChat can answer customer questions, capture leads and handle enquiries while your team is offline.

No obligation. We will review your website and show you how SpideyChat could work for your business.

Keep reading