Skip to content

Troubleshooting

Find the symptom, apply the fix. Most of what looks broken in a fresh Signal install is content that hasn’t been connected yet rather than a fault.

  1. Hard refresh. Cmd/Ctrl + Shift + R. Shopify caches assets aggressively and so does your browser.

  2. Check you’re looking at the right theme. If Signal is unpublished, the live storefront is still your old theme. Use Actions → Preview from the theme library.

  3. Test in a private window. Several features deliberately remember state in the browser — the wishlist, compare tray, recently viewed, recent searches, the promo popup, the age gate and the loading screen. A private window gives you a clean slate.

  4. Check the browser console. Right-click → Inspect → Console. A script error from an app can stop the theme’s own scripts from running, and the message usually names the culprit.

  • Upload the archive as supplied; don’t unzip and re-zip it. Re-zipping on macOS often nests the theme one folder deeper, which Shopify rejects.
  • The file must be under Shopify’s 50 MB limit.
  • Try a private window — browser extensions sometimes interfere with admin uploads.
  • Re-download the ZIP in case the first download was truncated.
  • Check your connection, then try again — the editor saves over the network.
  • Disable privacy and ad-blocking extensions on admin.shopify.com.
  • Try another browser.
  • If only one field fails, note which one and contact support with a screenshot.

Product mosaic, Product rail or Dispatch are empty

Section titled “Product mosaic, Product rail or Dispatch are empty”

They need content pointing at them. Open each in the theme editor:

  • Product mosaic → Collection
  • Product rail → Collection
  • Dispatch → Blog

The demo points these at collections and a blog that only exist on the demo store, so on your store they arrive unset.

Any image that came from the demo is a shopify://shop_images/… reference to a file on the demo store. Re-pick every image in the editor from your own files. The sections to check: hero, slideshow, editorial plate, split feature, founder note, callout, lookbook shots, image strip, mega panel promo, and the brand logo and favicon in theme settings.

Add one Plate block per collection and pick the collection in each. Each plate uses the collection’s own image from Shopify, so set a collection image under Products → Collections too — a plate with no image falls back to a bare plate.

The lookbook, size guide or stockists page is nowhere on my store

Section titled “The lookbook, size guide or stockists page is nowhere on my store”

Those are templates, not pages. Create a page and assign the template — see Pages and templates.

A preset page template looks broken in the theme editor

Section titled “A preset page template looks broken in the theme editor”

Create the page in admin first, then pick it from the editor’s template dropdown. Previewing a page template with no page behind it makes several sections look wrong when they aren’t.

It’s empty until a shopper has viewed a product, and it never shows the product you’re currently looking at. Visit two or three products and come back. It’s also per-browser, so it’ll be empty again in a private window.

My dropdown looks empty / stretched across the whole screen

Section titled “My dropdown looks empty / stretched across the whole screen”

A dropdown with two or three plain links renders as a compact panel; four or more, or any third-level links, or a promo with real artwork, makes it full width. If a wide panel looks sparse, remove a child item or drop the promo image. Full logic in Navigation and menus.

My mega panel promo shows on the wrong dropdown

Section titled “My mega panel promo shows on the wrong dropdown”

Menu position counts only menu items that have sub-items. Items without children never open a panel and aren’t counted. Count the parent items in your menu, ignoring the ones with no children, and set the number accordingly.

Artwork is only rendered on wide panels. Give that menu item four or more children, or add a third level under one of them, and the image appears. The heading, text and button render either way.

The header’s Menu setting is pointed at a menu that doesn’t exist. Check the handle under Content → Menus — Signal defaults to main-menu.

Tapping a parent item on mobile won’t open its page

Section titled “Tapping a parent item on mobile won’t open its page”

That’s the expected behavior — the parent row expands the list. Signal adds a row inside the expanded list that goes to the parent’s own page, labelled by the Parent link label setting. It’s skipped when the parent has no real link (# or empty) or when one of its children already points to the same URL. If you need the row, give the parent a real destination that differs from its children.

Enable inventory tracking on the variant in Shopify admin. Then set Run size on the Inventory block to the number you actually made — the default of 400 will make a run of 40 look nearly untouched.

  1. The option must be named one of the values in Theme settings → Swatches → Swatch option names (color, colour, shade, tint by default). Add yours if you use a different word.

  2. card_swatches must be on for swatches on product cards.

  3. Values the built-in color dictionary doesn’t recognize need a line in Custom swatch colors: Clay:#b0653a or Shell camo:https://…/swatch.jpg, one per line.

A variant counts as on sale only when its compare-at price is above its price. Shopify-side discounts and automatic discounts don’t produce a badge, because the theme can’t see them until checkout.

The Rating block reads reviews.rating and reviews.rating_count. If your review app writes to its own namespace instead, the block has nothing to read — check the app’s settings for an option to publish to the standard metafields.

Complementary products come from Shopify’s recommendations API and only exist once you’ve set them in the free Shopify Search & Discovery app. The “You may also like” section next to it uses automatic related recommendations and needs no setup, though it needs enough order history to be interesting.

It only shows when the selected variant is unavailable. Pick a sold-out variant to see it. If every variant is in stock, nothing is wrong.

Local pickup has to be configured per location under Settings → Shipping and delivery → Local pickup, and the variant has to have stock at a pickup-enabled location.

Dynamic checkout buttons (Shop Pay, PayPal) are missing

Section titled “Dynamic checkout buttons (Shop Pay, PayPal) are missing”
  • Buy buttons block → Show dynamic checkout buttons must be on.
  • They’re rendered by Shopify, so they depend on your payment providers and on the shopper’s device and browser. Apple Pay only shows in Safari on Apple hardware, for example.
  • They never appear in the theme editor’s preview — check on the storefront.

Set Theme settings → Cart → Free shipping threshold to a number. An empty value hides the bar by design.

The bar says free shipping but checkout charges for it

Section titled “The bar says free shipping but checkout charges for it”

The theme only displays progress towards a number you typed. Create the matching free-shipping rate in Settings → Shipping and delivery at the same threshold.

  • Theme settings → Cart → Gift wrap product must point at a product.
  • That product has to be available — in stock and published to the online store. The option hides itself otherwise, rather than offering a wrap you can’t sell.

The cart drawer reloads the whole page when I change something

Section titled “The cart drawer reloads the whole page when I change something”

That shouldn’t happen, and it’s the fallback Signal specifically configures away: Shopify’s default cart action does a full page reload when it can’t tell how a theme renders its cart, so the theme points it at the drawer’s own refresh instead. If you’re seeing reloads, an app script is likely configuring the same action first — only the first configuration takes effect. Disable recently installed cart or upsell apps one at a time to find it.

The page scrolls behind an open drawer or overlay

Section titled “The page scrolls behind an open drawer or overlay”

Hard refresh first. If it persists on a specific page, check the console for a script error — a failed app script can prevent the theme’s scroll lock from being applied.

The search overlay shows no suggestions before I type

Section titled “The search overlay shows no suggestions before I type”

Set Theme settings → Layout → Popular searches to a comma-separated list. Recent searches only appear once that visitor has searched before.

Search returns nothing for terms I know exist

Section titled “Search returns nothing for terms I know exist”

Shopify builds its search index asynchronously. Products added in the last few minutes may not be findable yet. Also check the product is published to the Online Store sales channel.

The promo popup or age gate won’t show again

Section titled “The promo popup or age gate won’t show again”

Both remember a dismissal per browser. Use a private window, or change the section’s Version setting — a new version makes every visitor see it again.

Saved items live in the visitor’s browser, so clearing site data, switching device or switching browser loses them. That’s the trade-off for a wishlist that works without an account. The empty state says so (“Saved on this device — no account needed”).

Check Theme settings → Quick view & wishlist → Enable quick view. The button is labelled Peek on product cards. If it’s on and still inert, look for a console error.

  • Give Shopify a moment after changing fonts, then hard refresh. Font preloads are cached hard.
  • Both fonts must come from Shopify’s font library to be preloaded. A font added by other means won’t be.
  • If your heading font looks weak, that’s usually the face rather than a bug — Signal sizes headings to fill their plate, which flatters condensed single-weight faces and exposes delicate ones.

Shorten them. Signal’s display headings are set large by design and the layouts allocate a fixed plate for them; a headline written for a conventional theme is often twice as long as these layouts want.

You probably have several coal-ground sections in a row. Alternate the plane setting (default / white / deep) on the sections that offer it. That alternation is what gives the design its rhythm.

My logo is huge or tiny in the loading screen

Section titled “My logo is huge or tiny in the loading screen”

Theme settings → Loading screen → Logo width sets the longest edge. A square logo is capped to a square; a wide one stays wide.

A section’s styling looks wrong after I edited theme code

Section titled “A section’s styling looks wrong after I edited theme code”

Section styles are defined inside each section itself, and those are loaded after signal.css — so a rule in a section wins over the same rule in the global stylesheet. If a global change isn’t taking effect, check whether the section redefines it.

The theme looks broken after uploading a new version

Section titled “The theme looks broken after uploading a new version”
  1. Hard refresh and clear the cache.

  2. Check Online Store → Themes → Theme library — Shopify keeps recent versions of a theme’s settings; you can also publish the duplicate you made before updating.

  3. If you had edited theme files, the new upload doesn’t contain your edits. Reapply them from version control or your notes.

  4. Contact support with the version you came from and the version you’re on.

Theme settings don’t transfer between uploads — each upload is a separate theme. Re-enter them, or copy config/settings_data.json from the old theme to the new one.