Skip to main content

How to Handle Shopify Plus Requirements and Checkout Extensibility

Updated yesterday

Zest's consumer gifting products — Gift Notes and Multiship Checkout — embed directly into the native Shopify checkout experience. This requires Shopify's checkout extensibility platform, which is only available to Shopify Plus merchants. This article explains what that means for your store, how to configure key settings, and how to troubleshoot common issues.

Shopify Plus Requirement Overview

Zest's Gift Notes and Multiship Checkout require a Shopify Plus plan.

Shopify Plus is Shopify's enterprise tier, designed for high-growth brands. It unlocks advanced checkout customization capabilities that are not available on Basic, Grow, or Advanced plans.

Before you get started, make sure you have:

  • An active Shopify Plus subscription.

  • The Zest app installed and connected to your store.

  • Access to your Shopify checkout editor (Shopify Admin > Online Store > Customize > Checkout).

If you are not yet on Shopify Plus, jump to this section to see your options.

Why Shopify Plus Is Required (Checkout Extensibility Explained)

Zest's gifting features live directly inside Shopify's checkout page — not on the cart page or a separate site. This is made possible by Shopify checkout extensions, a platform feature that allows approved third-party apps to inject custom UI and logic into the native checkout flow.

Shopify only makes checkout extensions available to Plus merchants. This is a Shopify platform decision, not a Zest design choice. Without Plus, the APIs needed to render the gift note input, the multi-address selector, and the checkout logic are simply not accessible.

Here's what checkout extensions allow Zest to do:

  • Display the gift note input field directly on your checkout page.

  • Allow customers to split a cart into multiple shipments going to different recipients.

  • Block checkout progression until required gift fields are completed (so orders always arrive with the right information).

This integration is entirely managed through the Shopify checkout editor. No coding or developer work is required on your end.

What If I'm Not on Shopify Plus?

If your store is not on Shopify Plus, the checkout-integrated gifting features (Gift Notes in checkout and Multiship Checkout) are not available.

However, there is an alternative for multiship/multi-recipient gifting:

Brands on any Shopify plan can link to a Zest corporate gifting storefront from their main website — for example, a "Ship to multiple addresses" button on product or cart pages. Several brands use this approach effectively to offer consumer-facing multi-recipient gifting without a Shopify Plus requirement.

If you're considering upgrading to Shopify Plus, keep in mind that Shopify has not announced a timeline for making checkout extensions available to non-Plus merchants. While Shopify continues to expand its platform capabilities, the checkout extensibility feature has remained Plus-exclusive since its launch.

Shop Pay Compatibility and Configuration

Zest's checkout extension is fully compatible with Shop Pay in production. Because the extension is natively embedded in the Shopify checkout, it works alongside all of Shopify's payment methods, including Shop Pay, Apple Pay, and Google Pay.

To ensure the Zest gift block appears when customers use Shop Pay:

  1. Go to your Shopify Admin and open the Checkout Editor (Online Store > Customize > Checkout).

  2. Locate the Zest app block in the editor.

  3. In the block settings, find and enable the Include Block in Shop Pay (or Show in Shop Pay) toggle.

  4. Click Save.

If you don't see the Shop Pay toggle, check whether there is a separate hidden or collapsed section in the checkout editor that controls Shop Pay behavior. Some stores have a "Shop Pay" section that controls which app blocks appear for signed-in Shop Pay users.

Important: If your store previously disabled Shop Pay because customers were defaulting to their own saved address instead of the gift recipient's address, this is now resolved. Zest's Multiship Checkout handles this automatically — the Parent Order is modeled as a non-shipping order so that Shop Pay does not pre-populate the sender's saved address in place of recipient addresses. You can safely re-enable Shop Pay if you turned it off for this reason.

About Apple Pay and Google Pay: These express checkout methods are also supported.

Headless Shopify Compatibility

Even on headless Shopify storefronts (where the front-end is custom-built outside of Shopify's Liquid theme system), the Shopify checkout page itself is always hosted and rendered by Shopify. Because Zest's checkout extension lives on that Shopify-hosted checkout page, it works alongside headless implementations.

For the cart page experience (the gift button that appears before checkout):

The standard Zest cart button uses Shopify's /cart.js API and is designed for Online Store (Liquid-based) storefronts. If your storefront is headless, you will need to work with your development team to integrate the Zest cart entry point into your custom cart experience. Zest provides a custom script for this purpose that can be dropped into a headless setup.

Developer note: On headless storefronts, custom cart hydration logic and redirects can conflict with Zest's checkout preview flow. When the checkout detects no cart from the expected source, it may redirect back to the headless site. To allow Zest testing in this environment, developers should create a preview mode flag or temporarily disable those redirects.

Testing and Preview Mode Limitations

Shopify's checkout preview mode has known limitations with checkout extensions. If you are testing your checkout configuration before publishing, you may encounter the following:

The Zest block doesn't appear in preview mode

Checkout extensions often do not render correctly in Shopify's preview checkout configuration, especially when Shop Pay is involved. This is a Shopify preview environment limitation, not a bug in Zest.

To test reliably:

  1. Log out of Shop Pay entirely before previewing.

  2. Test as a guest customer (no Shop Pay sign-in).

  3. Use the explicit Preview Shop Pay button in the checkout editor rather than the standard Preview button.

  4. Or, publish the checkout configuration to production — the extension will work correctly for all real customers.

The multiship button shows as unavailable during testing

If the Multiship Checkout button is directing customers to a page that says multiship is unavailable, your checkout configuration may still be in draft/sandbox mode. The Zest app blocks must be in a published checkout configuration (not just saved in preview/sandbox) for Multiship to function. Publish your checkout configuration to resolve this.

Note: Shopify does not support simultaneously testing a preview theme with a preview checkout configuration. Choose one to preview at a time.

Shop Pay creates a redirect loop in preview mode

If you are signed into Shop Pay globally and previewing a checkout configuration, Shopify can create a redirect loop or remove app blocks from the view. This is a preview-only issue — your actual customers will not experience this in production. Sign out of Shop Pay before testing to avoid it.

Shop Pay thank-you page may not render during testing

When testing with Shop Pay in preview mode, the standard Shopify thank-you page (which includes gift confirmation details) may not appear. This is a preview-mode quirk. In production, the thank-you page renders correctly for customers.

Checkout configuration disappears in preview when multiship is selected

In preview mode, selecting Multiship Checkout may cause the checkout configuration to appear to disappear. This is expected Shopify behavior — the Zest app blocks will not render on the Multiship checkout page unless the configuration is published. Publish your configuration to test end-to-end.

Troubleshooting Common Checkout Issues

The gift note field is not appearing at checkout

  • Confirm your Shopify plan is Shopify Plus.

  • Confirm the Zest app block is added to your checkout configuration in the checkout editor.

  • Confirm the checkout configuration has been published (not just saved in draft/preview mode).

  • If Shop Pay is involved, confirm the Include Block in Shop Pay toggle is enabled in the block settings.

Customers are completing checkout without filling in gift information

  • In your Shopify Admin checkout settings, confirm the Allow App to Block Checkout setting is enabled. This setting allows Zest to require customers to complete gift fields before proceeding.

  • This setting is especially important when express checkout methods (Shop Pay, Apple Pay, Google Pay) are enabled.

Multiship button directs customers to an "unavailable" page

  • Your checkout configuration is likely still in sandbox/draft mode. Publish the configuration in the Shopify checkout editor.

Unrecognized billing addresses appearing on multiship orders

  • This is caused by Shop Pay's native behavior during checkout. When customers use Shop Pay and add multiple shipping addresses through multiship, Shop Pay may automatically populate the billing address field with the most recently entered shipping address. This is a Shop Pay platform behavior, not a Zest bug. If this creates issues in your order management or ERP, contact Zest support — Zest has a setting to copy the gifter's billing address from the Parent Order onto each Child Order for downstream integrations.

Gift confirmation details not appearing on the thank-you page after a Shop Pay order

  • This may be a preview-mode issue. Test in production with a real order to confirm. If the issue persists in production, contact Zest support.

The checkout extension stopped working after I updated my checkout theme

  • If your store uses heavily customized Shopify Plus checkout modifications, changes to your theme can sometimes affect app block positioning. Re-open the checkout editor and confirm the Zest block is still placed and configured correctly after any theme update.

Custom Checkout Considerations and App Conflicts

Shopify Plus allows merchants to customize the checkout page beyond what lower-tier plans support. If your store has custom checkout modifications, it's important to be aware of how they may interact with Zest.

Common sources of conflicts include:

  • Ship-date calendar or delivery scheduling apps: Some stores disable Shop Pay, Apple Pay, and Google Pay because delivery-date apps don't work with express checkout. If you later re-enable those payment methods, Zest's app block will automatically become visible in those express checkout flows — this is expected behavior and generally desirable.

  • Custom discount handling: Custom discount logic or apps that modify line item attributes may interact unpredictably with Zest's Parent Order and Child Order structure.

  • Pickup and delivery options: If your checkout includes pickup or local delivery options, these may conflict with Zest's multi-address logic. This should be audited before deploying Zest.

  • Order attribute modifications: Other apps that inject order attributes into checkout may conflict with Zest's attribute injection for gift information.

Recommendation: Avoid implementing or making changes to checkout extensions during or immediately before peak sales periods (holidays, major promotions). App conflicts in Shopify checkout sometimes only surface during implementation. Build in time to test during a low-traffic period.

Stores not yet on the new checkout extensions environment

If your store's production environment has not yet been migrated to Shopify's current checkout extensions platform (while your sandbox has), some features may behave differently between environments. For example, order attributes may appear internally but the gift page link on the thank-you/order status pages may not appear in production until the migration is complete. Contact Shopify support if you suspect your store is in a mixed-environment state.

Did this answer your question?