Skip to main content
Layers natively supports stores that run a mobile app alongside their online store. Tapcart, Fuego, and Mobiloud Canvas are auto-detected end-to-end — from the catalog sync that decides which products are app-eligible, to the storefront APIs that return the right results, to the analytics that segment app revenue separately from web. You do not need a parallel integration or a separate Layers account to power a mobile app. The same merchandising rules, sort orders, blocks, and search tuning you configure for web apply to app — and you can target rules to one channel or the other when you want them to diverge.

How detection works

Layers identifies app traffic in three places:
SurfaceDetection mechanism
Storefront API requests (Search, Browse, Blocks)The shoppingChannel field in context — set explicitly to "app", or auto-detected from request headers for Tapcart, Fuego, and Canvas.
Tracking eventsThe Tracking worker auto-detects Tapcart and Fuego via the X-Requested-With header. You can also send shopping_channel: "app" explicitly in the event payload.
Lab and Test Text SearchDemo profiles accept a Channel of Web or Mobile App so you can preview the app experience without a real device.
When shoppingChannel is app, Layers automatically applies app-specific catalog filtering and channel-aware merchandising — see the sections below.

Catalog sync for app channels

Most Shopify stores running a mobile app publish a different set of products to the app channel than they do to the online store. Layers handles this via per-product publication sync, which tracks every product’s publication status across every Shopify sales channel — not just Online Store, POS, Shop, and Shop Mini. Per-product publication sync is enabled automatically when Layers detects a non-baseline publication on your store (Tapcart, Fuego, Canvas, wholesale, or any custom channel). You can also force it on or off in Settings → Sales Channel → Publication Sync. Once enabled:
  • Web requests only return products published to the Online Store.
  • App requests return products published to your configured app sales channel — including products that are app-exclusive and not published to the web.
  • The Layers dashboard shows all products regardless of channel so merchandisers can manage the full catalog.
See Sales channel visibility for the full filtering matrix.

Configure your app sales channel

Tell Layers which Shopify sales channel represents your mobile app so it can scope app requests correctly:
  1. Go to Settings → Search Behavior.
  2. Scroll to the App Sales Channel card.
  3. Pick the publication that corresponds to your app (Tapcart, Fuego, Canvas, etc.). Layers loads the list directly from Shopify.
  4. Save.
If you skip this step, app requests fall back to default channel filtering. See App sales channel for details.

Channel-aware merchandising

Every Layers feature that targets context can branch on shopping channel:
  • Search rules — inject filters, boosts, or replacements only when context.shoppingChannel = app (or != web). Example: hide web-only products from app users, or boost app-exclusive collections for app traffic.
  • Merchandising rules — schedule app-only pins, soft boosts, or hides without touching the web experience.
  • Sort orders — use channel as an expression input to weight ranking signals differently per surface.
  • Analytics — every behavioral metric can be segmented by shopping_channel, so you can compare app vs. web conversion, AOV, search exit rate, and revenue per session side by side.

Preview the app experience in Lab

Before publishing app-specific tuning, validate it in Test Text Search:
  1. Create or open a demo profile.
  2. In the session sidebar, switch Channel to Mobile App.
  3. Run queries and inspect results, the Query Understanding panel, and AI Explain — exactly as an app shopper would experience them.
You can flip the channel back to Web mid-session to compare side by side without editing the profile.

See also