Shopify app block
not appearing.
The app is installed, the merchant opens the theme editor to add the block, and it's not in the Add block menu. Almost always a settings-side issue, not a code issue: an embed toggle that's off, a target mismatch, or a section schema that doesn't accept app blocks. Five ranked causes below, a 2-minute diagnostic checklist a merchant can run themselves, and a section schema patch for the one cause that requires editing code.
Symptoms
- App block missing from Add block menu: the app is installed and visible in the Apps admin, but its block never appears as an option when adding a block to a section.
- App embed list is empty: Theme settings → App embeds shows no entries, or shows the app but the toggle is off.
- Block shows in some sections but not others:addable inside the default Dawn/Horizon section but absent from a custom section a developer built.
- Block shows on one template but not another:available on the product page but missing on home or collection.
- Block disappeared after a theme duplicate: was working on the previous theme; not present on the new one.
2-minute diagnostic checklist
Run these five checks in order. Most cases resolve at step 2 (app embed toggle off) or step 4 (template scope). If you reach the end without the block appearing, it's either cause #3 (section schema) or cause #5 (wrong theme).
- 01Confirm you're editing the active theme.
Open Theme Customizer. Check the theme name at the top. Is it the published/active theme, or a duplicate? App installations are scoped per-theme, so a duplicate won't have the app extension installed.
- 02Check the App embeds panel.
Theme settings → App embeds. Confirm the app appears in the list and its toggle is on. Many app blocks are inert until this toggle is enabled. Flipping it on resolves the most common case.
- 03Try Add block in the page template.
Open the template you expect the block on (product, home, collection). Click the section you want the block inside. Click Add block. Look for the app block in the list.
- 04If absent, switch templates and try again.
Switch to a different template (e.g. from home to product) and repeat step 3. If the block now appears, the extension is scope-restricted (cause #4). The app's TOML declares which templates it's available on.
- 05Verify the app is loading on the storefront.
Open a live page on the storefront. View source (right-click → View page source) and search for the app's script handle or domain. If absent, the app embed isn't loading, usually because it's installed on a different theme (cause #5).
Most likely causes, ranked
- 01App embed not enabled.
Many app blocks require an "App embed" toggle in Theme Customizer → Theme settings → App embeds. Until that toggle is on, the app's section and block targets are inert and the merchant sees nothing in the Add block menu. Frequency: most common.
Fix: open Customizer → Theme settings → App embeds → flip the toggle for the app. Save. Re-open the page template and try Add block again. The block should now appear.
- 02Block target mismatch in extension TOML.
The app extension's
target(header / body / footer / section) doesn't match where the merchant is trying to add it. A body-target block won't appear in the header section's Add block menu even when the app embed is on.Fix: check the app's documentation for which sections support the block. If it's a body-only block, add it to a body section (e.g. main-product), not the header or footer. If you control the extension, update the
targetin the block's TOML. - 03Section schema missing
{ "type": "@app" }.For an app block to be addable inside a custom or third-party section, that section's schema
blocksarray must include{ "type": "@app" }. Default Dawn and Horizon sections include it; older or custom themes often don't.Fix: open the section file (e.g.
sections/your-section.liquid) and add the@appentry to the schema's blocks array. Patch shown in the Fix section below. This is the only cause that requires editing code. - 04Extension scoped to specific templates.
The app's extension TOML restricts the block to e.g.
templates = ["product"]. Trying to add it on the home or collection template silently fails. the block is hidden from the Add block menu rather than showing as disabled.Fix: check the app's docs for supported templates. Use the block on a supported template, or, if you own the extension, broaden the
templatesarray in the block's TOML. - 05App installed on a different theme.
Shopify scopes app installations per-theme. After duplicating a theme or restoring a backup, app theme extensions don't carry over to the new theme. The app shows in the Apps admin but its blocks are absent from the active theme.
Fix: open the app's listing in Apps, find the "Add to theme" or "Install" button (most apps surface this once they detect a theme-extension mismatch), and re-install on the active theme. Save. Re-open Customizer.
Section schema patch (cause #3)
Only relevant when the merchant is trying to add the app block inside a custom section that doesn't already accept app blocks. The patch is one entry: { "type": "@app" }, added to the section schema's blocks array. Filename below is illustrative; edit your actual section file.
{% comment %}
Jelonyx · Section schema patch: accept app blocks
Add { "type": "@app" } to the section's blocks array so installed
app extensions can be added inside this section.
Source: jelonyx.com/shopify/fix/app-block-not-appearing
{% endcomment %}
{% schema %}
{
"name": "Your section",
"settings": [],
"blocks": [
{
"type": "feature",
"name": "Feature",
"settings": []
}
/* ---------- BEFORE ----------
blocks array stops here.
Result: app blocks never show in the Add block menu
for this section, even when the app embed is on.
-------------------------------- */
/* ---------- AFTER ----------
Add the @app entry below. Comma after the previous
block object, then the @app object. No settings, no
name; Shopify treats it as a marker that this section
accepts any installed app block whose target matches.
-------------------------------- */
,
{ "type": "@app" }
],
"presets": [
{ "name": "Your section" }
]
}
{% endschema %}After saving, reload the Customizer. The section now accepts any installed app block whose target matches. and the block appears in the Add block menu.
When to call a developer
- You own the app extension: debugging the TOML
target,templates, andstylesheetdirectives, plus the extension build pipeline, is faster with someone who's shipped a theme app extension before. - The app vendor is unresponsive and you need a workaround (replicating the block's output in custom Liquid while you wait, or migrating to a different app).
- App embed loads but breaks layout: the toggle is on, the block renders, but it injects CSS or JS that conflicts with the theme. Different fix; this page covers non-appearance.
- Multi-theme rollout: you maintain several themes (live, staging, seasonal) and need each one configured with the same app embeds and blocks consistently.
Need this fixed today?
App blocks power reviews, upsells, search, and marketing pixels: the things merchants pay monthly app fees for. When the block doesn't render, the merchant is paying for an app the customer never sees. We diagnose the exact toggle, target, or schema mismatch, install the patch, and verify across every page template the app is meant to run on.