The Shopify App Store has a hundred chat apps and most price by agent or by resolved conversation, which is exactly the wrong shape for a store where a seasonal hire might answer ten messages a week. You do not need an app to put chat on a Shopify storefront. Your theme has one layout file that wraps every page, and a single snippet there gives you a chat bubble on the whole store: product pages, collections, cart, everything. A roughly 6 KB async widget on the front, a shared inbox with AI on the back, one flat price no matter how many people answer.
theme.liquid wraps every storefront page
Shopify renders every storefront page through one layout file: layout/theme.liquid. Whatever sits in its <head> appears on the home page, every product, every collection, the cart and your blog. That makes it the one correct place for the snippet: paste it once and you are done, with nothing to repeat per template.
Step 1: grab your widget ID
Sign up for muro (14-day free trial, no card), create a site for your store, and copy the widget ID. Take two minutes to match the launcher to your brand color and set the agent name and avatar, so the bubble looks like part of the storefront rather than a bolted-on app.
Step 2: paste the snippet into theme.liquid
In your Shopify admin, go to Online Store, Themes, then the three-dot menu on your live theme and Edit code. Open layout/theme.liquid, find the </head> tag near the top, and paste this right before it:
html<script>
(function(w,d,s,o){
w.MuroChat=o;w[o]=w[o]||function(){(w[o].q=w[o].q||[]).push(arguments)};
var j=d.createElement(s);j.async=1;j.src='https://muro.chat/widget.js';
d.getElementsByTagName('head')[0].appendChild(j);
})(window,document,'script','muro');
muro('init',{widgetId:'YOUR_WIDGET_ID'});
</script>Replace YOUR_WIDGET_ID, save, and the bubble is live across the whole store within seconds. Because the script is async it does not slow the storefront, and it does not touch your theme's own JavaScript or Liquid, it is a single self-contained tag.
Checkout is Shopify's, not yours
Standard Shopify plans render checkout on Shopify's own domain and templates, which your theme.liquid does not control, so the bubble intentionally does not appear during checkout. That is usually what you want, no distractions at the moment of payment. On Shopify Plus you can extend checkout, but for almost every store, chat on the storefront pages up to the cart is the right surface.
Let the AI answer the store's FAQ
Most storefront questions are the same five: where is my order, what is your return policy, does it ship to my country, is this in stock, what size am I. Paste your policy and FAQ pages into muro and its AI answers those from your own words, day and night, so they never reach your phone. Anything genuinely order-specific, a refund, a lost parcel, an address change, it hands off to a human instead of guessing.
When you're away, it becomes email
You are running a store, not sitting in a dashboard. Conversations the AI hands off are emailed to you; you reply from your phone's mail app and the answer appears back in the shopper's chat window. Add saved replies for the questions you answer weekly and the store's support runs on minutes a day. For the technical, there is a full REST API and webhooks to sync conversations into your own tools, see the API docs.
Ship it
Edit code on your live theme, paste the snippet into layout/theme.liquid before </head>, and point the AI at your policy pages. Chat is live on every storefront page, it costs the same whether one person or five answer it, and your shoppers get instant answers to the questions that otherwise turn into abandoned carts. Try the bubble in the live demo, then go edit your theme.