Why is my drawer not showing?
The most common question, and usually answered in one call.
Ask: "My cart drawer isn't showing on the storefront. What's wrong?"
Step 1 — Ask the store, not the theme
Call get_setup_health. It reaches a conclusion: normal is true when nothing is wrong, and
issues names each cause with the fix.
| Code | Severity | Fix |
|---|---|---|
APP_EMBED_DISABLED | Severe | Turn on the app embed in the theme editor, on the live theme |
THEME_NOT_OS2 | Severe | Switch to an Online Store 2.0 theme, or contact support about the script-tag setup |
CART_DRAWER_DISABLED | Severe | Switch the drawer on in the app |
NO_SETTINGS | Severe | Open the Cart Editor and save the drawer settings once |
NO_TRANSLATION | Light | Optional. Drawer text has not been configured yet |
NO_UPSELL_SETTINGS | Light | Optional. Upsell has not been set up yet |
If normal is true and issues is empty, the drawer is able to render and the cause is
elsewhere. Go to step 2.
App embed settings do not carry across when you publish a different theme. A drawer that
"suddenly disappeared" is very often a theme that was published without the embed being switched on
in the new one — which is exactly what APP_EMBED_DISABLED on the live theme is telling you.
Step 2 — Check where the drawer is set to run
The drawer can be limited to some pages. Call get_drawer_settings with sections: ["general"]
and read the display settings: the include and exclude paths and the cart-page behaviour. A drawer
that works on one page and not another is almost always a path rule.
Step 3 — Check the feature, not the drawer
If the complaint is about one part — the reward bar, an upsell, the announcement — the drawer itself may be fine while that feature is switched off.
Call get_drawer_settings and read which features are on: upsell, reward bar, announcement, gift
wrap, shipping protection. get_drawer_settings can return one section at a time, which keeps the
answer short.
NO_UPSELL_SETTINGS from step 1 is the related case: nothing is configured for the upsell to show.
Step 4 — Fix it, if you want to
On a read and write connection the assistant can switch a feature back on with
update_drawer_features. It should tell you what it is about to change and wait for your go-ahead.
Theme-side causes (the app embed, the theme itself) are fixed in the theme editor.
What you finish holding
Either a named cause with a fix, or a specific ruling-out: the drawer can render, it is allowed to run on this page, and the feature in question is on or off. That is a far better support ticket than "the drawer isn't showing".