How it works
Here's what you actually see when you log in.
Six screens, five minutes. Onboarding → first scan → prices → alerts → history → exports. No marketing-ese, just the real flow.
Onboarding takes under 2 minutes
After you sign in with the magic link we send, you'll land here. Three required fields: your store URL, 1–5 competitor URLs, and whether you want alerts on drops only or drops and rises.
Optional: a Slack webhook (if you want alerts in Slack instead of just email), tracked product URLs to prioritize on each scan, and a notes field we read when you email support.
You can change any of this later from the same screen — targeting updates take effect on the next scheduled scan.
First scan runs within 8 hours
Cadence by tier
Starter: 2 scans/day (every 12 hours). Growth: 3 scans/day (every 8 hours). Each sweep hits your store + all your competitors in parallel.
Shopify + everything else
Shopify stores via /products.json. Everything else via sitemap discovery + Schema.org JSON-LD on each product page. One scanner, every real platform.
USD-forced, retried
Prices come back in USD regardless of our server location. Transient 5xx + network errors retry once. Silent failures (sitemap works but PDPs don't parse) alert ops before you notice.
Prices tab — latest reading per product, grouped by source
Your store first, then each competitor alphabetically. The sparkline next to each row shows the last 14 readings — green falling, red rising, slate flat. The “source ↗” link opens the actual product page in a new tab for a sanity check. Click any product title to see the full 90-day history.
Alerts — delivered within minutes of the scan
Email digest
One email per sweep that produced new alerts — not one email per change. Groups moves by competitor, shows old→new price and delta %, links to the competitor product page.
Slack webhook
If you set a webhook URL in onboarding, the same digest lands as a Slack message. Growth tier and above — perfect for a #competitive-ops channel the whole team watches.
90-day history + CSV export, no gates
Click any product title on the Prices tab to see the full 90-day price history as a chart (with gradient fill and nice-number y-axis ticks) plus a table of every reading with per-step delta %. If the competitor has moved three times this quarter, you'll see every step.
Need the data elsewhere? “Export CSV” is in the top-right of both Prices and Alerts tabs — one click downloads a dated file with the latest reading (or full alert history) ready for a spreadsheet.
CSV export is at every tier. Google Sheets live sync is on the Growth-tier roadmap.
Under the hood (for the curious)
Every scan is a cron-triggered call to a service endpoint that iterates active tenants and fans out to competitor stores in parallel. Readings are stored forever (or until you cancel + the 30-day retention expires). Alerts are computed by comparing the latest reading to the previous one per product URL — delta ≥1% that matches your direction preference fires an alert row + a delivery attempt.
Two deep-dive posts in the blog cover the scanner internals and the architectural choice behind it:
See it with your own store
Drop your store URL in the free Price Gap Snapshot — we'll scan it against three competitors and email the report in ~90 seconds. If it looks useful, start a 14-day Undercut trial, no card.