How to Add a Gift Message to Shopify Order Confirmation Page

2026-10-16 · upselling

Why Add a Gift Message to Your Shopify Order Confirmation Page?

The order confirmation page is the last screen a customer sees before they close the tab and wait for a package. If you sell anything people buy for someone else — candles, coffee, jewelry, baby clothes, skincare — that screen is a missed opportunity to capture a gift note while the buyer is still thinking about the recipient.

Adding a gift message field directly to the order confirmation page (also called the Thank You page) solves three problems at once. It captures the message at the moment of highest intent, it keeps the note attached to the order record instead of buried in an email thread, and it gives your fulfillment team something to print and drop in the box. No back-and-forth emails asking "what should the card say?"

Shopify has supported post-purchase checkout extensions for a while now, but you don't need a paid app to do this. A small theme edit plus Shopify Flow (free on all plans) gets you a working gift message capture and fulfillment workflow.

What You'll Need Before You Start

Step 1: Access Your Shopify Theme Code

  1. In Shopify admin, go to Online Store → Themes.
  2. Find your live theme, click the "..." button, and choose Edit code.
  3. In the left sidebar, open the Templates folder and look for checkout.liquid or, on newer themes, the Checkout folder with thank_you.liquid.
  4. If your theme uses the newer Checkout Extensibility system (most themes published after 2023), you won't find checkout.liquid at all. Instead, you'll use the Checkout Editor and a checkout UI extension. For that route, go to Settings → Checkout → Customize and use the checkout editor's app blocks.

For most merchants on Dawn, Refresh, Craft, or any current free Shopify theme, the fastest path is the checkout UI extension route. If you're on an older theme with checkout.liquid, the Liquid edit below still works.

Step 2: Add the Gift Message Field to the Order Confirmation Template

The goal is a textarea that appears on the Thank You page and writes its value back to the order as an order attribute or note.

If you're editing checkout.liquid or thank_you.liquid

Open the file and find the section that renders after the order summary. Add a form block like this:

<div class="gift-message-block">
  <label for="gift-message">Add a gift message (optional)</label>
  <textarea id="gift-message" name="checkout[attributes][Gift Message]" maxlength="200" rows="3"></textarea>
  <button type="button" id="save-gift-message">Save gift message</button>
</div>

Then add the script that posts the value back to the order:

document.getElementById('save-gift-message').addEventListener('click', function () {
  const message = document.getElementById('gift-message').value;
  fetch('/cart/update.js', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ attributes: { 'Gift Message': message } })
  }).then(() => {
    document.getElementById('save-gift-message').textContent = 'Saved';
  });
});

This writes the gift message as a cart attribute, which Shopify carries through to the order as an order attribute visible in the admin.

If you're using Checkout Extensibility

Build a checkout UI extension that renders a text field on the Thank You page and calls applyAttributeChange from the @shopify/ui-extensions package. The applyAttributeChange API writes the value to the order as a custom attribute. Deploy the extension with the Shopify CLI:

shopify app deploy

Then in Settings → Checkout → Customize, add your extension as a block on the Thank You page.

For merchants who don't want to touch code at all, apps like Gift Note, Gift Wrap, or In Cart Upsell offer a no-code version of this. Check current pricing and whether they support the Thank You page specifically — not all gift message apps do.

Step 3: Save and Test Your Gift Message Field

  1. Save the file or deploy the extension.
  2. Open your storefront in an incognito window and place a real test order (use Shopify's Bogus Gateway if you're on a development store).
  3. On the Thank You page, confirm the gift message field renders and accepts input.
  4. Submit a message like "Happy birthday, Sam — hope the candles smell amazing."
  5. Open the order in Shopify admin and check the Additional details section. Your gift message should appear as an order attribute.
  6. Delete the test order.

If the field renders but the value doesn't save, the issue is almost always in the attribute key. Shopify expects checkout[attributes][Your Key] in Liquid or applyAttributeChange in extensions — a typo in either breaks the write silently.

Step 4: Capture and Fulfill Gift Messages (Without an App)

Once the message is stored as an order attribute, you need a way to get it in front of whoever packs the box.

A simple comparison of your options:

Method Setup effort Best for Cost
Packing slip edit Low In-house fulfillment Free
Shopify Flow email/Slack Medium Small teams, remote packers Free
Order tags + filter Low Manual review workflows Free
Dedicated gift app Low No-code merchants Check current pricing

Troubleshooting Common Issues

Final Thoughts: A Simple Way to Offer Gift Options

Adding a gift message field to your Shopify order confirmation page is a two-hour project that pays off every time someone buys a present. You capture the note while intent is high, you store it as a structured order attribute instead of an email, and you route it to fulfillment with free tools like Shopify Flow. Start with the packing slip method if you fulfill in-house; upgrade to Flow automation once gift orders become a meaningful share of your volume.


FAQ

Can I add a gift message field without editing theme code? Yes. Apps like Gift Note and Gift Wrap add the field through a checkout extension with no code. Check current pricing and confirm the app supports the Thank You page, since some only work on the cart page.

Will the gift message show up on the customer's order confirmation email? Only if you edit the order confirmation email template under Settings → Notifications. The attribute is stored on the order, but the default email doesn't print custom attributes unless you add Liquid for them.

Does adding a gift message field require Shopify Plus? Not necessarily, but the method differs. Checkout Extensibility customization options have changed across Shopify plans — verify what your current plan supports before starting, and use the checkout editor route if checkout.liquid isn't available.