Skip to main content

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:
Once enabled, a cookie (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:
The SKU must exist in the target channel. Because it sets its cookies on the store domain, this works end to end when checkout runs on that domain too.