storefront theme
Check theme compatibility
Learn how to check theme compatibility with a safe Juniper & Trail example, shopper impact, options, and recovery checks. Test a duplicate theme first when markup, quick-view cards, image carousels, or lazy loading differ from standard product cards. Record selectors or placement limitations before publishing the theme.
Before you begin
- Theme-editor access
- A published theme or safe duplicate for testing
- Desktop and mobile storefront preview access
Confirm the shop, current status, and intended consequence before changing anything. Use read-only status, preview, or history evidence first.
Step-by-step setup

Choose the banner template and give this banner a recognizable name.
Use Design and Placement to switch between appearance and location controls.
Configure the banner background, optional image, and link behavior.
Review the live desktop banner preview before saving.
- Open a duplicate of the merchant theme for the intended shop and confirm the current record and status.
- Exercise product cards, image carousels, quick view, lazy loading, sticky headers, and section re-rendering with Badgy enabled.
- Read the inline summary, warning, or preflight before submitting; do not repeat a command while background work is running.
- Record unsupported selectors/placements and retest after theme updates before publishing.
- Confirm the resulting status and History/audit evidence, then spot-check Shopify or the storefront when the action has external effects.
Test a duplicate theme first when markup, quick-view cards, image carousels, or lazy loading differ from standard product cards. Record selectors or placement limitations before publishing the theme.
Juniper & Trail example
Juniper & Trail verifies check theme compatibility on its home page, collection grid, and Ridgeway jacket product page in desktop and mobile previews. The documentation fixture uses realistic products, inventory states, variants, collections, and protected exclusions so the preview exercises the same decisions as a merchant catalog.
What shoppers will see

Confirm the campaign announcement and Shop call to action at the top of the store.
Check the badge and adjusted pricing on an eligible product card.
Compare another product card to verify consistent campaign treatment.

Confirm the campaign announcement and Shop call to action fit the mobile header.
Check that the badge remains readable on the mobile product card.
Scroll through additional products to verify the collection layout stays usable.
Theme extensions read Badgy campaign metafields and show nothing when eligible configuration is absent. Check the relevant result from product through cart where applicable. For shopper-facing work, compare desktop and mobile and verify both an eligible and an ineligible item.
Common mistakes and troubleshooting
- Acting on the wrong shop. Confirm the Shopify store and campaign before following Check theme compatibility.
- Trusting a stale preview. Refresh after catalog, schedule, discount, theme, locale, or market changes.
- Repeating a background command. Read status and History first; retry only when Badgy presents a recoverable failure.
- Checking only one viewport. Verify desktop and mobile in a private storefront window.
If the status reports revoked authorization, reconnect Shopify before retrying. If the result still differs from the preview, preserve the campaign ID and approximate time, then open support from this identified shop. Never send customer data, access tokens, or full catalog exports in feedback.
Related guides
Options reference
| Option | Use it when | Consequence | | --- | --- | --- | | Standard card | Baseline integration | Verify badge container | | Quick view/dynamic section | JavaScript replaces markup | Verify rehydration | | Theme update | Markup can change | Run compatibility check again |
Badgy behavior in this guide is reviewed against the repository's shipped UI, service rules, and feature design documents. Shopify-owned theme, Markets, Flow, billing, and discount behavior can also depend on the store's Shopify configuration; consult the Shopify Help Center for that platform configuration.