ShopifyHow-toChat widgetEcommerce

How to Add an AI Chatbot to Shopify Without an App (10 Minutes)

Paste one script into theme.liquid or a Custom Liquid section, connect order status, and see what Shopify Inbox's free AI agent can and cannot do.

PepoChat TeamPublished Last verified 13 min read
A woman in a yellow floral blouse and pale hat works at a laptop beside a parcel marked fragile

Short answer

To add an AI chatbot to Shopify without an app, go to Online Store, choose Edit code from your theme's ⋯ menu, paste the chatbot's script tag above </body> in theme.liquid and save; it takes about ten minutes. A Custom Liquid section in the Footer area works too. As of October 2026 the widget shows on your storefront pages but never on checkout or order status pages. Shopify Inbox is the free alternative; its AI agent needs new customer accounts.

Shopify offers two obvious ways to get chat on a store: its own Shopify Inbox app, or a chat app from the App Store. This guide covers the third: pasting an AI support agent's script into your theme yourself, for when the tool you picked has no App Store app or you would rather not add another app.

It is for owners of a store on Shopify's Basic plan or above who can follow menu paths without writing code. It compares the three routes, sets out what Shopify Inbox's AI does according to Shopify, walks through both install methods, lists the pages a theme script never reaches, and covers order lookups, policies and testing. One caveat on "without an app": PepoChat's order lookup uses a small custom app you create in Shopify's Dev Dashboard with read-only access to orders, not an App Store install.

PepoChat is our product; its behaviour below was checked in its code and documentation on 22 October 2026, and every Shopify menu path, plan rule and Inbox feature was read in Shopify's Help Center, developer docs and App Store listing the same day. To compare tools first, see our best AI chatbots for Shopify comparison.

What are the three ways to add a chatbot to a Shopify store?

There are three ways to put a chatbot on a Shopify store: turn on Shopify Inbox, install a chat app from the Shopify App Store, or paste a chatbot's script tag into your theme, which needs no app. They differ most on order lookups, checkout coverage and theme changes.

An app embed is an element an app adds to your theme, such as a floating chat bubble, which you switch on or off in the theme editor. Shopify Inbox arrives this way; a script in your theme does the same job without an app.

Shopify InboxApp Store chat appScript in your theme
How it goes onInstall the free app, then turn on its Online store chat app embedInstall the app, then switch on its app embed if it uses onePaste one script tag into theme.liquid or a Custom Liquid section
CostFree on Basic, Grow, Advanced and Shopify PlusThe vendor's pricingThe chatbot vendor's pricing; PepoChat has a free plan
AI answers fromYour catalog, policies, pages and Knowledge Base contentDepends on the appWhat you import: pages, files and Q&A pairs
Order statusAfter the shopper signs inDepends on the appPepoChat: by order number, no sign-in, status only
Checkout pagesThe agent works only in the online store chatApps on the information, shipping and payment steps need Shopify PlusNever
After a theme updateApp embeds work with any theme versionThe same, for app embedsCustom Liquid carries over; theme.liquid edits carry over unless they conflict

Shopify facts from Shopify's Help Center, developer documentation and the Shopify Inbox App Store listing, checked 22 October 2026.

The third column is the subject of this guide. It needs a full online store: Shopify's legacy Starter plan, closed to new stores, allows only a logo, a brand introduction, social links and colours.

Does Shopify Inbox have an AI chatbot?

Yes. Shopify Inbox, Shopify's free chat app, includes an opt-in AI called the Inbox agent, which Shopify's Spring '26 Edition of 17 June 2026 introduced as an AI sales associate that answers buyer questions, suggests products and handles order inquiries.

Shopify's Help Center page on assigning the Inbox agent adds that it can put items in the cart, working from your catalog, policies, pages and Knowledge Base content. Shoppers signed in with Shop can get replies shaped by their preferences and purchase history across Shopify, says the Shopify Inbox App Store listing, which showed 4.6 stars from 5,805 reviews on 22 October 2026.

QuestionWhat Shopify's documentation says
Price and plansFree; Shopify Inbox is available only on the Basic, Grow, Advanced or Shopify Plus plan
Is the AI on by default?No. You assign it to all conversations, only when staff are unavailable, or never, which is the default for stores that installed Inbox before the agent existed
Customer accounts"The Inbox agent doesn't work with legacy customer accounts"
Order details"The customer is prompted to sign in before the Inbox agent shares order information"
Track my order buttonAn instant answer that uses an order number and email; reviewing an existing order needs sign-in
AI disclosureA notice that the chat is powered by Shopify and is AI, which "can't be removed or customized"
No staff availableThe agent "shares your store's sender email address so the customer can email you"
ToneA persona sets tone and service style but cannot override Inbox settings or built-in safety behaviour
LanguagesReplies in the customer's language; the listing names 21 languages

Sources: Shopify Help Center pages on the Inbox agent, its persona, instant answers and chat settings, and the Shopify Inbox App Store listing, all read 22 October 2026.

Shopify's own pages differ on how Inbox collects the shopper's details. The Help Center's chat settings page describes sign-in for chats with staff on new customer accounts, and a name-and-email form only for legacy accounts. Shopify's replies to reviews on the App Store listing, dated 25 August and 1 September 2026, describe a newer Collect customer details setting under Sales channels → Inbox → Chat settings: sign-in by default, Require name and email, or Allow anonymous chats. Check that menu in your admin. Either way, the agent itself answers anonymous visitors.

For a store whose customers already sign in, Inbox is hard to beat: it is free, it reads your catalog and inventory without an import, and it can put a product in the cart, which PepoChat cannot. Its limits are in the table: sign-in for order details, no agent on legacy customer accounts, and when no staff are available, the agent gives the shopper your store's email address to write to.

How do you add a chatbot script to theme.liquid?

Adding a chatbot script to theme.liquid takes six steps and about ten minutes: copy the snippet, duplicate your theme, open the copy's code, paste the script above </body>, save, then preview and publish the copy.

theme.liquid is the default layout file that every Shopify theme must include. Templates render through it unless they name another layout, so a script placed there loads on practically every page the theme draws.

  1. Copy the snippet. In PepoChat, open Widget Setup and click HTML; the snippet includes your Organization ID.
  2. Duplicate your theme. In Online Store, click ⋯ next to your live theme and choose Duplicate. The copy is named "Copy of" plus the theme's name; Shopify holds up to 20 themes.
  3. Open the copy's code. Click ⋯ next to the copy and choose Edit code. A paid theme's code can be edited only after you buy it.
  4. Paste above the closing body tag. In the layout folder, open theme.liquid, find </body> with Cmd+F or Ctrl+F, and paste the snippet on the line above.
  5. Save with the Save button, Cmd+S or Ctrl+S.
  6. Preview, then publish. Choose Preview from the copy's ⋯ menu, check the launcher, then publish the copy.
<script src="https://widget.pepochat.com/widget.js" data-organization-id="YOUR_ORGANIZATION_ID"></script>

The launcher sits bottom right by default. If Shopify Inbox or a cart button already uses that corner, add data-position="bottom-left" inside the same tag:

<script src="https://widget.pepochat.com/widget.js" data-organization-id="YOUR_ORGANIZATION_ID" data-position="bottom-left"></script>

Paste the snippet once: a second copy logs "already initialized" and does nothing. If an edit goes wrong, the Timeline view described in Shopify's guide to editing theme code restores an earlier version of the file.

The loader is 3,387 bytes gzipped, 8,249 on disk, as measured on 22 October 2026. By default it fetches the chat frame, about 523 KB, in idle time after your page loads, so the first click opens instantly; data-preload="false" waits for the click instead. Our chat widget page speed test measured both settings.

After you add a theme update, Shopify's theme card says "code edits successfully included" or "code edits could not be included". In the second case, paste the snippet into the updated copy before publishing it.

Blurred lines of HTML markup with pink tags and orange class names on a black code editor screen
The whole install is one line in theme.liquid, pasted above the closing body tag, so it loads on every page your theme renders.

How do you add the chatbot with a Custom Liquid section instead?

If your theme has a Custom Liquid section, you can paste the same script in the theme editor instead: add the section to the Footer area and it loads on every page, because Shopify shares the header and footer across all pages.

A Custom Liquid section is a theme section with a field that accepts HTML and limited Liquid, up to 50 KB according to Shopify's developer docs. Shopify's free Dawn theme includes one.

  1. In Online Store, click Edit theme next to your theme.
  2. In the sidebar, find the Footer area and click Add section.
  3. Choose Custom Liquid and paste the snippet into its field.
  4. Set the top and bottom padding to 0. Dawn defaults to 40 and 52 pixels, an empty band above your footer.
  5. Click Save; on a live theme, Shopify's help says to click Publish to make the change live.

Shopify's page on customizing sections lists custom Liquid in the Header and Footer areas and says your header and footer "are shared across all of your online store's pages". The route also survives updates better: Shopify copies theme editor customisations, including section settings, into an updated theme, while code edits carry over only when they do not conflict.

Add the section to one template instead, such as a landing page template, and the chatbot appears only on pages using it. Not every theme has the section; if yours has none, use theme.liquid.

Will the chatbot show on Shopify's checkout and order status pages?

No. A chatbot in your theme appears on every page the theme renders, but Shopify builds the checkout, the Thank you and Order status pages and the new customer account pages outside your theme, so no theme script loads on them.

PageBuilt byDoes a theme script load?
Home, collections, products, cart, search, blog and your pagesYour themeYes
Policy pages such as /policies/refund-policyYour themeYes
Checkout: information, shipping and paymentShopify checkoutNo
Thank you and Order status pagesShopify checkoutNo
New customer accounts at shopify.com/{store-ID}/account or an account subdomainShopify, separately from your themeNo
Legacy customer account pages under /accountYour themeYes, but Shopify has deprecated legacy accounts

From Shopify's developer documentation on layouts and checkout and its Help Center pages on checkout customisation and customer accounts, checked 22 October 2026.

Shopify's developer documentation says general layouts "can apply to all non-checkout pages", and the old checkout.liquid file is unsupported for the information, shipping and payment steps. The Thank you and Order status pages moved to Shopify's new version too: for stores below Shopify Plus the deadline was 26 August 2026, and stores that missed it were upgraded automatically. New customer accounts live on Shopify's own address, and Shopify's guide to upgrading customer accounts says they are "managed separately from your theme".

Two tempting workarounds do not apply. Custom pixels under Customer events run in a sandboxed frame that, in the words of Shopify's web pixel documentation, "cannot access the top frame", so they cannot draw a launcher. And the script tags Shopify is retiring are app-created: its storefront script tag notice covers tags made through the ScriptTag API, which cannot be created or updated since 1 October 2026 and stop loading on 1 March 2027. A script pasted into your own theme is part of the theme.

A shopper with an order question after checkout therefore asks it on your storefront, where the chatbot needs the order lookup below.

A woman with curly hair sits on a grey sofa holding a bank card while typing on a laptop resting on her lap
Checkout belongs to Shopify, not to your theme, so the chat launcher steps aside while a shopper pays; questions about the order come back through your storefront.

How does the chatbot answer Shopify order status questions?

PepoChat answers Shopify order status questions with a read-only lookup: the shopper types an order number, and the agent reports the order's date and its payment and fulfilment status from Shopify, without asking the shopper to sign in.

Setup takes about five minutes and needs no Shopify approval: create a custom app in Shopify's Dev Dashboard with one scope, read_orders, install it on your store, and paste its Client ID and Client secret into Integrations → Shopify in PepoChat. The Shopify integration docs show each screen.

The lookup takes the order number only, and returns the order name, date, payment status and fulfilment status: no tracking number, no carrier and no lookup by email. The read_orders scope covers the last 60 days of orders. The agent reports on an order but never cancels, edits or refunds it, the right default for anything that touches money, as our post on chatbot permissions argues.

The lookup is not gated by email verification, and order numbers count upwards, so assume a stranger can ask about any number; that is why the action exposes only those four fields. Shopify Inbox makes the opposite trade: the shopper signs in first, which confirms they own their email address, at the cost of an extra step.

Two lines in PepoChat's agent instructions keep order answers honest. In Never do this, add "Never promise a delivery date." In How to sound and behave, add "If an order shows as fulfilled but has not arrived, apologise and offer to bring in a person." The agent then offers a human handoff to your team inbox instead of guessing.

How do you train the chatbot on your Shopify policies and products?

Import your store's sitemap with an include path of /pages, paste your refund and shipping policy addresses as two individual links, and write Q&A pairs for the exceptions; that uses three of the Free plan's five knowledge sources.

A knowledge source is one item in the agent's knowledge base: a whole sitemap import or crawl counts as one, each pasted link counts as one, and Q&A pairs count as none.

Shopify's /sitemap.xml is an index that, on the two stores whose sitemaps we opened on 22 October 2026, lists products before pages, collections, blogs and articles, and no policies. PepoChat's sitemap import applies your include and exclude paths, then keeps the first 200 matching pages in that order, so a store with over 200 products and no include path never reaches its FAQ page. Import /pages first and, for product pages, /products as a second import.

Store policies are written under Settings → Policies and published at fixed addresses such as /policies/refund-policy and /policies/shipping-policy, as Shopify's guide to store policies lists. Paste those as individual links: pasted links skip robots.txt, while crawls and sitemap imports obey it.

That matters on Shopify, because PepoChat's crawl and sitemap import follow the Disallow lines under User-agent: * and ignore Allow lines, erring on the side of not fetching. Four of the 11 Shopify storefronts whose robots.txt we read on 22 October 2026 still disallow /policies/. The newer default file on Shopify's own theme demo stores disallows any path containing /account, /checkout or /orders after its first segment, so a crawl skips a help page at /pages/checkout-faq; paste such pages as links too.

One theme quirk needs a rule. On Shopify's Dawn theme, every colour and size button carries a hidden label, "Variant sold out or unavailable", that the theme's styles reveal only for unavailable options. PepoChat reads text, not styles, and when we ran its HTML conversion on a Dawn product page the label followed every option. Add "Never say whether a product, size or colour is in stock; point the shopper to the product page" to Never do this.

Then write Q&A pairs for what your policies leave vague, such as final-sale items or returns from abroad; a Free workspace holds 100. Set the three suggested questions to what shoppers ask most, such as "Where is my order?", "How do returns work?" and "Do you ship to my country?". Our 12 ecommerce chatbot questions double as a test script.

How do you test the chatbot before shoppers see it?

Test on the duplicated theme before you publish it: put your domains on the allowed-domains list, preview the copy, then work through the six checks below, ending with a checkout.

The allowed-domains list stops anyone who copies your public snippet from running chats, and spending your AI replies, on their own site. Add your domain and your your-store.myshopify.com address; subdomains are included automatically, as the allowed domains docs explain. So never add myshopify.com or shopifypreview.com on its own: either entry would let other Shopify stores start chats with your agent.

A preview opened from your admin uses your primary domain with a token parameter, so it passes once your domain is listed. A preview link shared with someone else lives at <token>-<shop_id>.shopifypreview.com and expires two days after it is created, so add that exact host while testing and remove it afterwards. If Shopify Inbox is installed, turn off its Online store chat app embed under Online Store → Edit theme → App embeds, or move one of the two buttons.

  1. Open the preview in a private window and find the launcher on the home page, a product page and the cart, on a computer and a phone.
  2. Ask a policy question and compare the reply with your policy page.
  3. Ask about a test order by number; the reply should give its status and nothing more.
  4. Ask whether a size is in stock; the agent should point to the product page.
  5. Ask for a person; the chat should reach the team inbox as escalated, with an email titled "A visitor needs a person".
  6. Start a checkout; the launcher should disappear, and return when you go back to the store.

Do most question testing in PepoChat's Test the agent drawer, where replies are free and hidden from analytics. After launch, recheck the chatbot whenever you switch themes, since a new theme starts without your snippet.

SymptomLikely causeFix
No launcher on the live storeThe snippet is only in an unpublished copyPublish the copy, or add the snippet to the live theme
"This website is not allowed to use this chat widget."The page's domain is missing from the allowed-domains listAdd your domain or the exact preview host
Launcher gone after a theme updateShopify could not include your code editsPaste the snippet into the updated copy, or use a Custom Liquid section
Two chat buttons in one cornerShopify Inbox's Online store chat is still onTurn off its app embed, or move one button
The agent says sizes are sold outHidden "sold out or unavailable" labels on product pagesAdd the stock rule to Never do this
A help or policy page never importedrobots.txt blocks it for crawls and sitemap importsPaste it as an individual link

What to do next

Frequently asked questions

Can you add a chatbot to Shopify without an app?
Yes. Any chatbot that installs with a script tag can go straight into your theme: paste the tag above the closing body tag in theme.liquid, or into a Custom Liquid section in the theme editor's Footer area. As of October 2026 this works on Shopify's Basic plan and above. Order lookups may still need a custom app that you create yourself in Shopify's Dev Dashboard.
Where do I paste a script tag in a Shopify theme?
Paste it on the line above the closing body tag in theme.liquid, the file in your theme's layout folder. Open it from Online Store, the menu next to your theme, then Edit code, and click Save. Shopify renders storefront templates through theme.liquid, so the script loads site-wide. Duplicate the theme first, so you can test the copy before publishing it.
Does Shopify Inbox have AI?
Yes. As of October 2026 Shopify Inbox, a free app, includes an opt-in Inbox agent that answers product questions, recommends products, looks up order status and adds items to the cart, using your catalog, policies and pages. It needs new customer accounts, asks shoppers to sign in before sharing order details, and shows an AI notice that cannot be removed.
Will the chatbot show on the Shopify checkout page?
No. A chatbot pasted into your theme appears on pages your theme renders, such as products, collections and the cart, but not on checkout, the Thank you page, the Order status page or new customer account pages, which Shopify builds outside the theme. Shopify customises those pages through its checkout and accounts editor and checkout apps instead.
Does a chat widget slow down a Shopify store?
Usually very little. PepoChat's loader is about 3.4 KB gzipped, and by default it fetches the roughly 523 KB chat frame in idle time after your page has loaded, so it does not delay the first view. Setting data-preload to false waits for the first click instead. In our October 2026 lab test of ten chat widgets on a blank page, every page still scored 100 in Lighthouse.
Can the chatbot look up Shopify orders?
Yes, if it connects to Shopify's Admin API. PepoChat looks up an order by its number through a custom app you create in Shopify's Dev Dashboard with the read_orders scope, and replies with the order's date, payment status and fulfilment status. As of October 2026 it returns no tracking number, cannot search by email and sees orders from the last 60 days.

Try this on your own site in ten minutes

PepoChat includes every feature on the free plan — 200 AI replies and 5 knowledge sources a month, no credit card.