Checkout5 min read
Shopify Cart Note vs Cart Attributes: Where Extra Order Info Goes
Want to add a custom field to the Shopify cart? Compare the cart note, cart attributes and line item properties: where each is saved, printed and exported.
In this guide
Sooner or later most shops want to add a custom field to the Shopify cart: a delivery instruction, a reference number, a “how did you hear about us” dropdown, a name for the gift card. Shopify gives you three places to keep that kind of information, and they behave differently once the order is placed. Picking the wrong one is why a detail shows in the admin but not on the packing slip, or in the export but not on the order sheet.
This post compares the cart note, cart attributes and line item properties, so you can choose before you build.
The three places
| Cart note | Cart attributes | Line item properties | |
|---|---|---|---|
| Belongs to | The whole order | The whole order | One item |
| How many | One text box | As many named fields as you need | As many as each product needs |
| Typical use | “Special instructions” | Delivery date, terms accepted, PO number | Engraving text, size notes, upload link |
| On the order | Notes | Additional details | Under the item |
| Order CSV export | Notes column |
Note Attributes column |
No column |
| Built-in packing slip | order.note |
Not available | line_item.properties |
The export columns come from Shopify’s guide to exporting orders, and the packing slip row from the packing slip variable reference, which lists order.note and line_item.properties but no variable for cart attributes.
The cart note: one box for everything
Most Shopify themes can show a note box on the cart, often labelled “Special instructions for seller”, which you turn on in the theme editor’s cart settings. In code, it is an input named note in the cart form, as Shopify’s cart template docs show.
Good for: anything you read once, by eye, such as “please leave with the neighbour”.
Not good for: anything you need to sort, filter or require. Buyers type what they like, in whatever format, and one box cannot hold a date, a checkbox and a reference number in a way a spreadsheet understands.
Cart attributes: named fields for the order
A cart attribute is a named value on the cart: the same docs describe inputs named attributes[Favorite color]. You can have as many as you need, each with its own name, such as Delivery date, Terms or PO number. On the order they show under Additional details, one line per name.
Good for: structured information about the whole order: dates, agreements, references, dropdown answers.
Watch out for:
- Names are columns.
Delivery dateanddelivery dateare two different attributes. Pick a name once and keep it. - The built-in packing slip cannot print them. If your packers work from Shopify’s packing slip, a cart attribute does not appear there. You need an order printing tool that reads order attributes, or put the information somewhere your packers already look.
- Names starting with an underscore are used by convention for hidden data, and many tools leave them out. Keep your own fields without one.
Line item properties: details for one item
When the detail belongs to one product, such as engraving text, a size note or an artwork upload, save it as a line item property from the product page. Two of the same item with different properties stay as separate lines. Our post on exporting orders with engraving text and gift messages covers that case in depth.
Good for: anything that must stay with its item.
Not good for: order-wide information. A delivery date saved on every item is repeated and can disagree with itself.
Which one to use
- One loose comment per order: the cart note.
- A date, a checkbox, a reference or a choice from a list for the whole order: a cart attribute.
- A detail for one product: a line item property.
Making a cart field required
Whichever place you pick, the cart is not a gate on its own. Shopify’s dynamic checkout buttons let buyers skip the cart: “When a customer clicks an unbranded button, they skip the cart and go to the Shopify Checkout.” A required field in the cart therefore needs a second check at checkout.
Shopify lets apps add that check with a cart and checkout validation function, which reads the cart’s attributes and can stop checkout with a message. Shopify Functions in public apps from the Shopify App Store work on every plan; custom apps with Functions need Shopify Plus. Adding fields to the checkout page itself is a different thing: checkout UI extensions for the information, shipping and payment steps are limited to Shopify Plus.
Getting the answers out again
Information nobody reads is wasted. Decide where each field has to show up:
- Order page: cart attributes appear under Additional details. For staff, a block that labels each answer clearly is easier to scan.
- Export: the
Note Attributescolumn of the order CSV holds all attributes in one cell per order, so split it before sorting by one of them. - Packing and invoices: check that your packing slip or invoice tool can print order attributes, and which ones.
Where Feldo: Delivery Date & Terms fits
Feldo: Delivery Date & Terms is an app for the cart-attribute route. It adds up to 8 fields to the cart drawer and the cart page: a terms checkbox, a delivery or pickup date, short or long text and a dropdown, each saved as an order attribute under the name you choose.
- Required means required: with checkout enforcement on, a Shopify Function checks required fields again at checkout, so Buy it now cannot skip them.
- Answers you can use: a Cart details block on the order page, a CSV export with one column per field and printable order sheets per order.
- Works with other tools: answers are standard order attributes, so invoice and export apps that read them can show them too.
It needs an Online Store 2.0 theme and no theme code changes. See Feldo: Delivery Date & Terms for the details.
FAQ
What is the difference between a cart note and a cart attribute in Shopify? The cart note is one text box for the whole order. Cart attributes are named fields, so each answer has its own name on the order and in the export.
Why does my cart attribute not show on the packing slip? Shopify’s built-in packing slip template has variables for the order note and line item properties, but none for cart attributes. Use an order printing tool that reads order attributes.
Can I add custom fields to Shopify checkout? Fields in the checkout steps need checkout UI extensions, which are limited to Shopify Plus. On other plans, ask in the cart and check the answers at checkout with a validation function.
Where are cart attributes in the order export? In the Note Attributes column of Shopify’s order CSV export, all attributes of an order together.