Overview
Easy Cart is a built-in developer tool that provides a floating menu in the checkout UI for quickly creating and manipulating carts. It’s intended for development, QA, and internal testing — not for end users.How to enable
Add?easycart=on to any checkout URL:
ollie_shop_ec) is set for 1 year so you don’t need the query parameter on subsequent visits. A floating EC button will appear in the bottom-right corner of the page.
Easy Cart only appears on stores using the default template — the
grocery and sales templates do not mount it.Accepted values
The parameter name is matched case-insensitively, so?easycart=on, ?easyCart=on and ?EASYCART=on are equivalent. The value is also case-insensitive:
Anything else (a typo like
?easycart=onn) is ignored and leaves the current state alone, so it won’t switch off a tool you had already enabled. A bare ?easycart with no value does not enable it.
How to disable
Either add?easycart=off to the URL, or open the Easy Cart menu and click Disable EasyCart. Both clear the ollie_shop_ec cookie.
Actions
Random item advanced settings
Clicking the Add Random Item row still adds one random item straight away. The arrow at the end of that row opens a small form instead, where every field is optional:
Leaving all three blank behaves exactly like clicking the row.
The search that feeds this widens with the quantity — asking for 20 items fetches 20 products rather than the default 5 — and stops at VTEX’s limit of 50. If nothing matches the filters, an error message is shown and the cart is left alone.
The seller filter runs on the search results, so a seller with no items in the searched category simply matches nothing. Narrow by one filter at a time when a combination comes back empty.
Switching sales channel
Easy Cart deliberately has no sales-channel action. On VTEX a cart inherits its sales channel when it is created and an existing cart cannot be moved to another one — there is no endpoint, attachment, or parameter for it. Verified against a live store:?sc= on cart creation scopes only that one response (re-read without sc and the cart reports the default channel, and a channel-specific SKU is rejected with ORD027); setting public.sc on the session updates store.channel but leaves the next cart on the default channel; and a vtex_segment cookie carrying channel has no effect either, while POST /api/segments returns 405.
What does work is the storefront route on the store’s own domain, which creates a cart genuinely bound to the channel: