Whether you're using Multiship Checkout for multiple recipients or Gift Notes for single-recipient gifting, every order lands in Shopify as a standard paid order that triggers your existing fulfillment stack, exactly like any other Shopify order.
Overview: How Zest Creates Orders in Shopify
Zest integrates directly with Shopify via the Shopify Admin API. When a gifter checks out and payment is processed, Zest creates orders in Shopify on your behalf. These orders are native Shopify orders — not drafts — and appear in your main order queue immediately.
Before you get started, confirm the following:
Your store is on Shopify Plus with the Zest Gift Notes app installed.
You have completed onboarding with your Zest Customer Success Manager (CSM).
Your fulfillment tools (ShipStation, 3PL, ERP, etc.) are connected to Shopify as usual.
There are two Zest consumer gifting products that create orders in Shopify:
Gift Notes: For single-recipient gift orders flowing through Shopify's native checkout.
Multiship Checkout: For multi-recipient gift orders that use a Parent Order / Child Order structure.
Order Timing: When Orders Appear in Shopify
Multiship Checkout orders
For Multiship direct-ship orders, Child Orders are pushed to Shopify immediately after the gifter completes payment. In most cases, orders appear in Shopify within moments.
Gift Notes orders
Gift Notes orders flow through Shopify's standard checkout. Once the gifter completes checkout, the order appears in Shopify immediately with gift note data attached — no additional processing step is required.
Order Structure: Parent Orders, Child Orders, and Metadata
Multiship Checkout: the Parent/Child model
Multiship Checkout uses a Parent Order / Child Order structure in Shopify:
Parent Order: Created first as a draft order in Shopify. It holds the gifter's payment and the full recipient list. Once all Child Orders are created, the Parent Order is automatically canceled (with no refund issued and inventory restocked). It is tagged zest-parent and contains the original cart metadata.
Note: Shopify marks the Parent Order as canceled, not deleted. You can still view it in Shopify for reference. The staffNote on the cancellation reads: "Splitting into child orders."
Child Orders: One standard paid Shopify order is created per recipient. Each Child Order contains:
The recipient's unique shipping address.
Gift message and associated gift metadata.
A tag linking it back to the Parent Order.
The gifter's email address and customer record as the order's primary contact.
Gift Notes: single-recipient orders
Gift Notes orders do not use the Parent/Child order structure. A single Shopify order is created per checkout, with gift note data stored in configurable fields (order attributes, order notes, or metafields depending on your configuration).
Payment Gateway Display and Customization
By default, Shopify shows the payment gateway name from the original parent transaction. Child Orders include a custom order attribute called _parent_order_gateway that records the gateway name from the Parent Order (for example, "Stripe" or "Shop Pay").
The _parent_order_gateway attribute on the order is available for reference and for downstream system mapping. If your ERP requires a specific gateway label, contact your CSM to configure the attribute value during onboarding.
Customer and Billing Data Mapping: Who Appears as the Customer
For Multiship Checkout, the gifter is set as the customer and primary contact email on all Child Orders. This is intentional, and it ensures:
Shopify and downstream tools do not accidentally send fulfillment or order confirmation emails to gift recipients (which would spoil the surprise).
The gifter can be contacted if there is a fulfillment issue.
The recipient's name and shipping address are on the Child Order shipping address. The recipient's email and any gift-specific details (message, delivery timing) are stored in order metafields.
Billing address: By default, the billing address on Child Orders may be left blank or copied from the parent, depending on your configuration. If your fulfillment system requires a billing address, your CSM can enable the setting to copy the Parent Order billing address to all Child Orders.
Order Tags, Metadata, and Custom Fields
Zest automatically applies the following to every order:
Field | Value |
Parent Order tag |
|
Child Order tag |
|
Parent Order identifier attribute |
|
Child-to-parent link attribute |
|
Original payment gateway attribute |
|
Gift data | Stored as a metafield (namespace: zest, key: gift) containing sender info, recipient info, message, and delivery timing |
Child/parent IDs | Available as metafields on Child Orders |
Additional configurable metadata includes:
Gift note text (configurable as order notes, order attributes, or metafields).
Scheduled ship or delivery date (configurable as a metafield or order attribute).
Custom fields that match your fulfillment tool or ERP requirements.
The format of all metadata fields is set during onboarding and can be adjusted by your CSM at any time.
Tip: If your warehouse or ERP uses custom metafields, coordinate with your CSM before adding or modifying Shopify metafield definitions. Conflicts between your store's metafield definitions and Zest's configuration can cause orders to fail to push to Shopify.
Dollar Amounts in Shopify Orders
By default, Zest creates orders in Shopify with line item pricing intact. If your ERP requires itemized cost breakdown, your CSM can configure your integration to include product cost, shipping, and tax as separate line items on each Child Order.
This is the recommended setup for stores using ERPs such as NetSuite, QuickBooks, or JDE.
If you need to change this setting, contact your CSM. It is recommended to make changes at the start of a month to keep reporting clean.
Fulfillment Location Assignment
Zest does not control which fulfillment location is assigned to a Zest order in Shopify. Once a Child Order is created, Shopify's standard routing rules — or your connected fulfillment tools — determine the location assignment. Zest orders follow the same warehouse assignment logic as any other Shopify order.
Troubleshooting: Delayed or Missing Orders
An order pushed successfully but the shipping address is missing
In rare cases, special characters in a recipient's name (for example, a < character at the start of a name) can cause Shopify to accept the order but silently strip the shipping address. If you see orders in Shopify with no shipping address, check recipient name data for unusual characters and contact your CSM.
Orders failing to push due to metafield conflicts
If a metafield definition in your store conflicts with Zest's configuration, orders will fail to push until the conflict is resolved. For example, if you add a scheduled date metafield definition that uses the same namespace/key as Zest's configuration, orders will fail. Coordinate any metafield changes with your CSM before making them.
Warehouse or fulfillment system is pulling Parent Orders before Child Orders are created
If your warehouse system pulls orders in scheduled batches (for example, every 15 minutes), it may pick up a Parent Order before its Child Orders are finished creating. Consider adding hold logic to your fulfillment integration to wait for Child Orders before acting on a Multiship batch.
Shopify Collective declined a Child Order
If you use Shopify Collective and a Child Order is declined, you can manually resubmit the affected Child Orders from the Zest dashboard. If this happens repeatedly, contact your CSM to investigate the Collective setup.
