Orders6 min read

Export Shopify Orders With Engraving Text and Gift Messages

Engraving text, gift messages and Gift Aid ticks live in line-item properties. How to get them into a CSV or XLSX file your production team can work from.

In this guide
  1. Where engraving text and gift messages are stored
  2. What the standard order CSV gives you
  3. Step 1: Use the same property names everywhere
  4. Step 2: Decide which columns each team needs
  5. Step 3: Choose one row per item for production
  6. Step 4: Filter the batch and export
  7. Step 5: Check the file before it goes to production
  8. Pitfalls with CSV and Excel
  9. FAQ
  10. Try Columna: Order Export & Sheets

If you want to export Shopify orders with engraving text, gift messages or a Gift Aid tick-box answer, you have probably already found the Shopify Community thread asking the same thing. It has been asked again and again since 2020, and the short version of the answer is: those details are line-item properties, and the standard order CSV has no column for them.

This guide is for shops that hand orders to someone else: a workshop, a printer, a packing team or a bookkeeper. It explains where personalised details are stored, what the standard export gives you, and how to set up a CSV or XLSX file where every detail sits in its own column, next to the item it belongs to.

Where engraving text and gift messages are stored

When a customer fills in a custom field on a product page, the theme or a product options app saves the answer on that line item as a name and value. In a theme, these come from form inputs named properties[Engraving], properties[Gift message] and so on, as Shopify’s theme docs describe.

Property name Example value
Engraving Anna & Tom, 12.06.2026
Gift message Happy birthday, Dad!
Gift Aid Yes
Upload A link to the customer’s artwork file

A few things about properties decide how your export has to look:

  • They belong to one item, not to the order. An order with two engraved rings carries two engraving texts. Each one has to stay with its own ring.
  • The same product can appear on two lines. Two items of the same variant with different text are kept as separate line items, so they need two rows.
  • Products use different properties. A ring has Engraving and Size; a card has Gift message; a donation product has a Gift Aid tick-box. Each name should get its own column so you can sort and filter by it.
  • Names starting with an underscore are hidden at checkout. The Liquid line_item reference notes this. Apps use names like _preview_id for their own data, and most production sheets leave them out.

A gift message is not always a line-item property

Check where your store saves the gift message before you plan the file. Some themes save it on the item, as a line-item property. Others save it for the whole order, as the order note or a note attribute (also called a cart attribute). Order notes and note attributes already appear as order-level columns in Shopify’s order CSV. A gift message saved on the item does not.

What the standard order CSV gives you

You can export orders to a CSV file from the Orders page in Shopify admin. The file has line-item columns such as Lineitem name, Lineitem quantity and Lineitem SKU, plus Notes and Note Attributes for the order. There is no column for line-item properties.

What production needs In the standard order CSV?
Order number, date, shipping address Yes
Product name, SKU, quantity per item Yes
Order note and note attributes Yes, once per order
Engraving text, gift message or Gift Aid answer saved on an item No

That is why many personalised shops open each order and copy the text by hand. It works for a handful of orders a day. With more orders, a typo on an engraved gift means a remake, and the second item on a multi-item order is easy to miss.

Some exports that do include properties put all of them into one cell, such as Engraving: Lena; Size: 52; Gift message: Congratulations. That is better than nothing, but your workshop still has to split the text by hand before it can sort by size or merge the engraving text into a design file.

Step 1: Use the same property names everywhere

Each different name becomes a different column. Engraving, engraving text and Text to engrave will end up in three columns. Pick one name per field and use it on every product that offers that option. If you use a product options app, check the name it saves on the order, not only the label customers see.

Step 2: Decide which columns each team needs

Write down the columns before you export, because the workshop and the bookkeeper need different files.

Team Useful columns
Workshop or printer Order, product, variant, SKU, quantity, engraving text, font, upload link
Packing Order, product, quantity, gift message, shipping address
Accounting Order, date, totals, Gift Aid answer

Keep customer emails and prices out of a file that goes to an outside printer.

Step 3: Choose one row per item for production

For a production sheet, use one row per line item. Each engraved item gets its own row with its own text, and the order number repeats on every row of that order. One row per order suits accounting, but it squeezes several items’ texts into one cell. We compare the two layouts in one row per line item vs one row per order.

Step 4: Filter the batch and export

Export only the orders you are about to make or ship, for example paid, unfulfilled orders from the last few days with a production tag. An order tag is a simple way to mark a batch; our guide to bulk fulfilling and tagging orders covers tagging in bulk.

Step 5: Check the file before it goes to production

Open the file and check it once before you send it:

  1. Sort by SKU so the same products are made together.
  2. Look for empty engraving cells on products that require text.
  3. Look for very long text that will not fit your engraving area or card.
  4. Open the upload links and save the artwork in your job folder, named by order number.
  5. Save the file with the batch date, so you can show a customer exactly what came in with their order.

Pitfalls with CSV and Excel

  • Accents and emoji look broken. If names look garbled, the CSV opened with the wrong encoding. Import it through Excel’s data import, or use an XLSX file.
  • Everything lands in one column. Many European Excel setups expect a semicolon instead of a comma. An XLSX file avoids this.
  • Gift messages spill into new rows. A message typed over several lines should stay in one cell. If it spills, the file was not quoted correctly.
  • Orders change after export. If you edit an order after exporting, re-export or note the change on the sheet.

FAQ

Can I export engraving text from Shopify without an app?

Not from the standard order CSV, which has no line-item property columns. You can read the properties on each order page and copy them by hand, or use an app or custom report that reads them from your orders.

Why is my gift message in the export but not my engraving text?

Your gift message is probably saved as the order note or a note attribute, which the standard order CSV includes. Your engraving text is saved on the item as a line-item property, which it does not include.

How do I export a Gift Aid tick-box?

A Gift Aid tick-box on a product is saved as a line-item property, usually with a value such as Yes. Export it like any other property, in its own column, so your accounting team can filter the orders that carry it.

Why does one order show up as several rows?

Because the file has one row per line item. Each item keeps its own engraving text, and the order number repeats so you can still group by order.

Try Columna: Order Export & Sheets

Columna: Order Export & Sheets is a Shopify app that exports Shopify orders to CSV or XLSX with line-item properties such as engraving text, gift messages and upload links. It is made for shops that hand orders to production, fulfilment or accounting, and the file is processed in your browser. The app finds the property keys used in your recent orders and offers each one as its own column, named Property: <key>, or you can keep all properties together in one Properties column. You save the columns you want as a reusable template, filter by payment status, fulfillment status, date range and tags, and download the file.

If your next batch of personalised orders is waiting, try Columna: Order Export & Sheets on the Shopify App Store.