Pre-Launch Checklist: Giftnote Surcharge Product (Gift Message Fee)
Written By Giftnote Admin
Last updated 7 months ago
When a customer adds a gift message
Giftnote adds a digital product to the cart to apply the fee. This is how Shopify works — it doesn’t support add-on charges directly, so we use a proxy product.
To avoid confusing customers or cluttering your packing slips and emails, there are a few things you’ll need to configure on your end.
1. Product Settings (in Shopify)
Go to Products > Gift Message (Giftnote) and confirm:
- Vendor:
Giftnote Surcharge - Product type:
Digital Gift Message(optional) - Requires shipping: Unchecked
- Tags:
giftnote-digital
2. Hide It From the Storefront
You don’t want customers finding this product in search, collections, or menus.
Option A – Without code
- Go to Products > Collections
- Create a new collection with this condition:
Product vendor is not equal to Giftnote Surcharge - Update your main navigation to point to this collection
Option B – With code
If your team manages theme code, they can filter it out like this:
{% unless product.vendor == 'Giftnote Surcharge' %} <!-- show product --> {% endunless %}This is just an example. If your team isn't sure how to implement this, speak to Shopify support or we can introduce you to a trusted partner.
3. Stop Customers from Checking Out With Only a Gift Message
In some cases, a customer might try to add a gift message without any actual products.
You’ll want your theme to catch that and block checkout. Here’s a sample:
{% if cart.item_count == 1 and cart.items[0].product.vendor == 'Giftnote Surcharge' %} <script> alert("Please add a product to go with your gift message."); window.location.href = "/collections/all"; </script> {% endif %}We don’t apply this by default — it’s up to your team to add it if needed.
4. Remove It From Packing Slips
By default, Shopify will print the gift message product like any other item — even though there’s nothing to pack.
To prevent that:
- Go to Settings > Shipping and delivery > Packing slips
- Edit the template and replace your product loop with:
{% for line_item in line_items %} {% unless line_item.product.vendor == "Giftnote Surcharge" %} <!-- your current layout --> {% endunless %} {% endfor %}If you use a 3PL or external warehouse system, ask them to ignore any products with the vendor Giftnote Surcharge or tag giftnote-digital.
5. Exclude It From Klaviyo Emails
You might see the gift message show up in your order confirmation emails or gift recipient flows. This happens if your product blocks aren’t filtering it out.
Here’s an example your Klaviyo dev can use:
{% if item.Product.Vendor != "Giftnote Surcharge" %} <!-- show product --> {% endif %}If you’re not sure where to do this, your Klaviyo strategist can help — or we can introduce someone.
6. Optional: Adjust Packing Slip Item Counts
If you include a line that says “Total items: X” in your packing slip, it may count the gift message unless you exclude it manually.
Use something like this:
{% assign totalProductsOrdered = 0 %} {% for line_item in line_items %} {% unless line_item.product.vendor == "Giftnote Surcharge" %} {% assign totalProductsOrdered = totalProductsOrdered | plus: line_item.quantity %} {% endunless %} {% endfor %} Total items: {{ totalProductsOrdered }}Final Checklist
Here’s what your team or dev should confirm:
- The product is hidden from collections, search, and menus
- Customers can’t check out with only a gift message
- The product is excluded from packing slips
- It’s filtered out of Klaviyo product blocks
- It auto-fulfills (since it’s marked as digital)
- Optional: it doesn’t get counted in “total items” summaries
We don’t make theme or email template changes directly, but if you need help, we’re happy to point you to a developer or ecommerce partner who’s worked with this setup before.
Want us to take a look at your current setup or connect you to someone?
email hello@giftnote.com