Upsell Giftnote at Checkout
Offset the cost of Giftnote or offer Gifting upsells
Written By Giftnote Team
Last updated About 10 hours ago
Heads up — Giftnote v3 is here and the app looks different. We have just launched a completely new interface, so some screenshots and menu names in this article are still from the old version. We are updating the help docs over the next few days. In the meantime, if you get stuck, email support@giftnote.com and we will help you out.
Step 1: Create a Digital Product for the Upsell
Giftnote uses a digital product to apply a surcharge when a customer adds a gift message.
To create it:
Go to Shopify Admin → Products → Add Product
Name it something like Gift Message or Gift Wrap Fee
Set the Vendor to
Giftnote SurchargeUncheck “This is a physical product”
Set your price (e.g. $1.99 or $2.99)
Make it active, but hide it from your storefront (see Pre‑Launch Checklist)
Step 2: Add Giftnote Checkout Blocks
Giftnote provides two checkout blocks:
Checkout Message – for collecting the message
Gift Order Surcharge – for charging the fee
To add them:
Go to Shopify → Settings → Checkout
Click Customize
In the checkout editor:
Add the Checkout Message block
Add the Gift Order Surcharge block
Enable "Include app in Shop Pay"
Drag and drop the blocks where you want them to appear
Step 3: Link Your Surcharge Product
In the Giftnote App:
Go to Settings → Widgets → Checkout Widget
Under Surcharge Product, select the product you created in Step 1
Click Save
When a customer adds a gift message, this product will be automatically added to their cart.
Step 4: Test the Checkout
Add a product to your cart
Go through checkout and add a gift message
Confirm the surcharge product appears as a line item
If it does, the upsell is working as expected.
Step 5: Optional – Edit Widget Labels
You can update widget copy to make the fee clear.
Example:
“Add a personal gift message for $2.99”
To update:
Go to Giftnote → Settings → Widgets → Checkout Widget
Edit the labels and copy fields
Save changes
Pre‑Launch Checklist: Giftnote Surcharge Product
To avoid customer confusion, follow these developer-recommended steps:
1. Product Settings (in Shopify)
Vendor:
Giftnote SurchargeProduct Type: Digital Gift Message (optional)
Requires Shipping: Unchecked
Tags:
giftnote-digital
2. Hide It From the Storefront
Option A: Without Code
Create a new collection with a condition:
Product vendor is not equal to Giftnote SurchargeLink your navigation to this collection (instead of “All Products”)
Option B: With Code e. g
{% unless product.vendor == 'Giftnote Surcharge' %} <!-- show product --> {% endunless %} 3. Prevent Checkout With Only a Gift Message
Use this logic to stop users checking out with only the upsell product:
Example:
{% 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 %} 4. Remove It From Packing Slips
Go to Settings → Shipping and Delivery → Packing Slips, and replace the default loop with:
Example:
{% for line_item in line_items %} {% unless line_item.product.vendor == "Giftnote Surcharge" %} <!-- your layout --> {% endunless %} {% endfor %} 5. Exclude From Klaviyo Emails
In your Klaviyo template:
Example:
{% if item.Product.Vendor != "Giftnote Surcharge" %} <!-- show product --> {% endif %} 6. Optional – Adjust Total Item Count on Packing Slips
To exclude the surcharge from item totals:
Example:
{% 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 Go‑Live Checklist
✅ Surcharge product is hidden from storefront and collections
✅ Checkout only works with at least one physical product
✅ Product is excluded from:
Packing slips
Klaviyo emails
Total item counts (optional)
✅ Product is auto‑fulfilled (digital)
✅ Upsell appears cleanly at checkout