Lab Insights for trends, anomalies, and opportunities
Use the Insights page in Lab to see trends, revenue attribution, anomalies, and opportunities Layers detected in your recent shopper activity.
Use Insights to get a daily, plain-language read on what is moving in your storefront. Each card describes a change Layers detected in recent search and purchase activity, why it matters, and what you can do about it. Insights are useful when you want a single place to scan for movement without building reports.
You do not need to leave your current task to check relevant findings. Insights also appear on the Analytics page, one finding per section or category, with controls to browse them and compare current values with the baseline.Select See why to open the finding’s details, or View all to open the full Lab feed. Cards show comparison bars or revenue charts when the finding includes that data. Each insight uses its own displayed timeframe; changing a dashboard’s reporting date range does not recalculate the insight.Dismiss hides a card on that page for you in the current browser; Undo restores the last dismissed card. If you dismiss every card, select Show dismissed insights to bring them back. Dismissing a card does not resolve the finding for your team or stop automatic recovery. Use Resolve or Not relevant in the details panel for those actions.Recommended actions follow the same review flow as the Lab feed. In particular, a sort-order action opens a staged edit; it does not publish a change automatically. See Apply an insight to a sort order.If no section appears, there may be no relevant active findings or you may not have permission to view them. Ask your administrator to check access to relevancy insights if needed. Sort-order actions also require permission to edit sort orders.
Insights are grouped by category. Categories only appear when Layers has at least one insight to show for them.
Trends — Search demand moving up or down. Use these to spot terms gaining or losing interest before they show up in headline metrics.
Attribution — Revenue influenced by search and discovery. Use these to see which queries, collections, or products are driving the biggest share of search-led revenue. Attribution cards highlight wins, so a window where attributed revenue dropped is suppressed in favor of the up window for the same subject. Genuine revenue declines surface as anomalies instead.
Anomalies — Sharp breaks from your recent baseline, such as a spike in zero-result searches or a sudden drop in click-through. Use these to investigate issues before they affect more shoppers. Zero-result counts exclude searches that were answered by a redirect or matched a product identifier directly, so a redirect or a SKU lookup never reads as a failed search.
Opportunities — Demand you are not fully capturing yet, such as high-traffic queries with low engagement. This category also holds sort health insights that flag buried risers and mis-windowed sort orders.
Sequence suggestions — Signals about your product sequences based on how often their members are actually purchased together. Layers surfaces two kinds of sequence cards:
Substitute — Members of an existing sequence rarely appear in the same order and one product clearly dominates the others in sales. Shoppers are treating them as alternatives, not a set. Consider splitting the sequence or reordering it so the leader is first. Layers only raises this card when the dominance gap is large and the trailing product has enough orders to be a reliable sample. A normal 2:1 popularity split between styled-together items will not trigger it.
Suggestion — Two products are frequently purchased together but are not in any sequence yet. Consider creating one from the sequences page.
Non-merchandise items (for example, tip, gift-wrap, and shipping-protection line items) are excluded so pair suggestions stay focused on real products. Pair titles are sorted alphabetically, so “A & B” and “B & A” collapse to a single card.
What Layers did — A collapsed section that lists AI curation decisions applied to broad queries. When AI reranking reorders a high-volume query’s front page, a card lists how many products were promoted or demoted, the rationale, and the specific products that were demoted. Expand the section to review the demoted products and retag any that were misclassified. Cards only appear here when a demotion occurred or Layers recorded a rationale for the decision.
If the same subject (for example a query term like “anklet”) would otherwise produce several near-duplicate cards, Layers collapses them to the single highest-signal card so the feed stays scannable. Conversion-rate “converts at” cards are also capped per page so a single class of insight cannot crowd out the others.Each category has its own pagination controls beneath its cards. Paging through Trends does not affect Opportunities, Anomalies, or any other section. You can dig into older cards for one category while keeping the others on their first page.
Select an insight card to open its details. The panel brings together what changed, why it matters, the recommended action, and what Layers has already done. When an automatic fix exists, Fix status shows its progress and any available evidence, such as the affected search, the search it borrowed results from, or why a fix was rolled back.Available actions depend on the finding:
Test in search opens the search testing page with the affected query already filled in.
Add redirect and Add expansion open the relevant settings for supported search coverage findings. They do not create a redirect or expansion automatically.
View product opens the affected product in your catalog.
Sort health actions open a staged edit for you to review, as described in Apply an insight to a sort order. These require permission to edit sort orders.
If you have permission to manage insights, open the details and choose Resolve when you have addressed the finding, or Not relevant when it does not need action.Both choices hide the grouped finding from the feed and keep it hidden through routine refreshes. It can return if the underlying finding changes materially.
Resolving or marking a finding as not relevant also stops automatic recovery for that grouped finding. It does not apply the recommended change or undo a fix already applied. Review Fix status before dismissing it.
Attribution cards with a daily breakdown distinguish loaded revenue from days that are still loading. A dashed line may continue the recent trend for up to three loading days. The dashed line is a visual projection, not final revenue or a revenue forecast.Hover over a projected point to compare Projected trend (not final) with Recorded so far. Totals exclude loading days. When there is not enough recent data to extend the trend, the chart says so rather than projecting the remaining days.
When Layers detects a store-wide drop in click-through or engagement, it automatically re-checks the search results for the query patterns most likely to be dragging the metric down. Each anomaly card then reports one of two states:
Reviewed healthy — Layers re-ran the affected searches and confirmed the results look right. The drop is probably driven by external factors (seasonality, traffic mix, a specific campaign) rather than a search-quality problem.
Needs merchant action — Layers found the results for one or more affected query patterns look off. The card surfaces the specific clusters and products to review so you can tune merchandising, sort orders, or product data.
The anomaly review runs in the background once per day and never changes live ranking on its own. It only flags where to look.
Layers checks your published, metric-first sort orders every day and raises cards when the ranking is likely to be missing recent movement. These cards appear in Opportunities and Anomalies and always target a specific sort order or product, so the recommended action is a concrete change instead of a general note.Sort health insights include three subtypes:
Buried risers (Opportunity) — A product is in the top 20 by units over the last 3 days but sits below position 40 or is unranked in a published sort order. This usually means the sort order’s window is too long to catch the pickup, or the product is losing to a hard tiebreaker.
Product spike (Anomaly) — Yesterday’s units for a product jumped well above its own 28-day baseline. Use it to decide whether to promote the product in your active sort orders while the spike lasts, and to check for a stock or content issue if the spike is unexpected.
Window mismatch (Opportunity) — The sales window configured on a sort order’s primary metric trails the window Layers found actually predicts next week’s sales best for your store. For example, a sort order using a 30-day window when a 7-day or trend-weighted window wins the backtest by a clear margin.
Layers runs a per-store sort window backtest once a week that compares trailing 7/14/30/60-day windows against 7-day and 14-day half-life decayed windows. When a short-horizon window wins, the Trending sort recipe and the Trending measures in the metric picker become available, and the window-mismatch insight can recommend switching to them. Stores without enough recent purchase history for the backtest to be reliable don’t get these insights.
Sort health cards carry one or two action buttons under the recommended action. Selecting an action opens the target sort order in the editor with the change already staged. Nothing on the storefront changes until you publish.Two actions are available:
Boost recent risers — Adds a soft boost to the sort order that lifts products in the top 10% by units over the last 3 days. Best when a specific product is buried and you want to catch other risers at the same time.
Switch metric — Swaps the sort order’s primary metric to a Layers recipe with a better-fitting window (for example, the Trending recipe or a shorter trailing-units window). The Switch to trending variant only appears when the sort window backtest supports a short-horizon window for your store.
When you open the editor from an insight action, a Prefilled from an insight banner appears above the sort form. The banner reminds you the change is staged and not live yet. Review the staged expressions, tweak anything you want to adjust, then publish through the normal review flow. Dismiss the banner to hide it for the current session; the staged changes stay in the form either way.
Layers needs several days of search and purchase activity before insights start appearing. If your store is new or recently re-launched, check back after more traffic has accumulated.
Insights are filtered to keep the feed high-signal. Movements below the configured thresholds (for example, very low search volume or a small percent change) are intentionally hidden. Cards also drop off the feed once the underlying signal returns to baseline. Layers also collapses near-duplicates to the strongest card per subject, so you see one card per query term.
The state updates after the next daily review. If the affected query patterns still look weak the next day, the card stays flagged until either the results improve or the anomaly itself clears.
Routine refreshes keep a resolved finding hidden, but a material change can bring it back. Open the details to review the new evidence before resolving it again.
Resolving findings and opening sort edits depend on your permissions. Ask your store administrator to review your access. If an action fails, refresh and try again; contact Customer Care if it keeps happening.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Layers","colors":{"primary":"#607FFD","light":"#AFC0FF","dark":"#3A57E8"},"logo":{"light":"https://mintcdn.com/protoninc/PNs-gxGUVcdBDEEC/logo.svg?fit=max\u0026auto=format\u0026n=PNs-gxGUVcdBDEEC\u0026q=85\u0026s=989e3194cb32f07e7018b8b7186b9007","dark":"https://mintcdn.com/protoninc/PNs-gxGUVcdBDEEC/logo.svg?fit=max\u0026auto=format\u0026n=PNs-gxGUVcdBDEEC\u0026q=85\u0026s=989e3194cb32f07e7018b8b7186b9007","href":"https://www.uselayers.com/?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-site"},"favicon":"https://mintcdn.com/protoninc/qubyNEZK4oJTl9By/favicon.svg?fit=max\u0026auto=format\u0026n=qubyNEZK4oJTl9By\u0026q=85\u0026s=3611d60346e12f15e4684bc60cb69ece","api":{"mdx":{"server":"https://app.uselayers.com/api/storefront/v1"}},"navbar":{"links":[{"href":"https://www.uselayers.com/changelog?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-site","label":"Changelog"},{"href":"mailto:support@uselayers.com","label":"Support"},{"href":"https://app.uselayers.com/dashboard?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-dashboard","label":"Dashboard"}],"primary":{"type":"button","label":"Request Demo","href":"https://www.uselayers.com/demo?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-site"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/uselayers"},"links":[{"header":"Legal","items":[{"label":"Privacy Statement","href":"https://docs.uselayers.com/legal/privacy-statement"},{"label":"Terms of Use","href":"https://docs.uselayers.com/legal/terms-of-use"}]}]},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"protoninc","hasAudioNarration":false,"actualSubdomain":"protoninc","customDomains":["docs.uselayers.com"],"gitSource":{"type":"github","owner":"protonagency","repo":"layers-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae388771c7a51ca965c930e","collectionId":"b1813d3c-a1b3-44c1-b58f-077ab7c9b91e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae388771c7a51ca965c930e"},"feedback":{"thumbs":true,"edits":false,"issues":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"}},"buildId":"6ae388771c7a51ca965c930e","clientVersion":"0.0.4039","searchFilterCounts":[{"language":"default","tag":"Documentation","count":102},{"language":"default","tag":"Help Center","count":72},{"language":"default","tag":"Merchandising","count":54},{"language":"default","tag":"Developers","count":42},{"language":"default","tag":"API Reference","count":25},{"language":"default","tag":"SDK","count":20},{"language":"default","tag":"Sort Orders","count":16},{"language":"default","tag":"Liquid","count":14},{"language":"default","tag":"Search \u0026 Discovery","count":14},{"language":"default","tag":"Configuration","count":14}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false,"deflection":{"enabled":true,"email":"support@uselayers.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"help/lab/insights","slug":"/help/lab/insights","pageMetadata":{"title":"Lab Insights for trends, anomalies, and opportunities","description":"Use the Insights page in Lab to see trends, revenue attribution, anomalies, and opportunities Layers detected in your recent shopper activity.","href":"/help/lab/insights"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Use the Insights page in Lab to see trends, revenue attribution, anomalies, and opportunities Layers detected in your recent shopper activity.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Use `,_jsx(_components.strong,{children:`Insights`}),` to get a daily, plain-language read on what is moving in your storefront. Each card describes a change Layers detected in recent search and purchase activity, why it matters, and what you can do about it. Insights are useful when you want a single place to scan for movement without building reports.`]}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Your store must be connected to Layers.`}),`\n`,_jsx(_components.li,{children:`Your catalog should be synced.`}),`\n`,_jsx(_components.li,{children:`A few days of shopper search and purchase activity must exist so Layers has a baseline to compare against.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`open-insights`,children:`Open Insights`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`In the Layers dashboard, open `,_jsx(_components.strong,{children:`Lab`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Insights`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`insights-while-you-work`,children:`Insights while you work`}),`\n`,_jsxs(_components.p,{children:[`You do not need to leave your current task to check relevant findings. Insights also appear on the `,_jsx(_components.strong,{children:`Analytics`}),` page, one finding per section or category, with controls to browse them and compare current values with the baseline.`]}),`\n`,_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`See why`}),` to open the finding’s details, or `,_jsx(_components.strong,{children:`View all`}),` to open the full Lab feed. Cards show comparison bars or revenue charts when the finding includes that data. Each insight uses its own displayed timeframe; changing a dashboard’s reporting date range does not recalculate the insight.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Dismiss`}),` hides a card on that page for you in the current browser; `,_jsx(_components.strong,{children:`Undo`}),` restores the last dismissed card. If you dismiss every card, select `,_jsx(_components.strong,{children:`Show dismissed insights`}),` to bring them back. Dismissing a card does not resolve the finding for your team or stop automatic recovery. Use `,_jsx(_components.a,{href:`#resolve-a-finding`,children:`Resolve or Not relevant`}),` in the details panel for those actions.`]}),`\n`,_jsxs(_components.p,{children:[`Recommended actions follow the same review flow as the Lab feed. In particular, a sort-order action opens a staged edit; it does not publish a change automatically. See `,_jsx(_components.a,{href:`#apply-an-insight-to-a-sort-order`,children:`Apply an insight to a sort order`}),`.`]}),`\n`,_jsx(_components.p,{children:`If no section appears, there may be no relevant active findings or you may not have permission to view them. Ask your administrator to check access to relevancy insights if needed. Sort-order actions also require permission to edit sort orders.`}),`\n`,_jsx(Heading,{level:`2`,id:`how-the-feed-is-organized`,children:`How the feed is organized`}),`\n`,_jsx(_components.p,{children:`Insights are grouped by category. Categories only appear when Layers has at least one insight to show for them.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Trends`}),` — Search demand moving up or down. Use these to spot terms gaining or losing interest before they show up in headline metrics.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Attribution`}),` — Revenue influenced by search and discovery. Use these to see which queries, collections, or products are driving the biggest share of search-led revenue. Attribution cards highlight wins, so a window where attributed revenue dropped is suppressed in favor of the up window for the same subject. Genuine revenue declines surface as anomalies instead.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Anomalies`}),` — Sharp breaks from your recent baseline, such as a spike in zero-result searches or a sudden drop in click-through. Use these to investigate issues before they affect more shoppers. Zero-result counts exclude searches that were answered by a redirect or matched a product identifier directly, so a redirect or a SKU lookup never reads as a failed search.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Opportunities`}),` — Demand you are not fully capturing yet, such as high-traffic queries with low engagement. This category also holds `,_jsx(_components.a,{href:`#sort-health-insights`,children:`sort health insights`}),` that flag buried risers and mis-windowed sort orders.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sequence suggestions`}),` — Signals about your `,_jsx(_components.a,{href:`/platform/sequences`,children:`product sequences`}),` based on how often their members are actually purchased together. Layers surfaces two kinds of sequence cards:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Substitute`}),` — Members of an existing sequence rarely appear in the same order and one product clearly dominates the others in sales. Shoppers are treating them as alternatives, not a set. Consider splitting the sequence or reordering it so the leader is first. Layers only raises this card when the dominance gap is large and the trailing product has enough orders to be a reliable sample. A normal 2:1 popularity split between styled-together items will not trigger it.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Suggestion`}),` — Two products are frequently purchased together but are not in any sequence yet. Consider creating one from the sequences page.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Non-merchandise items (for example, tip, gift-wrap, and shipping-protection line items) are excluded so pair suggestions stay focused on real products. Pair titles are sorted alphabetically, so “A \u0026 B” and “B \u0026 A” collapse to a single card.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`What Layers did`}),` — A collapsed section that lists `,_jsx(_components.strong,{children:`AI curation decisions`}),` applied to broad queries. When `,_jsx(_components.a,{href:`/platform/ranking-relevancy#ai-reranking-for-broad-queries`,children:`AI reranking`}),` reorders a high-volume query’s front page, a card lists how many products were promoted or demoted, the rationale, and the specific products that were demoted. Expand the section to review the demoted products and retag any that were misclassified. Cards only appear here when a demotion occurred or Layers recorded a rationale for the decision.`]}),`\n`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`If the same subject (for example a query term like “anklet”) would otherwise produce several near-duplicate cards, Layers collapses them to the single highest-signal card so the feed stays scannable. Conversion-rate “converts at” cards are also capped per page so a single class of insight cannot crowd out the others.`}),`\n`,_jsx(_components.p,{children:`Each category has its own pagination controls beneath its cards. Paging through Trends does not affect Opportunities, Anomalies, or any other section. You can dig into older cards for one category while keeping the others on their first page.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-each-card-shows`,children:`What each card shows`}),`\n`,_jsx(_components.p,{children:`Every insight card includes:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`category badge`}),` — Trend, Attribution, Anomaly, or Opportunity.`]}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`percent change`}),` versus the baseline. Movement is colored green when up is good, red when down is bad, and amber for anomalies.`]}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`timeframe row`}),` with the time window the insight covers (for example, `,_jsx(_components.strong,{children:`7d`}),`), the period label, and the date Layers detected the change.`]}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`headline`}),` describing what changed.`]}),`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.strong,{children:`subject`}),` the insight applies to, such as a query cluster, collection, or product group.`]}),`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.strong,{children:`current value`}),` for the underlying metric.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Comparison bars`}),` showing the current value against the baseline, or a daily revenue chart on attribution cards with a daily breakdown.`]}),`\n`,_jsxs(_components.li,{children:[`A short explanation of `,_jsx(_components.strong,{children:`what changed`}),` and `,_jsx(_components.strong,{children:`why it matters`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`recommended action`}),` when Layers has one, such as reviewing a query, adjusting a sort order, or adding a merchandising rule.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`open-a-finding-and-take-action`,children:`Open a finding and take action`}),`\n`,_jsxs(_components.p,{children:[`Select an insight card to open its details. The panel brings together what changed, why it matters, the recommended action, and what Layers has already done. When an automatic fix exists, `,_jsx(_components.strong,{children:`Fix status`}),` shows its progress and any available evidence, such as the affected search, the search it borrowed results from, or why a fix was rolled back.`]}),`\n`,_jsx(_components.p,{children:`Available actions depend on the finding:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Test in search`}),` opens the search testing page with the affected query already filled in.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Add redirect`}),` and `,_jsx(_components.strong,{children:`Add expansion`}),` open the relevant settings for supported search coverage findings. They do not create a redirect or expansion automatically.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`View product`}),` opens the affected product in your catalog.`]}),`\n`,_jsxs(_components.li,{children:[`Sort health actions open a staged edit for you to review, as described in `,_jsx(_components.a,{href:`#apply-an-insight-to-a-sort-order`,children:`Apply an insight to a sort order`}),`. These require permission to edit sort orders.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`resolve-a-finding`,children:`Resolve a finding`}),`\n`,_jsxs(_components.p,{children:[`If you have permission to manage insights, open the details and choose `,_jsx(_components.strong,{children:`Resolve`}),` when you have addressed the finding, or `,_jsx(_components.strong,{children:`Not relevant`}),` when it does not need action.`]}),`\n`,_jsx(_components.p,{children:`Both choices hide the grouped finding from the feed and keep it hidden through routine refreshes. It can return if the underlying finding changes materially.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Resolving or marking a finding as not relevant also stops automatic recovery for that grouped finding. It does not apply the recommended change or undo a fix already applied. Review `,_jsx(_components.strong,{children:`Fix status`}),` before dismissing it.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`read-the-revenue-chart`,children:`Read the revenue chart`}),`\n`,_jsx(_components.p,{children:`Attribution cards with a daily breakdown distinguish loaded revenue from days that are still loading. A dashed line may continue the recent trend for up to three loading days. The dashed line is a visual projection, not final revenue or a revenue forecast.`}),`\n`,_jsxs(_components.p,{children:[`Hover over a projected point to compare `,_jsx(_components.strong,{children:`Projected trend (not final)`}),` with `,_jsx(_components.strong,{children:`Recorded so far`}),`. Totals exclude loading days. When there is not enough recent data to extend the trend, the chart says so rather than projecting the remaining days.`]}),`\n`,_jsx(Heading,{level:`2`,id:`anomaly-review`,children:`Anomaly review`}),`\n`,_jsx(_components.p,{children:`When Layers detects a store-wide drop in click-through or engagement, it automatically re-checks the search results for the query patterns most likely to be dragging the metric down. Each anomaly card then reports one of two states:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reviewed healthy`}),` — Layers re-ran the affected searches and confirmed the results look right. The drop is probably driven by external factors (seasonality, traffic mix, a specific campaign) rather than a search-quality problem.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Needs merchant action`}),` — Layers found the results for one or more affected query patterns look off. The card surfaces the specific clusters and products to review so you can tune merchandising, sort orders, or product data.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`The anomaly review runs in the background once per day and never changes live ranking on its own. It only flags where to look.`}),`\n`,_jsx(Heading,{level:`2`,id:`sort-health-insights`,children:`Sort health insights`}),`\n`,_jsxs(_components.p,{children:[`Layers checks your published, metric-first sort orders every day and raises cards when the ranking is likely to be missing recent movement. These cards appear in `,_jsx(_components.strong,{children:`Opportunities`}),` and `,_jsx(_components.strong,{children:`Anomalies`}),` and always target a specific sort order or product, so the recommended action is a concrete change instead of a general note.`]}),`\n`,_jsx(_components.p,{children:`Sort health insights include three subtypes:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Buried risers`}),` (Opportunity) — A product is in the top 20 by units over the last 3 days but sits below position 40 or is unranked in a published sort order. This usually means the sort order’s window is too long to catch the pickup, or the product is losing to a hard tiebreaker.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Product spike`}),` (Anomaly) — Yesterday’s units for a product jumped well above its own 28-day baseline. Use it to decide whether to promote the product in your active sort orders while the spike lasts, and to check for a stock or content issue if the spike is unexpected.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Window mismatch`}),` (Opportunity) — The sales window configured on a sort order’s primary metric trails the window Layers found actually predicts next week’s sales best for your store. For example, a sort order using a 30-day window when a 7-day or trend-weighted window wins the backtest by a clear margin.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Layers runs a per-store sort window backtest once a week that compares trailing 7/14/30/60-day windows against 7-day and 14-day half-life decayed windows. When a short-horizon window wins, the `,_jsx(_components.a,{href:`/platform/sorting/recipes#trending`,children:`Trending sort recipe`}),` and the `,_jsx(_components.a,{href:`/platform/sorting/weighted-groups#trending-measures`,children:`Trending measures`}),` in the metric picker become available, and the window-mismatch insight can recommend switching to them. Stores without enough recent purchase history for the backtest to be reliable don’t get these insights.`]}),`\n`,_jsx(Heading,{level:`3`,id:`apply-an-insight-to-a-sort-order`,children:`Apply an insight to a sort order`}),`\n`,_jsx(_components.p,{children:`Sort health cards carry one or two action buttons under the recommended action. Selecting an action opens the target sort order in the editor with the change already staged. Nothing on the storefront changes until you publish.`}),`\n`,_jsx(_components.p,{children:`Two actions are available:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Boost recent risers`}),` — Adds a soft boost to the sort order that lifts products in the top 10% by units over the last 3 days. Best when a specific product is buried and you want to catch other risers at the same time.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Switch metric`}),` — Swaps the sort order’s primary metric to a Layers recipe with a better-fitting window (for example, the `,_jsx(_components.a,{href:`/platform/sorting/recipes#trending`,children:`Trending recipe`}),` or a shorter trailing-units window). The `,_jsx(_components.strong,{children:`Switch to trending`}),` variant only appears when the sort window backtest supports a short-horizon window for your store.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`When you open the editor from an insight action, a `,_jsx(_components.strong,{children:`Prefilled from an insight`}),` banner appears above the sort form. The banner reminds you the change is staged and not live yet. Review the staged expressions, tweak anything you want to adjust, then publish through the normal review flow. Dismiss the banner to hide it for the current session; the staged changes stay in the form either way.`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsx(Heading,{level:`3`,id:`the-feed-is-empty`,children:`The feed is empty`}),`\n`,_jsx(_components.p,{children:`Layers needs several days of search and purchase activity before insights start appearing. If your store is new or recently re-launched, check back after more traffic has accumulated.`}),`\n`,_jsx(Heading,{level:`3`,id:`a-card-i-expected-is-missing`,children:`A card I expected is missing`}),`\n`,_jsx(_components.p,{children:`Insights are filtered to keep the feed high-signal. Movements below the configured thresholds (for example, very low search volume or a small percent change) are intentionally hidden. Cards also drop off the feed once the underlying signal returns to baseline. Layers also collapses near-duplicates to the strongest card per subject, so you see one card per query term.`}),`\n`,_jsxs(Heading,{level:`3`,id:`an-anomaly-stays-in-needs-merchant-action`,children:[`An anomaly stays in `,_jsx(_components.strong,{children:`Needs merchant action`})]}),`\n`,_jsx(_components.p,{children:`The state updates after the next daily review. If the affected query patterns still look weak the next day, the card stays flagged until either the results improve or the anomaly itself clears.`}),`\n`,_jsx(Heading,{level:`3`,id:`a-resolved-finding-returns`,children:`A resolved finding returns`}),`\n`,_jsx(_components.p,{children:`Routine refreshes keep a resolved finding hidden, but a material change can bring it back. Open the details to review the new evidence before resolving it again.`}),`\n`,_jsx(Heading,{level:`3`,id:`i-cannot-resolve-a-finding-or-open-a-sort-edit`,children:`I cannot resolve a finding or open a sort edit`}),`\n`,_jsxs(_components.p,{children:[`Resolving findings and opening sort edits depend on your permissions. Ask your store administrator to review your access. If an action fails, refresh and try again; contact `,_jsx(_components.a,{href:`mailto:support@uselayers.com`,children:`Customer Care`}),` if it keeps happening.`]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/help/onboarding/dashboard-home`,children:`Dashboard home`}),` — see headline storefront metrics.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Lab Insights for trends, anomalies, and opportunities","description":"Use the Insights page in Lab to see trends, revenue attribution, anomalies, and opportunities Layers detected in your recent shopper activity.","href":"/help/lab/insights"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Open Insights","slug":"open-insights","depth":2,"children":[]},{"title":"Insights while you work","slug":"insights-while-you-work","depth":2,"children":[]},{"title":"How the feed is organized","slug":"how-the-feed-is-organized","depth":2,"children":[]},{"title":"What each card shows","slug":"what-each-card-shows","depth":2,"children":[]},{"title":"Open a finding and take action","slug":"open-a-finding-and-take-action","depth":2,"children":[]},{"title":"Resolve a finding","slug":"resolve-a-finding","depth":2,"children":[]},{"title":"Read the revenue chart","slug":"read-the-revenue-chart","depth":2,"children":[]},{"title":"Anomaly review","slug":"anomaly-review","depth":2,"children":[]},{"title":"Sort health insights","slug":"sort-health-insights","depth":2,"children":[{"title":"Apply an insight to a sort order","slug":"apply-an-insight-to-a-sort-order","depth":3,"children":[]}]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[{"title":"The feed is empty","slug":"the-feed-is-empty","depth":3,"children":[]},{"title":"A card I expected is missing","slug":"a-card-i-expected-is-missing","depth":3,"children":[]},{"title":"An anomaly stays in Needs merchant action","slug":"an-anomaly-stays-in-needs-merchant-action","depth":3,"children":[]},{"title":"A resolved finding returns","slug":"a-resolved-finding-returns","depth":3,"children":[]},{"title":"I cannot resolve a finding or open a sort edit","slug":"i-cannot-resolve-a-finding-or-open-a-sort-edit","depth":3,"children":[]}]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/protoninc/d2da920448b9ce07/track.js"],"subdomain":"protoninc","siteName":"Layers","title":"Lab Insights for trends, anomalies, and opportunities - Layers","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-17T15:08:04.159Z","originalFileLocation":"help/lab/insights.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Use the Insights page in Lab to see trends, revenue attribution, anomalies, and opportunities Layers detected in your recent shopper activity.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Layers\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Lab Insights for trends, anomalies, and opportunities - Layers\">\u003cmeta data-mint-head property=\"og:description\" content=\"Use the Insights page in Lab to see trends, revenue attribution, anomalies, and opportunities Layers detected in your recent shopper activity.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Layers\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.uselayers.com/help/lab/insights\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://protoninc.mintlify.app/_mintlify/api/og/v2?division=Lab\u0026amp;title=Lab+Insights+for+trends%2C+anomalies%2C+and+opportunities\u0026amp;description=Use+the+Insights+page+in+Lab+to+see+trends%2C+revenue+attribution%2C+anomalies%2C+and+opportunities+Layers+detected+in+your+recent+shopper+activity.\u0026amp;theme=a10a6113a77cea89cec87611\u0026amp;signature=ec38cdeca0c507919e07cb2dd1160cda6d511bed8be5e61967707aaabd6078ef\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Lab Insights for trends, anomalies, and opportunities - Layers\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Use the Insights page in Lab to see trends, revenue attribution, anomalies, and opportunities Layers detected in your recent shopper activity.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://protoninc.mintlify.app/_mintlify/api/og/v2?division=Lab\u0026amp;title=Lab+Insights+for+trends%2C+anomalies%2C+and+opportunities\u0026amp;description=Use+the+Insights+page+in+Lab+to+see+trends%2C+revenue+attribution%2C+anomalies%2C+and+opportunities+Layers+detected+in+your+recent+shopper+activity.\u0026amp;theme=a10a6113a77cea89cec87611\u0026amp;signature=ec38cdeca0c507919e07cb2dd1160cda6d511bed8be5e61967707aaabd6078ef\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Layers\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#607FFD\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.uselayers.com/help/lab/insights\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/help/lab/insights.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.uselayers.com/#organization\",\"name\":\"Layers\",\"url\":\"https://docs.uselayers.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/protoninc/PNs-gxGUVcdBDEEC/logo.svg?fit=max\u0026auto=format\u0026n=PNs-gxGUVcdBDEEC\u0026q=85\u0026s=989e3194cb32f07e7018b8b7186b9007\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.uselayers.com#website\",\"name\":\"Layers\",\"url\":\"https://docs.uselayers.com\",\"publisher\":{\"@id\":\"https://docs.uselayers.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.uselayers.com/help/lab/insights#webpage\",\"url\":\"https://docs.uselayers.com/help/lab/insights\",\"name\":\"Lab Insights for trends, anomalies, and opportunities\",\"description\":\"Use the Insights page in Lab to see trends, revenue attribution, anomalies, and opportunities Layers detected in your recent shopper activity.\",\"dateModified\":\"2026-10-17T15:08:04.159Z\",\"isPartOf\":{\"@id\":\"https://docs.uselayers.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.uselayers.com/help/lab/insights#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.uselayers.com/help/lab/insights#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Layers\",\"item\":\"https://docs.uselayers.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lab Insights for trends, anomalies, and opportunities\",\"item\":\"https://docs.uselayers.com/help/lab/insights\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.uselayers.com/help/lab/insights#article\",\"headline\":\"Lab Insights for trends, anomalies, and opportunities\",\"name\":\"Lab Insights for trends, anomalies, and opportunities\",\"description\":\"Use the Insights page in Lab to see trends, revenue attribution, anomalies, and opportunities Layers detected in your recent shopper activity.\",\"url\":\"https://docs.uselayers.com/help/lab/insights\",\"mainEntityOfPage\":{\"@id\":\"https://docs.uselayers.com/help/lab/insights#webpage\"},\"dateModified\":\"2026-10-17T15:08:04.159Z\",\"publisher\":{\"@id\":\"https://docs.uselayers.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.uselayers.com#website\"}}]}\u003c/script>","siteName":"Layers","nav":{"global":null,"anchors":[{"anchor":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"anchor":"Help Center","icon":"map","groups":[{"group":"Getting Started","pages":[{"title":"Install Layers on Shopify","href":"/help/onboarding/install"},{"title":"Dashboard home","href":"/help/onboarding/dashboard-home"},{"title":"Demo store setup","href":"/help/onboarding/setting-up-a-demo-store"},{"title":"Creating a crawler signature","href":"/help/onboarding/creating-crawler-signature"},{"title":"Exporting search data","href":"/help/onboarding/exporting-search-data"},{"title":"Migrate from Boost Commerce","sidebarTitle":"Migrate from Boost","href":"/help/onboarding/migrate-from-boost"}]},{"group":"Catalog","pages":[{"title":"View product details","href":"/help/catalog/view-product-details"},{"title":"See how AI reads a product in your catalog","href":"/help/catalog/how-ai-sees-this-product"},{"title":"View collection details and performance","href":"/help/catalog/view-collection-details"},{"title":"Filter the products list","href":"/help/catalog/filter-products-list"},{"title":"Manually resync your entire catalog","href":"/help/catalog/resync-catalog"},{"title":"Manually resync a single collection","href":"/help/catalog/resync-single-collection"},{"title":"Manually resync a single product","href":"/help/catalog/resync-single-product"},{"title":"Manually resync variant inventory","href":"/help/catalog/resync-variant-inventory"},{"title":"Working with dates","href":"/help/catalog/working-with-dates"}]},{"group":"Sort Orders","pages":[{"title":"Create a sort order","href":"/help/sort-orders/create-sort-order"},{"title":"Preview a sort order","href":"/help/sort-orders/preview-sort-order"},{"title":"Duplicate a sort order","href":"/help/sort-orders/duplicate-sort-order"},{"title":"Find duplicate sort orders in the dashboard","href":"/help/sort-orders/duplicate-detection"},{"title":"Reorder sort orders","href":"/help/sort-orders/reorder-sort-orders"},{"title":"Manage sort orders in bulk","href":"/help/sort-orders/bulk-actions"},{"title":"Run a sort order A/B test experiment","href":"/help/sort-orders/experiments"}]},{"group":"Recommendation Blocks","pages":[{"title":"Manage blocks in bulk","href":"/help/blocks/bulk-actions"},{"title":"View block performance","href":"/help/blocks/view-performance"}]},{"group":"Product Sequences","pages":[{"title":"Create a product sequence","href":"/help/sequences/create-product-sequence"},{"title":"Edit a product sequence","href":"/help/sequences/edit-product-sequence"},{"title":"Manage product sequences in bulk","href":"/help/sequences/bulk-actions"}]},{"group":"Customers","pages":[{"title":"Manage audiences","href":"/help/configuration/manage-audiences"},{"title":"Manage dimensions","href":"/help/configuration/manage-dimensions"}]},{"group":"Configuration","pages":[{"title":"Navigate settings","href":"/help/configuration/navigate-settings"},{"title":"Manage API access","href":"/help/configuration/manage-api-access"},{"title":"Manage outbound webhooks","href":"/help/configuration/manage-webhooks"},{"title":"Review developer notices","href":"/help/configuration/view-developer-notices"},{"title":"Manage team members","href":"/help/configuration/manage-team-members"},{"title":"Manage roles and permissions","href":"/help/configuration/manage-roles-and-permissions"},{"title":"Manage organizations","href":"/help/configuration/manage-organizations"},{"title":"View GDPR requests","href":"/help/configuration/view-gdpr-requests"},{"title":"View billing","href":"/help/configuration/view-billing"},{"title":"Configure autocomplete curation","href":"/help/configuration/configure-autocomplete-curation"},{"title":"Configure search instructions","href":"/help/configuration/configure-search-instructions"},{"title":"Set up Agentic Feedback for AI agents","sidebarTitle":"Set up Agentic Feedback","href":"/help/configuration/set-up-agentic-feedback"},{"title":"Manage store knowledge","href":"/help/configuration/manage-store-knowledge"},{"title":"Config history and version restore","href":"/help/configuration/config-history"}]},{"group":"Ranking Relevancy","pages":[{"title":"Tune signal weights","href":"/help/ranking-relevancy/tune-signal-weights"},{"title":"Create a ranking rule","href":"/help/ranking-relevancy/create-ranking-rule"},{"title":"Manage ranking rules in bulk","description":"Publish or unpublish multiple ranking rules at once from the Ranking Rules list using bulk select, and delete individual rules from the row actions menu.","href":"/help/ranking-relevancy/bulk-actions"}]},{"group":"Lab","pages":[{"title":"Lab Insights for trends, anomalies, and opportunities","href":"/help/lab/insights"},{"title":"Analytics dashboards","description":"Explore saved Analytics dashboards in Layers. Set date ranges, compare periods, and drill into product, collection, block, and search-term performance.","href":"/help/analytics/dashboards"},{"title":"Weekly performance report email","href":"/help/analytics/weekly-report-email"},{"title":"Test text search (with demo profiles)","href":"/help/evaluate/test-text-search"},{"title":"Test image search","href":"/help/evaluate/test-image-search"},{"title":"Test content search with the API","href":"/help/evaluate/test-content-search"},{"title":"Test collections and similar products","href":"/help/evaluate/test-collections-and-similar-products"}]},{"group":"Merchandising","pages":[{"title":"Create a merchandising rule","href":"/help/merchandising/create-merchandising-rule"},{"title":"Edit, disable, or delete a merchandising rule","href":"/help/merchandising/edit-disable-delete-merchandising-rule"},{"title":"Add a banner to a merchandising rule","href":"/help/merchandising/add-banner-to-rule"},{"title":"Create a banner type","href":"/help/configuration/create-banner-type"},{"title":"Manage merchandising rules in bulk","href":"/help/merchandising/bulk-actions"},{"title":"Recover a deleted merchandising rule","href":"/help/merchandising/restore-deleted-merchandising-rule"},{"title":"Dynamic linking for ads","href":"/help/merchandising/dynamic-linking"},{"title":"Create a semantic redirect","href":"/help/merchandising/create-semantic-redirect"},{"title":"View merchandising rule performance","href":"/help/merchandising/view-rule-performance"},{"title":"Create a variant breakout","href":"/help/merchandising/create-variant-breakout"},{"title":"Edit or delete a variant breakout","href":"/help/merchandising/edit-delete-variant-breakout"},{"title":"Manage variant breakouts in bulk","href":"/help/merchandising/bulk-actions-variant-breakouts"},{"title":"Group facet values","href":"/help/advanced-merchandising/facet-grouping"},{"title":"Sort facet values","href":"/help/advanced-merchandising/facet-sorting"},{"title":"Hide facet values","href":"/help/advanced-merchandising/facet-hiding"},{"title":"View the products behind a facet value","href":"/help/advanced-merchandising/facet-value-products"},{"title":"Create a product family","href":"/help/product-families/create-product-family"},{"title":"Manage product families in bulk","href":"/help/product-families/bulk-actions"}]},{"group":"Misc","pages":[{"title":"Configure search behavior","href":"/help/configuration/configure-search-behavior"}]}]},{"anchor":"Developers","icon":"code","pages":[{"title":"Developers","href":"/developers/overview"}]},{"anchor":"API Reference","icon":"rectangle-terminal","pages":[{"title":"API Reference","href":"/api-reference/browse"}]},{"anchor":"Integrations","icon":"plug","href":"https://www.uselayers.com/integrations?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-site"}]},"basePath":"","title":"Lab Insights for trends, anomalies, and opportunities - Layers","buildId":"dpl_77Hw7ZuAABM8E3WMbYAf2ohQCr3v","deploymentId":"dpl_77Hw7ZuAABM8E3WMbYAf2ohQCr3v","dynamics":[],"chunks":[]}