🎁

Per-Item Gift Wrapping

Theme App Extension Β· All settings live in your Shopify Theme Editor

Open Theme Editor Partner Dashboard

Quick Setup

5 steps
  1. 1
    In Shopify Admin β†’ Products, create a product called Gift Wrapping. Add a Colour option with your wrap variants (Gray, Gold, Silver…). Set status to Draft.
  2. 2
    Open the Theme Editor using the button above and navigate to a Product template.
  3. 3
    Click Add block β†’ choose Per-Item Gift Wrapping.
  4. 4
    In the block settings, use the Gift Wrap Product picker to select your Gift Wrapping product. Colours populate automatically.
  5. 5
    Save the theme. The block is now live on every product page it has been added to.

Frequently Asked Questions

32 answers

πŸ›οΈ Setup & Configuration

How do I connect my Gift Wrapping product to the block?
Open your Shopify Theme Editor β†’ navigate to a Product template β†’ click the Per-Item Gift Wrapping block β†’ use the Gift Wrap Product picker to select your Gift Wrapping product. Colour variants populate automatically β€” no IDs to copy.
Why is the colour dropdown showing a warning instead of colours?
The Gift Wrap Product picker in the block settings is empty. Open Theme Editor β†’ click the block β†’ set the product. Once set, all variants of that product appear in the dropdown automatically.
How do I add, rename, or remove wrap colours?
Go to Shopify Admin β†’ Products β†’ Gift Wrapping β†’ Variants. Add, rename, or delete variants there. Changes appear in the dropdown on your store immediately β€” no theme save needed.
Should the Gift Wrapping product be Active or Draft?
Set it to Draft. This hides it from your storefront, search results, and collections so customers cannot buy it directly. The cart API can still add it β€” that is how the extension works.
Can I add the block to multiple product templates?
Yes. Open each product template in the Theme Editor and add the block to each one. The same Gift Wrap product and settings can be shared across all templates.
What does "Display price" do β€” is it the real charge?
The display price shown on the block is cosmetic only β€” it tells customers what to expect. The real charge comes from the actual price set on your Gift Wrapping product variants in Shopify Admin. Keep both in sync to avoid confusion.

πŸ›’ Cart Behaviour

Why does gift wrap disappear when I remove the product from the cart?
This is intentional. The extension monitors the cart and automatically removes any gift wrap whose parent product is no longer present. This prevents orphaned gift wrap charges appearing on orders without a wrapped item.
What if a customer selects gift wrap before adding the product to the cart?
The extension handles this safely. It waits until the product is confirmed in the cart before enabling auto-removal. Selecting wrap before adding the product will not cause the wrap to disappear unexpectedly.
Can a customer add gift wrap for the same product twice?
No. The extension enforces one gift wrap per product at all times. If a customer tries to add wrap for a product that already has one, the existing wrap is updated instead.
Can customers change the gift wrap quantity in the cart?
By default the quantity selector for gift wrap rows is hidden (recommended). This prevents customers from setting qty to 2 while only having 1 of the product. You can toggle this under Cart Behaviour β†’ Hide quantity selector in the block settings.
A customer has 3 units of a product β€” do they get 3 gift wraps?
Currently one gift wrap is added per product line (not per unit). If you need qty-matching, that would require a customisation β€” please open a developer issue with your use case.
I got a "There was an error while updating your cart" message. Why?
This was a bug in earlier versions where the cleanup logic could call itself in a loop. It is fixed in v6. Run shopify app deploy to push the latest version. If the error still appears after deploying, clear your browser cache and try again.

πŸ“¦ Orders & Fulfilment

How do I see which items are gift wrapped in an order?
Go to Shopify Admin β†’ Orders and open any order. Each gift wrap line item has a Wrapped item property showing the product title it belongs to. If the customer added a message, a Gift message property also appears on that line.
How do I know which wrap colour was selected?
The gift wrap line item shows the variant name (e.g. Gold, Gray) in the Variant column of the order, alongside the Wrapped item property.
Can I filter or export orders that include gift wrapping?
In Shopify Admin β†’ Orders, use the search bar and filter by product name "Gift Wrapping". For bulk exports with line item properties, use the built-in order export (CSV) or a reporting app such as Report Pundit or Better Reports.
Does gift wrap appear as a separate line item on the customer receipt?
Yes. Gift Wrapping is a real product added to the cart, so it appears as its own line on the order confirmation email, packing slip, and invoice β€” just like any other product. The Wrapped item property tells your team which item it belongs to.
Can I set different gift wrap prices per product?
Not natively β€” the price comes from the Gift Wrapping product variant, which is a single price. A workaround is to create multiple Gift Wrapping products (e.g. Standard Wrap / Premium Wrap) and add a separate block for each one on different product templates.

🎨 Appearance & Customisation

How do I change the checkbox and accent colour?
Open the Theme Editor β†’ click the block β†’ find Visual Customisation β†’ Accent colour. Pick any colour from the colour picker. It updates the checkbox fill, price text, and focus ring throughout the block.
Can I hide the gift message field?
Yes. Open the block settings β†’ Gift Message β†’ Allow customers to add a gift message β†’ toggle off.
Can I rename "Wrap colour" or "Gift message"?
These labels are currently hardcoded in the Liquid template. To change them, edit extensions/gift-wrapping/blocks/gift_wrap.liquid and update the label text, then run shopify app deploy.
How do I move the block to a different position on the product page?
In the Theme Editor, drag the Per-Item Gift Wrapping block up or down in the block list on the left panel. It will reposition on the product page accordingly.

πŸ”§ Troubleshooting

The block is not visible on product pages.
Check two things:
1. Development: Is shopify app dev running? The extension is only served while the dev server is active.
2. Production: Has the app been deployed (shopify app deploy) and installed on the store via the Partner Dashboard? Both steps are required.
Gift wrap is not being removed when the product is deleted from cart.
Make sure you are running v6 of the extension. Check by opening your browser console on a product page and looking for [GiftWrap] log lines β€” version is shown in the first line. If on an older version, run shopify app deploy.
The gift wrap row appears in the wrong position in the cart.
The reorder logic targets Dawn's <table> cart structure. Some themes use a <ul> or custom element. Open a browser console and run document.querySelector('.cart-items')?.tagName and share the result β€” it helps diagnose the structure your theme uses.
Shopify shows "There was an error" when adding a new product to the cart.
This is caused by an infinite loop in older versions of the extension. Deploy the latest version: shopify app deploy. Also clear your browser cache after deploying β€” an old cached JS file can still cause the error even after deployment.
The "Manage app" link shows ERR_SSL_PROTOCOL_ERROR.
The admin web page requires HTTPS. Either:
1. Run npm run web to start the HTTPS server, then visit https://localhost:3000 and click Advanced β†’ Proceed to localhost to trust the cert.
2. Or re-generate the cert: openssl req -x509 -newkey rsa:2048 -keyout web/certs/key.pem -out web/certs/cert.pem -days 3650 -nodes -subj "/CN=localhost"
shopify app dev fails with EADDRINUSE on port 9293.
A previous dev process is still holding the port. Kill it:
lsof -ti tcp:9293 | xargs kill -9
Then restart shopify app dev. Always stop the server with Ctrl+C or press q in the CLI panel β€” never use Ctrl+Z.
How do I completely remove the extension from a theme?
Open Theme Editor β†’ find the Per-Item Gift Wrapping block β†’ click the three-dot menu β†’ Remove block. This removes it from the theme without uninstalling the app. To uninstall the app entirely, go to Shopify Admin β†’ Apps β†’ Gift Wrap App β†’ Delete.

πŸš€ Deployment & Updates

How do I go from development to my live store?
Three steps:
1. shopify app deploy β€” pushes the extension to Shopify's CDN.
2. Partner Dashboard β†’ Apps β†’ Gift Wrap App β†’ Select store β†’ choose your production store β†’ Install.
3. Open Theme Editor on the live store β†’ add and configure the block β†’ Save.
Do I need to reinstall the app every time I make a change?
No. After the first install, just run shopify app deploy whenever you make code changes. The update is pushed to all stores where the app is installed automatically. No theme re-save is needed.
Will deploying break anything on the live store?
No. Deploying only updates the JavaScript and CSS assets served from Shopify's CDN. The Liquid block and schema settings remain unchanged unless you explicitly modify them. Existing block configurations on live themes are preserved.
Can I install the app on multiple stores?
Yes. From the Partner Dashboard, install the app on as many stores as you own. Each store gets its own independent block configuration in its Theme Editor.

No results found. Try different keywords.

N