The Hidden Properties the App Adds to Orders
You may see entries like __essential_cart_drawer_upsell_offer_id on an order, a draft order or a packing slip. This article explains each one, why it's there, and how to keep it off documents customers see.
Why they're there
The app tags cart lines and the cart so that:
- spend tier and upsell discounts apply at checkout to the right lines
- free gifts are recognised and never counted toward a goal
- the Analytics page can count what the drawer added to each order
They start with two underscores, so Shopify hides them from customers in the cart and at checkout. They show up in your admin and in apps that print order data.
Line item properties (on a product line)
| Property | Added to |
|---|---|
__essential_cart_drawer_upsell_id |
Any line the app added: upsell offers, free gifts, order upsells and Sticky Add-to-Cart. The value is your cart settings ID |
__essential_cart_drawer_upsell_offer_id |
Products added from an upsell offer (the ID of the offer that added it) |
__essential_cart_drawer_reward_tier_id |
Free gifts added by a spend tier |
__essential_cart_drawer_order_upsell_id |
Order upsells (shipping protection, gift wrapping) |
__essential_cart_drawer_sticky_atc_id |
Products added from the Sticky Add-to-Cart bar |
__essential_cart_drawer_subscription_upsell_id |
Lines switched to a subscription with the drawer's Subscribe button |
Cart attributes (under the order's Additional details)
| Attribute | What it holds |
|---|---|
__essential_cart_drawer |
Marks the cart as served by the drawer, for analytics |
__essential_cart_effective_spend |
The cart value after order-level codes, in cents. Used by total-price spend tier rewards when a manual order code is applied |
__essential_cart_reached_tiers |
How many spend tier goals the cart reached. Used for analytics |
None of these are notes from your customer. The customer's own order note shows as the order note, not as these entries.
Can I turn them off?
No. The discounts, free gifts and analytics depend on them. Removing them would stop rewards from applying.
Hide them on packing slips and invoices
Shopify's packing slip and order printer templates can skip properties that start with an underscore. In your template, wrap the property loop in a check like:
{% for p in line_item.properties %} {% unless p.first contains '__' %} {{ p.first }}: {{ p.last }} {% endunless %} {% endfor %}
Edit the template in Shopify admin under Settings > Shipping and delivery > Packing slips, then Edit template, or in your order printer app. Ask us if you'd like help with your template.