Add Olotalk to Shopify

Add the loader to your theme’s layout file so the assistant appears on every storefront page.

You’ll need your Assistant ID (ast_oltk_…) from your assistant’s Install step. New here? Start with the Quick start.


Install via theme code

In your Shopify admin, go to Online Store → Themes. On your current theme, click ⋯ → Edit code, open layout/theme.liquid, and paste the snippet just before the closing </body> tag:

<!-- layout/theme.liquid -->
  <script
    src="https://cdn.jsdelivr.net/npm/@olotalk/assistant-loader@0/dist/loader.iife.js"
    data-olotalk-assistant-id="YOUR_ASSISTANT_ID"
    async
  ></script>
</body>

Save the file.

<html>
<head> … </head>
<body>
… your page …
target<script src="…/loader.iife.js" data-olotalk-assistant-id="…" async></script>
</body>
</html>
Paste the snippet into layout/theme.liquid, just before the body tag closes. Wherever a platform puts it, the goal is the same: it loads just before the closing body tag.

Prefer not to edit theme code? Add a Custom Liquid section in the theme editor and paste the same <script> tag there. It only appears where you place the section, so the layout-file method above is better for a persistent, site-wide launcher.


Allow your domain

Under your assistant’s Install domains, add both:

  • your myshopify.com domain (e.g. your-store.myshopify.com), and
  • your custom domain if you have one (e.g. yourbrand.com).

The myshopify.com host is what the theme preview and many app contexts use, so include it even after connecting a custom domain.


A note on checkout

On non-Plus plans, Shopify locks the checkout pages, so the assistant shows on all storefront pages but not during checkout. That’s expected, keep the assistant on product, collection, and content pages, where buyers ask questions.


Verify

Open your published storefront and look for the chat launcher in the bottom-right. Then check your dashboard: the Install step’s Install status card shows Seen on yourdomain.com once the snippet loads, with a one-click fix if the domain isn’t allowed yet. Nothing there? See Troubleshooting.