Playbook · Shopify recently viewed products section blank or missing

Shopify recently viewed products not showing.

Written for a Shopify DTC owner whose Recently viewed / Recently browsed products section is blank or never mounts — theme section or app block missing from the live home / product template, recently-viewed App embed unpublished, browser localStorage cleared or blocked so the history never writes, or Customer Privacy / consent denying the marketing or analytics cookie the widget needs. DIY-first: prove theme sections vs app embeds vs localStorage vs Customer Privacy; repair the live templates; retest after browsing two or three products on the live storefront. Distinct from wishlist / save for later button missing, size chart / fit guide not showing, product recommendations / related products (Search & Discovery or recommendation apps that suggest similar SKUs — not your own browse history), and storefront predictive search empty or wrong. No earnings claims, no invented case studies.

Nico at Latch AI Ops · Sep 8, 2026 · ~12 minute read

Buy the 72-hour install — $997Wishlist missingSize chartMerchant FAQ

01

Recently viewed blank or missing — not wishlist, not size chart, not product recommendations, not search.

Several storefront rows can look like “products I might want again.” They do not share a settings panel. This page is only when a Recently viewed / Recently browsed products section never appears, or mounts empty after the shopper has viewed products (theme sections, app embeds, localStorage, Customer Privacy). Wishlist / save for later heart missing is shopify-wishlist-button-missing. Size chart / fit guide not showing on PDP is shopify-size-chart-not-showing. Product recommendations / related products (algorithmic “You may also like,” Search & Discovery product recommendations, or related-product apps) are a different product — those suggest similar SKUs, not the shopper’s own browse history. Storefront predictive search empty or wrong is storefront-search-not-returning. This page is only: recently viewed products section blank or missing.

Six ordinary reasons the section never fills: the recently-viewed theme section or app block was never added to the live home / product / collection template, the section is on a draft theme only, the recently-viewed App embed is off on Current, the widget writes to localStorage but private browsing / storage blockers / cleared site data wipe it, Customer Privacy / consent denies the marketing or analytics cookie the app needs before it can track views, or support tested wishlist / size chart / product recommendations / search and called it “recently viewed.” Walk them in that order. You already pay for Shopify.

02

Prove theme sections vs app embeds vs localStorage vs Customer Privacy on the live storefront.

On the live storefront (not theme editor preview), open two or three products on the failing market / device, then return to home or a product page that should show Recently viewed. Capture: whether any Recently viewed / Recently browsed heading or product grid exists in the DOM (View Source / Elements), Online Store → Themes → Customize → home and product JSON templates for a recently-viewed section or app block, Theme settings → App embeds for the recently-viewed app on Current, DevTools → Application → Local Storage for keys the widget writes after a product view, and Customer Privacy / consent banner state for marketing and analytics cookies. Screenshot each. One failing path is enough to stop guessing.

Also prove the negative: a wishlist heart missing is not this page; a size chart missing is not this page; a “You may also like” / related products row empty is product recommendations, not browse history; an empty search dropdown is storefront-search-not-returning. If App embeds fail across many apps, that is app-embed-not-loading.

03

Recently-viewed theme section / app block unpublished or missing from live templates.

Most OS 2.0 themes and recently-viewed apps mount the row as a section or theme app block on home, product, or cart. After a theme swap, section-group edit, or “clean up unused sections,” the block often disappears from the live JSON template while the app still looks installed in Admin. Draft themes can show the section in Customize while Current does not.

Fix path: Online Store → Themes → Customize on the Current theme. Open the home and product templates shoppers hit after browsing. Add the theme’s Recently viewed section or the app’s Recently viewed block. Confirm section settings (heading, product limit, hide when empty) match the design. Save. Hard-refresh the live storefront after viewing products again. If JSON templates / section groups fail to load at all, that is json-templates-section-groups-broken.

04

Recently-viewed App embed off on Current, draft-only, or blocked by script managers.

Recently-viewed apps often need an App embed (plus sometimes a theme app block) before any browse history writes. The app can look “installed” with settings filled while the embed is toggled off on Current, enabled only on a draft, or blocked by a consent / script manager / ad blocker that strips the vendor script.

Fix path: Customize on the live theme → Theme settings → App embeds. Enable the recently-viewed / recently-browsed embed. Save. Retest live after a multi-product browse. If many embeds fail together (reviews, pixels, consent), chase app-embed-not-loading first. If a cookie banner blocks scripts before consent, see cookie-banner-blocking-checkout — same consent surface can also starve browse-history widgets.

05

localStorage empty / blocked, or Customer Privacy denying the cookie the widget needs.

Most recently-viewed widgets store product handles or IDs in localStorage (or a first-party cookie) when a shopper opens a PDP. Private browsing, “clear site data,” Safari ITP, storage access denial, and some privacy extensions leave the section permanently empty even when the theme section and App embed are correct. Separately, Shopify Customer Privacy / a consent banner that defaults marketing or analytics to denied can prevent the app from recording views until the shopper opts in.

Fix path: After viewing products with DevTools open, confirm a localStorage (or cookie) key appears for the widget. If nothing writes, check the console for storage / Privacy errors, disable one extension at a time, and retest in a normal (non-private) window. In Admin → Customer Privacy / consent banner settings, confirm the category the recently-viewed app documents (often marketing or analytics) is allowed when the shopper accepts — then accept cookies on the storefront and browse again. Do not “fix” this by disabling consent entirely if you need GDPR/CCPA compliance; align the app’s required category with what the banner grants.

06

You tested wishlist, size chart, product recommendations, or storefront search instead.

Wishlist / save for later button missing is shopify-wishlist-button-missing. Size chart / fit guide not showing is shopify-size-chart-not-showing. Product recommendations / related products (“You may also like,” Search & Discovery recommendations, related-product apps) are algorithmic similar SKUs — not the shopper’s browse history; do not chase recommendation settings when Recently viewed never mounts. Storefront predictive search empty or wrong is storefront-search-not-returning. Search & Discovery filters empty is search-and-discovery-filters-empty.

The only honest test for this page: recently viewed products section is blank or missing — fixable with a live recently-viewed theme section / app block, an enabled App embed, writable localStorage after browse, and Customer Privacy aligned to the cookie category the widget needs — not wishlist alone, not size chart alone, not product recommendations alone, not search alone. Capture sections + embeds + storage + consent, fix the path. Anything else is a different product.

07

When to stay DIY vs pay $997.

Stay DIY if you can spend one afternoon on the list above: prove theme sections vs app embeds vs localStorage vs Customer Privacy, add the recently-viewed section to the live templates, enable the App embed on Current, confirm storage writes after browse, align consent for the required cookie category, and stop confusing wishlist / size chart / product recommendations / search with a missing recently-viewed row. That is the whole playbook. No agency required. Short answers also live on the merchant FAQ. Related pages: shopify-wishlist-button-missing, shopify-size-chart-not-showing, storefront-search-not-returning, search-and-discovery-filters-empty, app-embed-not-loading, cookie-banner-blocking-checkout.

Pay for help when the work is not the recently-viewed row — it is connecting the stack you already have so lead capture is not dying in DMs, storefront and checkout-ready exceptions land in a channel you already check, and the live store is one workflow instead of a spreadsheet plus a Slack bot you forgot. That is the Latch AI Ops install.

What $997 USD one-time buys: lead capture on the live store, ops alerts in a channel you already check, and a checkout-ready workflow. 72 hours after collaborator access, not after payment. One live Shopify store. Access plus a delivery thread. Store URL collected at checkout. Not a SaaS seat, not a recently-viewed-app rebuild, not an earnings number.

Other shops' public ranges, not testimonials: a checkout / ops install typically runs $500–$2,500. A full ops consulting block typically runs $2,000–$5,000. $997 is the cheap end of that work, sold as a 72-hour install of three systems — not as an earnings number or recently-viewed-uptime guarantee.

What it does not buy: more orders, recovered recently-viewed clicks, a forever browse-history-uptime guarantee, or a case study. Latch AI Ops has not published customer proof because there are no customers yet. You are buying the install.

Buy the 72-hour install — $997Wishlist missingSize chartMerchant FAQ