Use this article to control how products look and behave inside the Smart Cart: what shoppers see when the cart is empty, whether they can type a quantity and within what limits, and what extra product data the cart loads. All of it lives on the Cart Items component panel in your Rebuy admin, under Cart & Merchandising, then Smart Cart, your cart, then Cart Items in the editor sidebar.
Cart Items is the component that renders the line items themselves. It is in every Smart Cart and cannot be added, removed, or hidden, and its row in the editor sidebar has no drag handle, so the line items always render where the layout puts them.
Some of the cards on the Cart Items panel are covered here as pointers to the article that documents each one in full. Switch to Subscription and Buy More Save More point elsewhere because their settings are stored on the cart rather than on this component. Nested Cart Items stores its settings on this component and still points elsewhere, since it has an article of its own, How to Enable and Customize Nested Cart Items in Smart Cart.
Open the Cart Items component
The Cart Items settings open as a screen inside the Cart Editor.
Go to Smart Cart in your Rebuy admin under Cart & Merchandising.
Click the cart you want to configure.
In the editor sidebar, click Cart Items in the Body anchor.
The Cart Items component opens with its cards in this order: Empty Cart Language, Enable Quantity Input, Switch to Subscription, Use Product Metafields, Buy More Save More, Nested Cart Items, and Advanced.
On desktop there is also an Add Items to Cart button at the top of the Cart Items component. It opens the Configure Preview drawer, where you pick products from your own catalog to put in the editor's preview cart so you can see your changes against real line items. Nothing you do in that drawer touches a storefront cart.
Change what shoppers see when the cart is empty
Empty Cart Language is the content shown in place of the line items when the cart has nothing in it. It is at the top of the Cart Items component, and it is a rich text editor, so you can add links, images, and formatting.
The default content is a centered heading reading Your cart is empty!, a line reading Add your favorite items to your cart., and a Shop Now link pointing at /collections/all.
Edit the text directly in the editor. To change where the link goes, select the link text and set a new destination, which is usually a specific collection rather than your whole catalog.
Set a minimum and maximum quantity per line item
Enable Quantity Input makes the quantity number editable on each cart line item and turns on the minimum and maximum limits. It is on the Cart Items component under Empty Cart Language, and it is off by default.
With Enable Quantity Input off, line items still show plus and minus buttons and shoppers can step the quantity to any value they like. Turning Enable Quantity Input on is what adds the manual input or the dropdown selector, and it is what makes the limits below apply at all. The plus and minus buttons are not removed by turning Enable Quantity Input off, and the only thing that removes them is the smart-cart-hide-qty product tag covered below.
Turning Enable Quantity Input on reveals Minimum Quantity Value, Maximum Quantity Value, Quantity Input Type, and the error message fields.
Minimum Quantity Value is the lowest quantity a shopper can set on a line item. It defaults to 1 and cannot be set below 1.
Maximum Quantity Value is the highest quantity a shopper can set on a line item. It defaults to 10 and cannot exceed 1000. Typing a larger number clamps the field to 1000 and shows a warning reading
Maximum quantity value cannot exceed 1000. Value has been adjusted.for 4 seconds.
Setting a minimum higher than the maximum shows Maximum value must be greater than or equal to minimum value. under the fields. Change one of those values before you save.
The Remove button on a line item always works, whatever your Minimum Quantity Value is, so a shopper is never stuck with a product they do not want. The minus button is the control your minimum constrains, so it steps down only while the quantity is above that minimum, and the one step it always allows is from 1 to 0. With a minimum of 5 and a quantity of 5, the minus button is greyed out and Remove is how the shopper takes the product out.
Choose how shoppers change quantity
Quantity Input Type controls the shape of the quantity control on each line item. It appears once Enable Quantity Input is on and defaults to buttons.
Buttons/Manual Input shows minus and plus buttons with an editable number between them, so a shopper can step the quantity or type it directly.
Dropdown Select shows a dropdown listing every quantity from your minimum to your maximum.
Choosing Dropdown Select adds a Localization section with one more field. Quantity Input Label is the text shown beside the dropdown value, and it is empty by default, in which case the cart shows Quantity. Set it when you need the label in another language, for example Cantidad or Quantité.
Write the quantity error messages
Minimum Quantity Error and Maximum Quantity Error are the messages shown when a shopper hits one of your limits. Each appears once Enable Quantity Input is on, and each is empty by default, in which case the cart falls back to Min Qty of {{min}} and Max Qty of {{max}}.
Each field accepts one placeholder, which the cart replaces with the limit in force on that line item:
{{min}}in Minimum Quantity Error is replaced with the minimum in force on that line item, which is your Minimum Quantity Value unless a Shopify quantity rule on the variant overrides it.{{max}}in Maximum Quantity Error is replaced with the maximum in force on that line item, which is your Maximum Quantity Value unless a Shopify quantity rule on the variant overrides it.
Write the placeholder with two curly braces and nothing else, exactly as {{min}} and {{max}}. Any other character in front of a placeholder, including a hash, is not part of the token, so the cart leaves it in place and shoppers see it in the message.
For example, with a maximum of 3, a Maximum Quantity Error of Only {{max}} per order shows shoppers Only 3 per order.
The message renders next to the quantity control on the line item that hit the limit, and it is also announced to screen readers when a shopper tries to step past the limit.
Set different quantity limits for different products
Minimum Quantity Value and Maximum Quantity Value apply to every line item in the cart. There is no per-product field on the Cart Items component.
Hide the quantity control on a specific product. Tag the product in Shopify with smart-cart-hide-qty and the Smart Cart renders that product's line item with no quantity control at all, so shoppers cannot change the quantity from inside the cart. Use this when your theme already limits the quantity at the product page. See Smart Cart Tags for the other product tags the Smart Cart reads.
Pro tip: Once your limits are in place, tell shoppers about them so they do not have to discover the limit by hitting it. A message in an Announcement Bar or a Custom Code Block inside the cart is the usual place, and a limit your theme enforces at the product page should already be stated there.
Let shoppers switch a product to a subscription
The Switch to Subscription card on the Cart Items component adds a subscription selector to qualifying line items, so a shopper who added a product at full price can upgrade it in the cart.
The toggle and its label fields are documented in full, along with the subscription app prerequisites, in Smart Cart: Switch to Subscription.
Load product metafields onto cart line items
Use Product Metafields loads each product's metafields onto its cart line item, where a custom template, an event callback, or an event listener can read them. It is on the Cart Items component under Switch to Subscription, and it is off by default.
Turn Use Product Metafields on only if something in your setup reads those metafields, since it adds data to every line item in the cart.
Display a metafield in the cart
Turning Use Product Metafields on does not display anything in the cart. It loads the data onto the line item and stops there, so a metafield reaches shoppers only once code you supply reads that data and renders it.
Each cart line item carries its product at item.product, and the metafields sit under that, addressed by namespace and key as item.product.metafields.<namespace>.<key>. A metafield in the custom namespace with the key care_instructions is item.product.metafields.custom.care_instructions. Any namespace works, not only custom.
That value can be read in either of these places:
A custom template (recommended) on the Cart Items component, turned on in the Advanced card, where the metafield is added directly to the line item markup.
A script in the Ready callback at Global Settings > Advanced > Event Callbacks, which reads the cart with
Rebuy.SmartCart.items()and writes the metafield value onto each line item as a line item property so the cart renders it.
Note: Displaying a metafield in the cart requires custom code either way. Custom template and event callback work is carried out by your own developer or a Rebuy Partner agency, and Rebuy support does not build or troubleshoot it. If you have a developer, the technical starting points are Rebuy's AI Integration Guide and Smart Cart Custom Templates.
A metafield is missing from the line item data
If your custom template or event callback reads a metafield from item.product.metafields and gets nothing back while Use Product Metafields is on, the product data behind it is usually being served from cache. Run a product resync in Rebuy, then re-test in a private browsing window. A metafield that does arrive in the line item data still displays nothing in the cart by itself, so confirm your code renders it before treating a blank spot in the cart as missing data.
Set up Buy More Save More in the Smart Cart
The Buy More Save More card on the Cart Items component offers shoppers a lower per-unit price as they add more of a product, with the tiers and discount configured on this card.
The tiers, the product picker, the display options, and the choice between Shopify Functions and other discounting are documented in Smart Cart: Buy More Save More.
Group bundled line items under one parent line
The Nested Cart Items card on the Cart Items component collapses Rebuy Bundle Builder child line items underneath the line item they belong to, so a Bundle Builder bundle takes up one row in the cart instead of one row per product. It is off by default, and a pre-built Shopify Bundle is already a single line item, so Nested Cart Items changes nothing about how a pre-built Shopify Bundle displays.
The toggle, the Display Items in Dropdown checkbox, the label fields, and the placeholder tokens are documented in full in How to Enable and Customize Nested Cart Items in Smart Cart.
Replace the line item markup with a custom template
The Advanced card at the bottom of the Cart Items component holds the component's custom template controls. Turning on Enable Custom Template hands you the raw HTML for the line item area, so you own the markup instead of the settings above.
A custom template replaces the default line item markup rather than adding to it, so the settings documented in this article stop governing the line items once one is in use, and anything you still want has to be written into the template.
The Cart Items component stores up to 10 custom templates, and the ones you replace stay available in the Previous Templates dropdown inside that editor. Once it is holding 10, Start New Template stops working and shows a Storage Limit Reached message, so delete a template from the dropdown to make room. See Smart Cart Custom Templates for how to write one.
Support policy. A custom template on the Cart Items component is code you or your developer own. Rebuy Support covers this component's standard settings and does not write, review, or troubleshoot custom template markup, including markup a previous developer or agency wrote, even though the editor lives in the Rebuy admin. Turning Enable Custom Template off keeps your template, so you can always put the component back on Rebuy's own markup before you open a ticket. If you do not have a developer, a Rebuy Partner agency is the right route. The full terms are on Rebuy's support policy page.






