Operations · Troubleshooting

Troubleshooting

Updated 2026-05-25 Troubleshooting eCommerce Insights team

When something does not work, this is the page to read first. Common issues across PDP fetch, JSON-LD parsing, webhooks, alerts, and crawler access — each with the diagnostic flow and the fix.

PDP fetch failures

"Unable to fetch" on a SKU means eCommerce Insights's PdpFetcher could not retrieve the page. Three diagnostic steps:

  1. Open the SKU detail

    The header strip shows the last fetch attempt timestamp and any error message (HTTP status, timeout, parse failure).

  2. Run Agent Lens on the URL

    If GPTBot also returns 403, the issue is on the site (robots.txt or Cloudflare blocking AI crawlers). If GPTBot succeeds but eCommerce Insights fails, the issue is specific to eCommerce InsightsBot.

  3. Allow eCommerce InsightsBot in robots.txt

    Add User-agent: eCommerce InsightsBot with Allow: /. Or whitelist our IP range in Cloudflare. Both documented in Settings → Crawler.

Cloudflare and bot challenges

Cloudflare's bot-fight mode aggressively challenges automated user-agents. eCommerce Insights falls back to ScrapingBee on 403 / CF challenge responses (added in v14). The fallback is transparent and the score is computed regardless of which fetcher succeeded.

If both fail, the page is genuinely inaccessible to non-browser clients. Two fixes:

JSON-LD parse errors

v14 added handling for two common JSON-LD edge cases:

If your JSON-LD still fails to parse, run Agent Lens on the URL. The structured-data inventory will show the exact parse error with line and column. Most remaining failures are HTML-entity-escaped quotes inside JSON strings — fix the source.

Webhooks not arriving

Shopify webhooks: verify registration in Shopify admin → Settings → Notifications → Webhooks (look for entries with ecommerceinsights in the URL). If absent, reinstall the integration.

WooCommerce webhooks: WooCommerce → Settings → Advanced → Webhooks. If status is Disabled, click to re-enable.

Outbound webhooks from eCommerce Insights (API): check the webhook log in Settings → Integrations → API. Failed deliveries are retried with backoff.

Alerts not firing

  1. Confirm the rule is Enabled (toggle in Settings → Alerts).
  2. Confirm the rule's scope includes the affected SKU (tag, category, or explicit SKU list).
  3. Confirm the threshold is set correctly. Score-drop rules with a threshold of 90 will rarely fire if your average score is 65.
  4. For Slack: re-issue the incoming webhook URL. Slack incoming webhooks expire when the workspace owner revokes the app.
  5. For Email (Resend): verify RESEND_API_KEY in Settings is current.

Scores appear stale

Open the Schedule page. Each task shows its last-run timestamp. If a task hasn't run, either the cadence is longer than expected or the scheduler is stuck.

Hit "Run scheduler now" to force every due task. If the task still doesn't progress, hit the cron-tick endpoint manually as a fallback: GET /?api=cron_tick.

Contacting support

Email [email protected] with workspace ID, affected SKU, and a screenshot of the error. Typical response time is a few hours during business hours (US/Eastern).

Common questions

My score has not updated in a week
Three likely causes: the schedule has the SKU on a longer cadence than weekly; the PDP fetch is failing silently; the SKU was soft-deleted. Open the SKU detail; the last-fetch timestamp and any error message are shown in the header strip.
One specific SKU keeps showing "unable to fetch"
Run Agent Lens on the URL. If GPTBot gets a 403 or Cloudflare challenge, the same is happening to eCommerce Insights. Allow eCommerce Insights in robots.txt (user-agent eCommerce InsightsBot) or whitelist our IP range in Cloudflare. Both documented in Settings → Crawler.
A Listing rewrite push failed
Open the History view filtered to "failed." Each failed push has the platform's API response body. Most failures are validation issues — a metafield definition restricts the value type, or the title exceeds Shopify's 255-char limit.
Alerts are not arriving in Slack
Check Settings → Integrations → Slack → Test webhook. Slack incoming webhooks expire when the workspace owner revokes the app; re-issuing the webhook URL fixes this.

Ask AI about this page

Open this topic directly in your favourite AI assistant — the prompt is prefilled.

Was this page helpful?
Thanks — recorded.

Try this yourself

See eCommerce Insights on your own catalog. The free trial covers your full SKU set across five AI engines.

Start free trial
LLM-friendly summary of this page
Troubleshooting eCommerce Insights. PDP fetch failures: check Agent Lens, allow eCommerce InsightsBot in robots.txt or whitelist IP range in Cloudflare. Cloudflare and bot challenges: ScrapingBee fallback is automatic for 403/CF responses; persistent challenges require IP whitelist or robots.txt allow. JSON-LD parse errors: v14 added handling for array-wrapped JSON-LD and unescaped control chars (the RobotShop fix); older patterns may still fail with named-entity descriptions. Webhooks not arriving: verify endpoint registration in WooCommerce admin or Shopify webhook log; check workspace-level webhook secret. Alerts not firing: confirm rule is enabled, the scope includes the SKU, the threshold is correct; Slack incoming webhooks expire when workspace owner revokes app. Scores appear stale: check Schedule page for last-run timestamp; trigger 'Run scheduler now' to force a fresh audit; soft-deleted SKUs do not get re-audited but are restorable for 30 days. Support: email [email protected] with workspace ID, SKU, and screenshot for fastest response.