Skip to main content
Store operations and content

Shopify Has No Native Gift Wrapping or Noshi | Cart Attributes Disable Shop Pay, While Line Item Properties Stay Out of Order CSVs

Shopify's only native gift UI is the order note. Cart attributes appear in order CSVs but disable Shop Pay and other accelerated checkout buttons, while line item properties support per-item noshi but stay out of order CSVs. This article explains that tradeoff and compares the five of 53 gift apps that explicitly support noshi. Researched September 1, 2026.

AIEC App Lab AI Editorial TeamPublished Updated Read 17 min#Shopify blog operations#App comparisons#For beginners

What you will learn

On this pageContentsCloseOpen

When searching for "How to set up gift wrapping in Shopify," many articles explain how to add a checkbox to the theme. However, the article they reference from the Shopify Help Center, "Add a gift wrap option," has all three URLs redirected and are no longer available. The "Popular Customizations" list of 15 items in the theme does not include a gift wrap option.

The only standard UI element is the order note (cart note). Everything else requires either theme customization or an app.

When customizing a theme, you are forced to make a choice at the first branch: whether to hold gift information as cart attributes (at the cart level) or line item properties (at the item level). The former can be included in the order CSV but makes Shop Pay and other fast checkout buttons unusable. The latter allows for different noshi per item but does not have a corresponding column in the order CSV.

This article identifies the points where customizations break based on the constraints described in the official documentation. It also clarifies how far an app can handle the requirement for noshi, a Japanese-specific feature. The investigation was conducted on September 1, 2026, and all prices are in USD.

Conclusion

If you only need a gift message and do not charge for wrapping, no app is needed. Enabling the cart note in the theme editor is sufficient. This is available in all free themes and outputs to the order CSV's Notes column.

If you want to allow the choice of wrapping but it is free and you do not use fast checkout buttons like Shop Pay, using cart attributes is sufficient.

If you want to charge for wrapping or change noshi per item, customizations break significantly. An app is recommended.

If you need noshi, Japanese apps are the only option. Out of the 53 apps in the Gift wrap and messages category, only five mention noshi, and all are Japanese. The major overseas apps (Wrapin, Gift Wrap Plus, Giftship, Super, Wrapped, PAL) do not mention noshi at all.

If you receive a few gift orders per month by phone or email, using a custom item in the draft order is the cleanest solution. However, it cannot be used with an automatic fulfillment app.

What Standard Features Can Do

First, let's confirm what can be done for free.

Order notes (cart note) can be enabled by checking "Enable cart note" in the theme editor under Cart → Sections → Subtotal. This adds a free-form input field to the cart page. All free themes can do this. The input content is displayed in the order details under the "Notes" section and outputs to the order CSV's Notes column. This is the lowest-cost option for a gift message.

Cart attributes (cart.attributes) allow you to add a "key: value" string pair to the entire cart. You can place <input name="attributes[Gift wrap]"> or POST attributes to /cart/update.js. The Shopify official Ajax Cart API reference itself uses attributes: {"Gift wrap": "Yes"} as an example of cart attributes. This outputs to the order CSV's Note Attributes column.

Line item properties (properties[...]) allow you to add a "key: value" string pair to each item. You can place <input name="properties[Noji]"> in the product form or pass properties to /cart/add.js. You can have different noshi for different items, such as inside noshi for product A and outside noshi for product B.

Draft order custom items allow you to choose whether to tax and whether the item is a physical product on a per-item basis. You can also set custom shipping rates and per-line discounts.

Note that if you prefix the property name with _ (or __ for attribute names), it will be hidden during checkout but shown in the order details. This can be used to set an internal flag.

Where Customizations Break Down

Here are the points where customizations break based on the constraints described in the official documentation.

1. Using cart attributes makes Shop Pay disappear

The official Shopify documentation states:

Accelerated checkout buttons don't support cart attributes.

Fast checkout buttons, such as Shop Pay, Apple Pay, and Google Pay, do not support cart attributes. When you implement a checkbox for gift wrapping using cart attributes, the fast checkout buttons below it become unusable.

The documentation for Checkout UI Extensions also states that applyAttributeChange should return an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.

2. Line item properties do not appear in order CSVs

If you want to change the noshi for each item, line item properties are necessary. However, this causes issues with fulfillment.

The order CSV has columns for quantity, name, price, compare-at price, SKU, requires shipping, taxable, fulfillment status, and discount. There is no column for line item properties.

Thus, standard functionality does not allow for an order CSV that includes item-specific noshi information. You must either check the order details one by one in the admin or integrate with an external fulfillment system.

You must choose between using cart attributes (which appear in the order CSV but make Shop Pay unusable) or line item properties (which allow for different noshi per item but do not appear in the order CSV).

3. Properties cannot be partially updated

The official reference states:

Whenever a POST request includes properties, it overwrites the entire properties object.

When you pass properties to /cart/change.js, the entire properties object is overwritten. Existing keys are removed. If you want to change only the type of wrapping, the noshi that was set earlier will be lost.

Furthermore, you cannot set the properties to an empty object. The official documentation states, "If you need to remove all line item properties, then you need to remove the entire line item," so you must delete the entire line item.

4. Line item keys change with property changes

The line item key is not persistent for the lifetime of a line item, it changes as characteristics of the line item change. This includes, but is not limited to, properties and discount applications.

JavaScript code that updates cart quantities using line item keys will lose its target when properties are changed. This is a common cause of issues where changing the gift option changes the quantity.

5. /cart/clear.js does not remove cart attributes or notes

This does not remove cart attributes or the cart note.

The "Clear cart" button does not remove cart attributes or the cart note. The gift wrapping option chosen last time will be carried over to the next purchase.

Additionally, /cart/update.js does not check the inventory against the quantity of items already in the cart. You can add quantities that exceed the inventory.

Charging for Wrapping Increases the Break Points

Cart attributes and line item properties are both key: String / value: String string pairs. There is no built-in mechanism to charge for wrapping.

Therefore, if you want to charge for wrapping, you must add a product named "Wrapping Charge" to the cart. While this works, it has three side effects.

Shipping. When using weight-based shipping rates, the default packaging weight for the store is added to the weight of each item. If the total weight exceeds the weight hierarchy limit, a shipping error occurs at checkout, preventing the order from being completed. To avoid this, turn off the "Physical product" option for the wrapping item. Turning it off will hide the weight field and the duty information field.

Discounts. A discount code that applies to all items in the cart will also apply to the wrapping fee. To avoid this, limit the discount to specific products or collections.

Inventory. Inventory tracking for wrapping items must be turned off to prevent the product from being sold out.

Shopify will add nested cart lines (parent-child cart lines) on August 6, 2025, as noted in the changelog, which mentions gift-wrapping. This creates a foundation for linking wrapping lines to parent products, but it is not the gift wrapping feature itself. Implementation will be done by themes or apps.

Also, price overwriting via the Cart Transform API (lineUpdate / update) is restricted to development stores or Shopify Plus. The method of creating an app to overwrite prices within the cart is not available for custom apps outside of Shopify Plus.

Draft Orders Are Actually the Cleanest Option

If you handle a few gift orders individually each month, using custom items in draft orders is the most straightforward method. You can specify whether an item is taxable and whether it is a physical product at the item level, which can immediately address the shipping and tax issues mentioned above.

However, there are three limitations:

Shopify itself warns to "whenever possible, create products in your admin instead of using custom items." It also states, "You can't use custom items with automated fulfillment or shipping apps." You cannot use custom items with automated fulfillment or shipping apps.

Order attributes and order notes are incompatible with draft orders. They are also incompatible with standard packing slips.

Additionally, draft orders created after April 1, 2025, will be automatically deleted after one year of inactivity.

This is not suitable for automated online sales. It is only for individual handling.

The Sunset Dates for checkout.liquid Are Three Phases

For stores that have gift options on the checkout page, it is important to clarify the timeline. The simplified explanation of "checkout.liquid will be discontinued on August 26, 2026," is inaccurate.

  • August 13, 2024: Sunset of checkout.liquid for the Information / Shipping / Payment pages.
  • August 28, 2025: Sunset of checkout.liquid for the Thank you / Order status pages for Shopify Plus stores. On this day, additional scripts are editable only for Shopify Plus stores.
  • August 26, 2026: Sunset deadline for non-Plus stores for the Thank you / Order status pages. Also, script tags are discontinued for non-Plus stores.

Another common misunderstanding is that Checkout UI extensions are not limited to Shopify Plus. UI extensions for the Thank you / Order status pages and public app Shopify Functions are available from the Basic tier. The only limitation is for UI extensions for the Information / Shipping / Payment pages and custom app Shopify Functions. To include wrapping in your custom app, you need Shopify Plus.

Note that the Gift message template in Shopify's Checkout Blocks is noted as "Creating a custom field block is available only to merchants on the Shopify Plus plan."

Only Five of 53 Apps Explicitly Support Noshi

There are 53 apps in the Gift wrap and messages category (as of September 1, 2026). Out of these, only five explicitly mention noshi support, and all are made in Japan. The major overseas apps — Wrapin, Gift Wrap Plus, Giftship, Super, Wrapped, and PAL — do not mention noshi at all. Since they lack support for inscriptions, mizuhiki cords, inner or outer noshi placement, and personalization, this is a logical outcome. For noshi, you need a separate solution even if an overseas app can handle wrapping and messages.

AppDeveloperRating (Reviews)NoshiJapanese UIMinimum CostBilling Basis
All in giftHuckleberry (JP)4.9 (129)YesJapanese only$9.90/monthFeature grade (+e-gift 3%)
cocoron GiftcocoronApps (JP)5.0 (1)Yes (32 inscription styles, inner/outer noshi placement, personalization)Japanese only$8.99/monthFlat rate
Gift Options PlusDryworks (JP)4.3-4.4 (7-8)YesJapanese/English$3.99/monthWidget count
Gift Wrapping & Noshi AppDentsu Digital (JP)5.0 (1, 2021)YesJapanese only$9.80/monthFlat rate
Simple Noshi AppUnReact (JP)0 (0 reviews)YesJapanese only$6.99/monthFlat rate
PAL - Gift Wrap, Gift NoteShree Balajee Tech (IN)4.8-4.9 (43-46)NoYes$0 (5 free/month) → $5Monthly gift orders
Wrapped: Gift Wrap & MessagesAlacart Apps (CA)4.9 (126)NoYes$19/monthMonthly gift sales revenue
Gift Wrap PlusNulls.Net (LV)4.9 (64)NoNo$0 (5 free/month) → $3.99Monthly gift orders
Wrapin - Gift Wrap & OptionsPrezen Apps (US)4.9 (355)NoNo$3.99/monthFeature grade
Super: Gift Wrap, Gift MessageEffective Apps (IL)4.7 (249)NoYes$9.99/monthFeature grade
GiftshipGist (CA)4.8 (245)NoNo$59.99/monthMonthly orders (over $0.10/each)

All apps are in USD. No app with a yen-based billing system was found.

The Reality of Free Plans Is Three Types

The most important point in the table is the free plan. There are three types:

  • Free for up to 5 gift orders per month in the live store: PAL, Gift Wrap Plus
  • For test stores or trial stores only: Wrapin
  • For development stores or partner stores only: Super, UnReact (2 apps)

The last two are not usable at all in the live store. Checking only the "Free plan available" on the App Store can lead to a mismatch in expectations when you start using the app.

Four Types of Billing Bases

  • Monthly gift order count (PAL, Gift Wrap Plus),
  • Monthly gift sales revenue (Wrapped),
  • Monthly order count (Giftship),
  • Widget count (Gift Options Plus),
  • Flat rate based on feature grade (Wrapin, Super, All in gift, and Japanese flat rate).

The only case of "widget count" billing is with Gift Options Plus, at $3.99 per widget, $7.99 for up to 5, and $9.99 for up to 10. For stores with many orders but few widgets needed, this can be cost-effective.

The "monthly gift sales revenue" billing for Wrapped is the opposite, where the tier jumps higher as the gift ratio is higher (up to $19 for $10k, $49 for $50k, $99 for $100k, and $149 for more). However, the method of calculating "monthly gift sales" is not clear from the public information.

Implementation Methods for Wrapping Fees Are Not Documented

One axis not listed in the comparison table is the method of implementing wrapping fees: as a line item property, cart attribute, dummy product, or Cart Transform. No app on the App Store page mentions this.

The only exception is the "Gift Wrapping & Noshi App" by Dentsu Digital, which states on its official page, "Wrapping is registered as a product, allowing you to change the image and set multiple wrapping options." This means that even with the app, it uses the dummy product method, and the side effects mentioned for shipping and discounts apply.

As an indirect clue, you can check whether an app requires the Cart transforms scope in Shopify Functions. Giftship, Wrapped, PAL, cocoron Gift, and Gift Options Plus all require it. However, this is an assumption and not proof of the implementation method.

Case-by-Case Selection

No app needed (only for gift messages): Enable order notes. Free, fully free for all themes, and the Notes column in CSV outputs it.

No app needed (only for wrapping presence or free wrapping): Custom cart attributes. However, the fast checkout button will not be usable.

Handle Wrapping Accurately: cocoron Gift ($8.99/month). Purpose → Embellishment → Inside Wrapping/Outside Wrapping → Personalization requirements are most clearly broken down, with 32 types of embellishment and standard water-drawing images. However, be sure to consider the limited track record, which includes a release in March 2026 and only one review.

Wrapping + Envelope + eGift + Multiple Shipments in One App: All in Gift ($9.90/month and up, PRO $49/month, eGifts are 3% of transaction value). This is the largest review scale in the Japanese category (4.9/129 reviews), and it's the only app that mentions integration with domestic 3PLs/Oms such as LogiRes, OpenLogi, NextEngine, and Shippino. The issue of line item properties not appearing in CSV can be mitigated by integrating with the shipping side. However, the app has many features, and multiple reviews mention a learning curve.

Wrapping + Checkout Display + Multilingual, Want to Save Cost: Gift Options Plus ($3.99/month and up). This is the only app that simultaneously meets the requirements for wrapping, checkout display, and bilingual support. The ability to switch between "display as separate lines" and "merge into one line" is also a feature. However, with an evaluation of 4.3-4.4 and 25% of reviews giving one star, it is the lowest-rated app in this survey, and there are also reports of theme compatibility issues.

Wrapping is Not Needed, Want to Try for Free: PAL - Gift Wrap, Gift Note. It's free for up to 5 gift orders, and it offers item-level wrapping control, order tagging, and image preview. Built for Shopify, with Japanese UI, $5 for up to 50 orders, $9.99 for unlimited. There are no notes about checkout display for the Plus version. However, it was released in April 2025 with 43-46 reviews, indicating a shallow track record.

Wrapping is Not Needed, Want to Use Order-Level and Item-Level Separately: Wrapped: Gift Wrap & Messages ($19/month and up). This is the only app that explicitly mentions both order-level and item-level gift options, directly addressing the "cart attributes or line item properties" dilemma. Japanese UI is available, and there are no Plus version notes.

Corporate Gifts, Multiple Shipments to Multiple Addresses, English-Speaking Region: Giftship ($59.99/month and up). However, the checkout options are Plus-only. In Japan, All in Gift PRO ($49/month) with multi-ship is a competitor.

Gift to Someone You Don't Know the Address Of (eGift): This is a different category. Wrapping apps do not solve this. Shopify's standard gift card can be customized for theme purposes up to the recipient's email address, but standard functionality does not allow sending physical goods to an unknown address. The All in Gift eGift feature (issuing a receive URL and anonymizing the address) is relevant here.

Pre-Installation Checklist

  • Confirm if a gift message alone is sufficient and can be handled with order notes.
  • Decide whether to hold gift information in cart attributes (appears in CSV but Shop Pay is removed) or line item properties (per item but not in CSV).
  • Decide how the shipping team will receive the gift information (CSV, admin panel, or external system integration).
  • If charging for wrapping, address the three side effects of dummy products, discounts, and inventory.
  • Confirm if the fast checkout button (Shop Pay, Apple Pay, Google Pay) is in use.
  • Define the requirements for wrapping, including inside wrapping, outside wrapping, and personalization.
  • Confirm if a free plan is available for the live store or only for the development store.
  • Confirm the billing basis (gift order count, gift sales, order count, widget count, or flat rate).
  • Confirm if the checkout page can display the information.
  • Confirm if any code added by the app will remain in the theme after uninstallation (none of the 12 apps listed in the App Store pages have this information).

Summary

Four criteria are distilled for decision-making.

  1. Standard UI is just order notes. If a gift message alone is sufficient, it can be handled there. It's free and appears in CSV.
  2. Custom branching is between CSV and Shop Pay. Cart attributes and line item properties are different not because they are used for different purposes, but because they discard different things. Deciding this first will prevent rework during implementation.
  3. Charging for wrapping requires addressing the three side effects of dummy products, discounts, and inventory. Whether an app is used, the dummy product method results in the same side effects.
  4. If wrapping is a requirement, the choice is limited to the five Japanese apps. Among these, three have zero to one reviews. Decide which to prioritize: performance or track record.

The next step is to review the last 10 gift orders, counting "whether one message is enough for one order" and "whether the wrapping needed to be different for each item." These two answers will determine if order notes are sufficient, cart attributes are needed, or line item properties are required.

The cost, rating, and category listings are subject to change. The data in this article was confirmed directly from the Shopify official documentation, Shopify App Store, and each developer's official page as of September 1, 2026. Please check the latest display before implementation.

RelatedShopify Validates Addresses for Free — and Tells You Not to Run an App Alongside It

Shopify's admin address validation is on by default, free, on every plan, and supports the US. Checkout-time validation is one toggle away. Shopify's own documentation then warns that running a third-party address validation app at the same time can create conflicting suggestions and reduce checkout conversion — you are meant to pick one. That reframes the whole category: apps are not there to duplicate deliverability checking, they are there to enforce policy Shopify's validator does not enforce, like blocking PO boxes or requiring an apartment number. We priced four real apps from the US App Store on September 2, 2026, spanning $4.99/month flat, $0.04 per order, and one that requires a separate subscription billed outside Shopify.