Product suggestions in the chat widget can now be added to a cart even when the widget runs somewhere other than your Shopify store, such as a blog, help centre or marketing site on another domain. Shoppers pick an option, add it, and check out in a new tab, instead of being sent to the product page first.
How it behaves
- On another site: "Add to cart" puts the chosen option in a cart on your Shopify store and confirms once the store accepts it. The button then becomes "Checkout", which opens your store's checkout for that cart in a new tab. The chat stays open where it was.
- Several products: everything the shopper adds from the chat on that site goes into the same cart, including on later visits, until they check out or the cart expires. After that the next add starts a new cart.
- Separate from the store's own cart: this cart is not the one the shopper has on your storefront. Items added on your blog won't appear in your storefront's cart icon. They're in the cart the "Checkout" button opens.
- When the store refuses: for example, the option has just sold out. The shopper sees the store's own reason and can try again or open the product.
- Sales from Aide: orders placed through that checkout are linked to the conversation, as they are when shoppers add to cart on your storefront.
- On your storefront: nothing changes. "Add to cart" still uses the shopper's own cart.
- Where it doesn't apply: stores whose product pages aren't served by Shopify (headless
storefronts) and products whose page isn't on
https. There, the button still opens the product page. - Setup: nothing to do. No access token or extra permission is needed. Sites with a strict
Content Security Policy need to allow connections to the store's domain (
connect-src).
For developers
- Off the store's origin, the widget calls the Shopify Storefront API cart mutations
(
cartCreate,cartLinesAdd,cartAttributesUpdate) on the product URL's domain,https://{store domain}/api/2026-10/graphql.json, using tokenless access and no cookies. The code loads in a separate lazy chunk on the first such add. - The cart carries the
_aide_conversationattribute with the conversation id (cnv_…). Its id is kept in the host page'slocalStorageunderaide:cart:{store host}.