Making the switch to Zest is a smooth process. This article walks you through everything you need to do to remove your old gifting app, install and configure Zest, and go live with confidence.
Overview: Why Migrate to Zest?
Zest is built on Shopify's native checkout technology, which means it works seamlessly with your existing cart rules and discount codes.
When you migrate to Zest, you gain:
Recipient notifications — Gift recipients receive email and SMS delivery with their gift message, tracking information, and a link to accept their gift.
Thank-you notes — Recipients can send a thank-you note back to the gifter, closing the loop beautifully.
Digital gift notes — Upload and manage your own digital card designs directly in the app.
Recipient marketing opt-in — Recipients can opt in to your marketing list at the moment they accept their gift.
Clean order reporting — Only individual recipient orders appear in Shopify, keeping your reports accurate and easy to read.
Dedicated support — Zest's team works alongside you through the transition and beyond.
Note: Zest's checkout extension requires Shopify Plus. If you're not on Shopify Plus, reach out to the Zest team to discuss your options.
Pre-Migration Checklist
Before you begin, make sure you have the following ready:
Access to your Shopify admin (Settings > Apps, Theme Editor, Checkout Customization).
A list of all gifting-related Klaviyo flows currently active.
Confirmation that all in-flight gift orders (gifts purchased but not yet delivered to recipients) have been fulfilled or noted.
Contact information for any agency or developer managing your theme.
A low-traffic window scheduled for the final switchover (weekday mornings often work well).
Zest install link ready (provided directly by the Zest team).
Tip: Consider password-protecting your store during the final switchover to prevent customer orders while you're testing.
Removing Your Old Gifting App (Buttons, Scripts, and Checkout Blocks)
Before activating Zest, you'll need to clean up the UI elements and code from your previous gifting app. This keeps your checkout experience clean and prevents duplicate gift options from appearing to customers.
Remove buttons from the cart and cart drawer
In your Shopify admin, go to Online Store > Themes.
Click Customize on your active theme.
Navigate to your Cart page section and locate any gift-related buttons added by your old app.
Select the element and click Remove.
Repeat for the Cart Drawer if your theme uses one.
Click Save.
Note: If a gift button persists after you disable your old app, it may be controlled by a different app (for example, a third-party cart app). Check your other installed apps and your theme code for the source before assuming the old gifting app is responsible.
Remove old script tags from theme templates
In your Shopify admin, go to Online Store > Themes.
Click the ... menu next to your active theme and select Edit code.
Search for the name of your old gifting app in your product page and cart page templates.
Delete any
<script>tags or app-specific code snippets belonging to the old app.Click Save.
Remove checkout blocks in Shopify checkout customization
In your Shopify admin, go to Settings > Checkout > Customize.
Locate any blocks added by your old gifting app (such as a gift message block or ship date picker).
Select the block and click Remove.
Click Save.
Note: Some app blocks cannot be removed directly from the checkout customization screen. If you encounter this, navigate to the app's settings via Manage app to disable the block from there. You can selectively remove just the gift message block while keeping other blocks (like a ship date picker) if you need them during the transition.
Migrating from Other Third-Party Gifting Apps
If you're coming from a different gifting app, the process is similar: configure Zest first, test thoroughly, then switch over.
Why a clean cutover matters
Running two gifting apps at the same time is possible for a short period, but it can create a confusing experience for customers who see duplicate gift options at checkout. Plan to complete the full transition within a defined window — ideally just a few days.
Important: If your current app handles ship date collection (a calendar or date picker in the checkout), Zest includes scheduling features for delivery and shipping dates. Confirm with the Zest team which scheduling options are configured for your store before removing your old app's date picker block.
Steps to migrate
Install Zest using the link provided by the Zest team.
Test in a sandbox or duplicate theme. Place test orders to confirm the gift experience works as expected before touching your live store.
Clone your existing gifting Klaviyo flows as new Zest flows (without activating them yet).
Schedule a switchover window during a low-traffic period. Have your Zest contact, your agency (if applicable), and your team available.
Disable your old app at least 1–24 hours before activating Zest to create a clean separation between systems.
Remove old UI elements from your theme following the previously mentioned steps.
Activate Zest and confirm everything is working with a test order.
Order confirmation email templates
If your previous gifting app used custom order confirmation email templates, identify whether those were set up by your team or by an agency, and plan to rebuild them for the Zest integration before going live.
Testing and Go-Live Best Practices
A successful migration comes down to thorough testing and a well-coordinated switchover. Here's how to go live with confidence.
Testing checklist
Place a test order through the Zest checkout experience and confirm the gift message appears correctly.
Confirm the recipient receives their notification email or SMS.
Confirm the recipient can accept the gift and submit a thank-you note.
Confirm tracking information is sent to the recipient after fulfillment.
Confirm the buyer receives an order confirmation email.
Confirm that discount codes, gift cards, and cart rules still apply correctly at checkout.
Check that no old gift app elements appear in the cart, cart drawer, or checkout.
Go-live coordination
Confirm with the Zest team that your configuration is complete and reviewed.
Schedule the switchover during a low-traffic window (weekday mornings recommended).
Have all stakeholders available: your Zest contact, agency or developer (if applicable), and your internal team.
Optionally password-protect your store during the final cutover.
Disable the old app, remove its UI elements (Section 3), and activate Zest.
Place a live test order immediately after go-live to confirm everything works end to end.
Remove password protection and announce the store is live.
Post-Migration Cleanup and Troubleshooting
Once Zest is live, there are a few cleanup tasks to complete and common issues to watch for.
Post-migration cleanup
Remove leftover script tags. Even after uninstalling your old app, script tags may remain in your theme code. Search for the old app's name in your theme templates and delete any remaining tags.
Turn off old Klaviyo flows once all in-flight orders from the old app have been fulfilled and recipients have received their final notifications.
Disable your theme's built-in gift note feature. If your theme includes a native "Add a gift note" toggle in the cart drawer, remove it through the theme editor to prevent it from conflicting with Zest.
Common issues and fixes
Old gift button still appears after disabling the old app.
The button may be controlled by a different installed app (for example, a third-party cart app). Check your other apps and your theme code to find the source.
Competing gift message block in checkout.
If a gift message option from your old app still appears at checkout, go to Settings > Checkout > Customize and remove it. If it can't be removed from there, navigate to the app via Manage app and disable the block from within the app's own settings.
Digital cards not appearing.
Digital cards from the legacy app must be re-uploaded in the new Zest app. Contact Zest to retrieve your previous card image files, then re-upload and configure them in the new app.
