/ โ† AI Agent Compatibility Fixes / Agent Compat: Shopify
In this guide
  1. Where Shopify stores lose AI shoppers
  2. The shopping journey, stage by stage
  3. App pop-ups, overlays and drawers
  4. Variant pickers and swatches
  5. The cart, search and filters
  6. The fix, step by step
  7. Checkout on Shopify: what you control and what you do not
  8. Keeping the store agent-friendly after changes
  9. Questions and answers

Where Shopify stores lose AI shoppers

A shopping agent is given a job such as "find a waterproof walking jacket in medium under ยฃ120 and put it in my basket". To do that on your store it has to land on a page, get past whatever appears on top of it, search or browse to a product, choose a size and colour, add it to the cart, reach the cart and start checkout. Somewhere near payment it hands control back to the person, who confirms and pays.

Shopify itself handles much of this well. Its themes produce server-rendered HTML, the Online Store 2.0 themes such as Dawn use proper form controls for variants, and the checkout is run by Shopify rather than by your theme. Most of the problems on real stores come from three places:

This guide is about agents using the store. If your concern is whether AI crawlers can read your products at all, including robots.txt.liquid and app content that crawlers never see, that is covered in the Shopify agent readiness guide.

The shopping journey, stage by stage

Map your store against the stages below. The middle column is what the agent needs; the right-hand column is the usual Shopify cause when it does not get it.

StageWhat the agent needsCommon Shopify cause of failure
LandingTo see the page and reach its contentFull-screen discount pop-up, age gate or country picker with no clear close button
Finding a productA search box and filters it can use, and results at their own addressPredictive search that only shows a dropdown; filters built by a third-party app that only work in script
Choosing optionsSize and colour controls with readable names and a visible selected stateSwatch apps that draw coloured squares as plain boxes with no label
Adding to cartA named button and clear confirmation that the item is in the cartAdd to cart replaced by an upsell modal that must be dismissed first
Reviewing the cartA cart page with quantities, prices and a checkout buttonCart only available as a slide-out drawer; /cart redirected away
Starting checkoutA guest route to checkoutCustomer accounts set to required; login forced before checkout
CheckoutStandard, labelled fields and a clear order summaryExtra checkout apps asking for gift notes, surveys or add-ons with unclear controls
๐Ÿ’ก The fastest way to find which app causes a problem is to open the theme editor, turn off app embeds one at a time under Theme settings, and preview. App embeds can be switched off there without uninstalling the app.

App pop-ups, overlays and drawers

Overlays are the most common reason an agent stops on a Shopify store. A browser-driving agent looks at a screenshot and at the accessibility tree. If a pop-up covers the page and its close control is an unlabelled "x" drawn with CSS, the agent may not recognise it as a way out, and every click it makes on the page underneath is swallowed by the overlay.

What a well-behaved overlay looks like

<div role="dialog" aria-modal="true" aria-labelledby="signup-title">
  <h2 id="signup-title">Get 10% off your first order</h2>
  <form action="/contact#newsletter" method="post">
    <label for="signup-email">Email address</label>
    <input id="signup-email" type="email" name="contact[email]" autocomplete="email">
    <button type="submit">Sign up</button>
  </form>
  <button type="button" class="modal-close">No thanks</button>
</div>

Most pop-up apps let you set a delay, choose which pages it appears on and limit how often it shows. Setting a delay and keeping it off product and cart pages removes most of the harm without losing sign-ups from people who browse.

Age gates and country pickers

If you sell age-restricted goods you may need an age check, and that is a point where an agent should hand back to the person. Make it a clear dialog with labelled buttons, and do not reset it on every page. For countries, Shopify Markets can show local prices and currency without a blocking pop-up; a small selector in the header or footer is far easier for an agent than a modal on arrival that insists on a choice.

โš ๏ธ Removing an app from the theme does not always remove its code. Some older apps wrote snippets into theme.liquid. After uninstalling, search the theme code for the app name and remove leftover snippet includes, or you may keep a broken overlay with no settings page to turn it off.

Variant pickers and swatches

Choosing a size and colour is where many agents pick the wrong item. The agent needs to know what options exist, which is selected and which are sold out. Dawn and most current Shopify themes do this with radio inputs inside a fieldset with a legend, which is exactly what an agent can read. Problems start when an app or customisation replaces those inputs with styled boxes.

<!-- Hard for agents: a box with a colour, a script click handler and nothing else -->
<div class="swatch" data-value="Forest"></div>

<!-- Works: a real radio with a name, even if it is styled as a swatch -->
<fieldset>
  <legend>Colour</legend>
  <input type="radio" id="colour-forest" name="Colour" value="Forest" checked>
  <label for="colour-forest">Forest green</label>
  <input type="radio" id="colour-navy" name="Colour" value="Navy" disabled>
  <label for="colour-navy">Navy (sold out)</label>
</fieldset>

The label text can be visually hidden if the design only shows a coloured circle, but it must be there. Say "sold out" in text rather than only with a strike-through line, and keep the price and the product URL in step with the chosen variant. Shopify themes update the address with ?variant= and the variant ID when an option is chosen; if a customisation has broken that, an agent that shares or revisits the link lands on the default variant instead of the one it picked.

The cart, search and filters

Cart drawers

Slide-out cart drawers are fine as long as the store still has a working /cart page and the drawer is a labelled dialog with a real checkout button. Some themes and apps remove the cart page or redirect it to the home page. An agent that cannot open a page listing what is in the cart cannot check its own work, and a person handed the task has nothing to review. Keep the cart page, link to it from the drawer with a "View cart" link, and make sure the header cart icon is a link to /cart with an accessible name that includes the item count.

Shopify also supports cart permalinks, addresses in the form /cart/VARIANT_ID:QUANTITY that fill a cart and go to checkout. They are handy for testing and for links in emails, and they show whether checkout works independently of your theme.

Search and filters

Shopify's search page lives at /search?q= and collection filters from the Search & Discovery app appear in the address as parameters such as filter.v.availability=1 or filter.v.price.lte=120. That is ideal for agents: every filtered view has its own URL, it can be loaded directly, and the result is server-rendered. Third-party filter and search apps vary. Some keep filters only in the page's script state, so a filtered list cannot be reached by address and the filter controls are unlabelled checkboxes drawn with CSS. If you use one, check that choosing a filter changes the URL, that loading that URL gives the same results, and that the search box is a form with a submit button rather than a predictive dropdown only.

The fix, step by step

Step 1

Shop the store as an agent would

Run the AI Agent Compatibility audit on your home page, one collection page and one product page, then open the store in a private window with no apps logged in. Using only the keyboard, search for a product, choose a size and colour, add it to the cart, open the cart page and start checkout. Write down every place where focus disappears, a control has no name, or something covers the page and cannot be closed.

Step 2

Quieten pop-ups and overlays from apps

In the theme editor, open Theme settings and then App embeds, and switch embeds off one by one while previewing to see which app adds each overlay. For the ones you keep, set a delay, stop them showing on product, cart and checkout pages, and check that the close control is a real button with a text name and that Escape dismisses it. Remove leftover snippets from apps you no longer use.

Step 3

Make variant pickers real form controls

Inspect the size and colour options on a product page. Each option should be a radio input or a select with a visible or visually hidden label, grouped in a fieldset with a legend such as Size. If a swatch app uses plain boxes, switch it to its accessible mode, replace it, or go back to the theme's own picker. Check that sold out options say so in text and that the URL gains the variant ID.

Step 4

Give the cart a real page and working links

Visit /cart directly and confirm it shows the items, quantities, prices and a checkout button rather than redirecting. Make the header cart icon a link to that page with a name that includes the item count, and add a View cart link inside any drawer. Test a cart permalink such as /cart/VARIANT_ID:1 with a real variant ID to prove checkout works without the theme getting in the way.

Step 5

Keep search and filters in the address

Search for a product and check the address becomes /search?q= with your term, and that loading it in a new window gives the same results. Apply a filter on a collection and confirm the address changes too. If a third-party filter app keeps filters only in script, look for a setting that writes them to the URL, or move to Shopify's Search & Discovery filters, which do this already.

Step 6

Loosen login and spam checks that block shoppers

In the customer account settings, make accounts optional so shoppers can check out as guests. Under Online Store and Preferences, review spam protection: Google reCAPTCHA on contact and account forms stops some junk, but it also stops agents sending an enquiry, so weigh how much spam you actually get. Remove store password protection once the shop is live, and check that no app forces a login before the cart.

Step 7

Trim checkout extras and retest the journey

List every app that adds something to the cart or checkout, such as gift messages, delivery date pickers, upsells and post-purchase surveys. Keep the ones that earn their place and make sure each adds labelled fields that are optional unless truly needed. Then repeat the keyboard walk from step one, run the audit again, and ask an AI agent you have access to for a realistic purchase up to the payment step.

Checkout on Shopify: what you control and what you do not

Shopify runs the checkout, so the core fields, their labels and the payment step are the same on every store and generally well built. That is good news for agents. What you can change are the things around it:

๐Ÿ’ก Shopify has been adding features aimed at AI shopping tools, and what is available depends on your plan and region. Check the Shopify admin and Shopify's own help centre for what your store can use, rather than installing an app that promises agent support without saying how it works.

Keeping the store agent-friendly after changes

For the underlying techniques, the forms guide covers labels and autocomplete in depth, and the checkout guide covers the hand-over to the customer.

Questions and answers

1. Can AI agents buy from a Shopify store?

Agents can usually browse a Shopify store, choose products and fill a cart, and many can move into checkout and fill in the delivery details. Reputable agents are designed to stop before paying and ask the person to confirm, so the final step is normally completed by the customer. What decides whether the agent gets that far is mostly your apps and theme: overlays, unlabelled swatches, a missing cart page and forced logins are the usual points where it gives up.

2. Which Shopify apps cause the most trouble for agents?

The ones that put something on top of the page or replace a native control. Email capture pop-ups, spin-to-win wheels, age gates, country selectors that insist on a choice, upsell modals triggered by add to cart and custom swatch apps are the common culprits. That does not mean removing them all. Set a delay, keep them off product and cart pages, and check that each one has a named close button and closes with the Escape key.

3. Does the Dawn theme work well with AI agents?

Dawn and Shopify's other current free themes are a good starting point. They render content on the server, use radio buttons and labels for variants, have a real cart page and put search and filter choices in the address. Problems usually come from what has been added since: app embeds, custom sections and code pasted into the theme. If you are on an old or heavily customised theme, compare its product page with a fresh copy of Dawn to spot the differences.

4. Should I turn off reCAPTCHA on my Shopify contact form?

It depends on how much spam you receive. Google reCAPTCHA stops a lot of automated junk, but an agent sending an enquiry for a real customer will usually stop and hand back when it meets a challenge, and some never get past it. If spam on your store is low, try turning it off and watch the inbox for a few weeks. If spam jumps, switch it back on or use a less intrusive check such as a hidden honeypot field.

5. Is a cart drawer bad for agents?

Not on its own. A drawer that is a labelled dialog, lists the items with prices and has a real Check out button works fine. The problem is when the drawer is the only way to see the cart, because the /cart page has been removed or redirected. An agent that wants to confirm what it added, or a person picking up the task later, needs a page they can load directly. Keep /cart working and link to it from the drawer.

6. Will these changes affect my conversion rate for human shoppers?

Usually in a good direction. Most of the fixes are also accessibility fixes: named buttons, labelled options, dismissible pop-ups and guest checkout help keyboard users, screen reader users and people on small screens. Delaying a discount pop-up may reduce sign-ups a little, so measure it over a few weeks rather than assuming. If you are worried, change one thing at a time and compare sales and sign-ups before and after each change.

7. Do I need robots.txt changes for agents to use my store?

Not usually. Agents acting for a person are a different kind of visitor from crawlers, and the main blocks they meet on Shopify are overlays, controls and logins rather than robots.txt rules. Robots.txt matters more for whether AI crawlers read and cite your products, which is covered in the separate agent readiness guides. If your store is behind extra bot protection from an app or a proxy in front of Shopify, check that too, as it can refuse agents outright.

See where an agent gets stuck on your store

The AI Agent Compatibility audit tests your page for bot blocks, content hidden behind JavaScript, unlabelled forms and controls, navigation agents cannot follow and missing structured data, and links each finding to the guide that fixes it.

Open AI Agent Compatibility Fixes โ†’
๐Ÿ’ฌ Got a problem?
Related Guides: All AI Agent Compatibility Fixes  ·  Checkouts That Stop Agents  ·  Shopify Agent Readiness  ·  Agent Compatibility in WordPress  ·  Learning Hub

About aiwebpageseo

aiwebpageseo.com is a data-driven SEO and AEO (Answer Engine Optimisation) platform providing a free suite of technical SEO tools. Rather than relying on AI-theorised assumptions, the platform analyses live URL performance, delivering objective diagnostics, page speed metrics, CLS debugging, and site crawl data alongside actionable technical tutorials.