Checkouts
See and recover abandoned checkouts, add custom checkout fields, and connect payment methods.
The Checkouts page is your list of checkouts: carts customers started, both completed and abandoned. Use it to recover lost sales, inspect a checkout, and customize the data you collect at checkout.
What you can do here
- See every checkout. Filter by status (Pending, Address Entered, Payment Pending, Processing, Completed, Failed, Expired) and by whether it's recoverable. Open one to see the cart, customer, and totals.
- Recover abandoned carts. Send a recovery email to a customer who didn't finish, manually from the row, or automatically. Set up the automatic recovery emails under Checkout Settings → Recovery emails.
- Custom checkout fields collect extra info at checkout (gift message, company name, tax ID, delivery instructions). See Add custom checkout fields.
- Export / clean up to export checkouts, or delete them individually or in bulk.
How Brainerce checkout works
Brainerce's checkout is embedded in your storefront via the SDK, and it's not a separate hosted page:
- Your storefront controls the visual design and layout.
- Brainerce handles the data (cart, pricing, coupons, payment processing, order creation).
- Custom fields you define here are passed to the SDK and appear in the checkout UI automatically.
Payment methods are connected from the Apps marketplace and switched on per region under Settings → Regions, not from this page. The order-confirmation email is configured under Settings → Email.
Does checkout hold my stock for the customer?
By default, no. Out of the box a store reserves stock only when the payment goes through, so while a customer is filling in their address, those items are still on sale to everyone else. Two people can reach the payment step with the last item in the basket, and whoever pays first gets it.
If you'd rather hold stock earlier, change it per storefront under Sales Channels → your channel → Inventory. There are three choices:
| Setting | When stock is held |
|---|---|
| Reserve on Payment | Only once payment completes. This is the default. |
| Reserve on Checkout | From the moment the customer starts checkout. |
| Reserve on Add to Cart | From the moment they add the item to their cart. |
Pick either of the last two and a Reservation Timeout appears: 15 minutes by default, and you can set anything from 1 to 60. When the timer runs out the stock is released back on sale, whether or not the customer is still on the page. You can also turn on Show Countdown Timer to display the remaining time to the customer, which is what stops it feeling arbitrary when their basket empties.
Holding stock early protects the customer's basket but takes items off sale for everyone else, so on fast-moving inventory a short timeout is usually better than a long one.
Why does a checkout say Expired?
A checkout lasts 30 minutes from when the customer starts it. That's a fixed limit. It isn't a setting, and it counts from the moment the checkout was created, not from the customer's last click. A customer who wanders off mid-checkout and comes back an hour later can't finish it; they'll need to start again from their cart.
Expired checkouts stay in the list so you can see them and follow up, and they're still recoverable. The recovery email doesn't reopen the old checkout. Its link drops the customer back into their cart with the same items restored, so they start checkout again from there. That link keeps working for 30 days after the checkout was created.
Is there a limit on how many items a customer can put in the cart?
Yes. A cart on your website holds at most 50 separate items. Try to add a 51st different product and the shop gets an error back: "A cart can hold at most 50 different items. Remove something before adding more." It is a fixed limit, there is no setting for it, and it cannot be raised for your store.
Quantities are not limited. The 50 counts separate lines in the basket, not units. A customer buying 500 of one thing is fine, and adding more of something already in their basket always works, even at the limit. Only adding a new product is refused. Nobody's existing basket breaks either: a customer at the limit can still change quantities and remove things.
This applies to your website only. Orders you build yourself in the dashboard, orders that come in through an API key, and carts BOBO puts together for you are not capped, deliberately, so a 200-line wholesale order is still something you can put together by hand.
The limit exists because completing a checkout works through every line in the basket in one go, and a basket with thousands of lines slows down checkout for every other store on the platform, not just yours. 50 is comfortably above what a real shopper does.
A bundle offer that hits the limit can land only half of itself
A bundle offer adds several products in one go, and it is not all or nothing. If a customer is near the 50 line limit and accepts a bundle of four products, and the basket fills up on the third, the first two are already in there and they stay there. The customer sees the "cart can hold at most 50 different items" error, does not get the bundle price they were shown, and is left with two stray items to remove by hand.
Nothing tidies that up for them. There is no automatic rollback, no setting for it, and no warning beforehand. If a customer tells you their basket has things in it they never chose, a bundle that landed halfway is the first thing to check.
What keeps this rare is that it only bites near the limit, and a shopper with 47 lines already in their basket is not the shopper a bundle offer is written for.
An order bump cannot do this. A bump adds one product, so it either goes in or it is refused, and the basket is left exactly as it was.
Next steps
Google Analytics, Google Tag Manager and the Meta pixel
Connect the app and your GA4 or Meta tag loads on your storefront by itself, but only page views report automatically. Add-to-cart, checkout and purchase have to be sent by your storefront.
Configure payment methods
Connect a payment provider so customers can pay at checkout, then make it available in the right regions.