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.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us