How to Add a Gift Message to Shopify Order Printer

2026-10-08 · shipping fulfillment

Why Gift Messages Matter for Small Shopify Sellers

A gift message is one of the cheapest conversion levers in e-commerce. When a shopper knows they can add "Happy birthday, Maya — from Aunt Renée" at checkout, they buy with confidence instead of emailing you to ask whether you can include a note. For sellers of candles, jewelry, apparel, baked goods, and subscription boxes, gift orders also tend to carry higher average order values and lower return rates, because the buyer and the recipient are two different people with two different reasons to be happy.

The catch is fulfillment. A gift message that lives only in your Shopify admin is useless if the person packing the box never sees it. That's where Shopify Order Printer comes in: it's the free Shopify app that renders your invoices, packing slips, and labels from a Liquid template you control. With a small template edit, the gift note prints on the packing slip automatically, right next to the line items, so your packer can copy it onto the card without opening a browser tab.

This guide walks through the full setup: capturing the message at checkout, editing the Order Printer template, testing it safely, and avoiding the formatting mistakes that cause blank notes or broken layouts.

Before You Start: What Order Printer Can and Can't Do

Shopify Order Printer is a free first-party app that generates printable documents from order data using Shopify's Liquid templating language. It is not a design tool and not a fulfillment automation platform. Knowing its limits saves hours:

If you need automatic gift receipts, hide prices per-item, or route gift orders to a different fulfillment flow, look at dedicated gift and packaging apps in the Shopify App Store and check current pricing before committing — most charge a monthly fee that only makes sense once you're processing a steady volume of gift orders.

Step 1: Capture the Gift Message at Checkout

Order Printer can only print what's stored on the order, so capture the message first. You have three practical options.

Option A: Cart attributes (recommended for a single message per order). Add a textarea to your cart template that writes to a cart attribute. In a Shopify theme, that looks like a form field named attributes[Gift Message] inside the cart form, plus a checkbox named attributes[Is Gift] with a value of Yes. Cart attributes carry through to the order and appear in Order Printer as order.attributes.

Option B: Line item properties. Use these when the message belongs to a specific item — for example, three gifts in one order, each with its own note. Add an input named properties[Gift Message] inside the product form. These print per line item.

Option C: Order notes. The native "Add a note" field at checkout works, but it's a general-purpose field customers also use for delivery instructions. If you go this route, label it clearly ("Gift message — we'll print this on the packing slip") or you'll end up printing requests for a different delivery window.

For most small stores, Option A plus a simple "This is a gift" checkbox is the right balance of effort and clarity. Test that the field actually appears in the order's Additional details section in your Shopify admin before touching Order Printer.

Step 2: Open and Back Up Your Order Printer Template

In your Shopify admin, go to Apps → Order Printer. You'll see your templates — typically "Invoice," "Packing slip," "Label," and "Full page." Open the one you actually print for fulfillment; for gift notes, that's almost always the packing slip.

Before editing anything:

  1. Click the template name to open the editor.
  2. Click Duplicate (or create a new template) and name it something like Packing slip — gift message v1.
  3. Keep the original untouched as your rollback.
  4. Note which template is set as the default under Order Printer settings, so you know which one your team prints.

Order Printer templates are Liquid with HTML and inline CSS. If you're not comfortable editing code, duplicate the template and make one small change at a time, previewing after each.

Step 3: Add the Gift Message Code to Your Template

Find a sensible spot in the packing slip — usually directly under the shipping address block or above the line items table. Insert a conditional block so the section only renders when a gift message exists. That keeps normal orders clean.

{% if order.attributes["Gift Message"] != blank %}
  <div style="border:1px solid #000; padding:12px; margin:16px 0;">
    <strong>Gift Message</strong>
    <p style="margin:8px 0 0 0; white-space:pre-wrap;">{{ order.attributes["Gift Message"] }}</p>
  </div>
{% endif %}

Key details that matter:

Save the template. Order Printer does not version-control for you, which is why Step 2 matters.

Step 4: Test the Template with a Sample Order

Never test on a live customer order. Create a draft order or place a real order with a discount code that makes it free, then:

  1. Add a gift message with two or three line breaks and an apostrophe.
  2. Open Order Printer, select the order, and click Print or Preview.
  3. Check the printed output on paper, not just the screen — browsers render margins differently than printers.
  4. Confirm the note appears once, is legible, and doesn't push the line items onto a second page unnecessarily.
  5. Place a second test order with no gift message and confirm the block is completely absent.
Test case What to check Pass criteria
Gift message, 1 line Block renders, correct text Note visible, no layout shift
Gift message, multi-line Line breaks preserved Text wraps as typed
No gift message Conditional hides block No empty box or label
Special characters (', &, emoji) Escaping works Characters print correctly
Order with 10+ line items Pagination Note stays with its section

Run this table once after any template change. It takes five minutes and prevents the most common support tickets.

Troubleshooting Common Gift Message Issues

Best Practices for Gift Notes on Invoices and Packing Slips

If gift volume grows past a few orders a day, evaluate a dedicated gift message app for automatic gift receipts and recipient emails — check current pricing and confirm it writes data to order attributes so Order Printer can still print it.

Conclusion

Adding a gift message to Shopify Order Printer is a two-part job: capture the message as an order attribute at checkout, then print it with a short conditional Liquid block in your packing slip template. Back up the template first, test with a real sample order, and the whole setup takes under an hour. Once it's live, your packers see every gift note automatically and your customers stop emailing you to ask.

FAQ

Does Order Printer come free with Shopify? Yes, Order Printer is a free first-party Shopify app for generating invoices, packing slips, and labels. Check the Shopify App Store listing for current availability on your plan.

Can I print a different gift message for each item in one order? Yes, if you capture the message as a line item property rather than a cart attribute. Loop through line_items in the template and print each item's properties["Gift Message"] next to that item.

Will the gift message show on the customer's invoice too? Only if you add the same code to the invoice template. Most sellers deliberately keep gift notes on the packing slip only, since invoices may be emailed with prices visible.