Storefront monitoring active

Track every error.
Before your customers do.

Bloodhound monitors your Shopify storefront for JS errors, Core Web Vitals regressions, and slow third-party scripts. Know exactly how much revenue you're losing and where.

<5KB
Script size (gzip)
0ms
Render blocking
5
Web Vitals tracked
p75
Statistical accuracy

Every millisecond
is costing you money

Performance isn't a nice-to-have. The research is clear: slow stores lose customers, and you won't know it's happening unless you're measuring it.

Google's research across millions of mobile page loads found that as load time increases from 1 second to 3 seconds, the probability of a visitor bouncing increases by 32%. At 5 seconds, it's 90%.

The Deloitte "Milliseconds Make Millions" study found that a 100ms improvement in load time led to a 8.4% increase in conversions for retail sites and a 9.2% increase in average order value. That's not a rounding error. That's the difference between a good quarter and a bad one.

But here's what most merchants miss: it's not just your theme. Every Shopify app that injects JavaScript onto your storefront adds weight. Reviews widgets, pop-ups, analytics tags, chat widgets, loyalty programs. Each one adds load time, and most of them run synchronously, blocking your page from rendering.

Then there are the silent errors. A broken add-to-cart button on mobile Safari. A payment widget failing for customers on slow 3G. A third-party script throwing exceptions on every page load. These don't show up in your Shopify analytics. You just see conversion rate dip and don't know why.

Bloodhound exists because you can't fix what you can't see. And right now, you're flying blind.

100ms

+8.4% conversions

A 100ms speed improvement increases retail conversion rates by 8.4%

53%

Visitors leave at 3s

53% of mobile visitors abandon a page that takes longer than 3 seconds to load

70%

Longer sessions when fast

Sites that load within 5 seconds see 70% longer average sessions and 35% lower bounce rates

1%

Sales lost per 100ms

Every 100ms of added latency costs 1% in sales, per Amazon's internal testing

3rd

Party scripts dominate

Third-party requests account for 45% of all requests on median web pages, with significant CPU impact

The average Shopify store loads 15-25 third-party scripts. Each one you can't see is a risk you can't manage. Bloodhound shows you every script, every error, every metric, and tells you exactly how much it's costing.

Everything is
being tracked

One script. Zero performance impact. Complete visibility into what's happening on your storefront.

01

JS Error Tracking

Captures window.onerror, unhandled promise rejections, and failed fetch/XHR requests. Signature-based deduplication means you see grouped issues, not thousands of duplicate events. Full stack traces, browser breakdown, and page template analysis.

window.onerror + unhandledrejection
02

Core Web Vitals

LCP, CLS, INP, FCP, and TTFB measured from real user traffic on every page load. Daily p75 aggregation with good/needs-work/poor scoring against Google's thresholds. 30-day trend charts show performance trajectory.

PerformanceObserver API
03

Script Analytics

Every JavaScript file on your storefront, measured. Transfer size, load duration, blocking time. See which third-party scripts (GTM, Klaviyo, Hotjar) are dragging your store down. First-party vs third-party breakdown by origin.

Resource Timing API
04

Revenue Attribution

Connects errors and performance directly to your bottom line. Uses your AOV and conversion rate to calculate estimated revenue at risk. Formula: affected sessions × conversion rate × AOV. See the impact in GBP, USD, or EUR.

sessions × CR × AOV
05

Issue Lifecycle

Errors are automatically grouped into issues with full lifecycle tracking: new → active → resolved → regressed. Auto-regression detection alerts you when a fixed bug returns. Status change audit trail and affected session counts.

auto-regression detection
06

Alerts

Push notifications to Slack, Microsoft Teams, Discord, or any custom webhook endpoint. Configurable cooldown periods per issue so you get notified when it matters, not every 5 seconds. Full alert delivery log for audit.

Slack + Teams + Discord + webhook

Live in five minutes

No code changes. No theme editing. Install, enable, and data starts flowing from real visitor traffic.

1

Install the app

One-click install from the Shopify App Store. Free plan available.

2

Enable the block

Toggle the theme app embed. Adds a <5KB async script to your storefront head.

3

Traffic generates data

Real visitor sessions start producing CWV metrics, error events, and script timings.

4

View the dashboard

Errors, performance scores, and script analytics appear in the embedded Shopify admin dashboard.

5

Set up alerts

Connect Slack, Teams, or Discord to get notified on new issues and regressions.

See what Bloodhound sees

The ingestion server processes batched events from your storefront in real-time. PostgreSQL-backed with hourly p75 aggregation and automated revenue impact calculations.

Ingestion server: online
PostgreSQL: connected
Aggregation jobs: running
bash ~ bloodhound
$ curl -s https://bloodhound.weareblue.dog/health

# Response:
{
  "status": "ok",
  "db": "postgresql",
  "stores": 2,
  "errors": 5,
  "issues": 2,
  "cwvMetrics": 15,
  "scriptMetrics": 207,
  "uptime": 3956
}
$ _

What the script captures

A lightweight, non-blocking storefront script that captures everything you need without impacting your store's performance.

Error Capture

  • window.addEventListener('error') for runtime exceptions
  • unhandledrejection for async/promise failures
  • fetch() wrapper intercepts 4xx/5xx responses
  • Failed network requests (fetch_fail events)
  • Source file, line number, column number
  • Full stack trace (up to 2KB)
  • Third-party origin detection

Performance Metrics

  • PerformanceObserver for LCP, CLS, INP, FCP
  • Navigation Timing API for TTFB
  • Resource Timing for all script elements
  • Transfer size, load duration, blocking time
  • First-party vs third-party classification
  • Page template detection (product, collection, cart, etc.)

Data Transport

  • Batched every 5 seconds via sendBeacon
  • Survives page navigation and tab close
  • Fetch with keepalive as fallback
  • Client-side dedup by error signature
  • Max 50 errors per session cap
  • Max 20 CWV measurements per session

Session Context

  • Anonymous session ID (no PII)
  • Browser user agent string
  • Page URL and template type
  • Shopify shop domain (window.Shopify.shop)
  • Timestamp for every event
  • Template: home, product, collection, cart, checkout, search, blog, account

Simple, predictable pricing

Start free. Upgrade when your store outgrows the free tier. Cancel any time through Shopify billing.

Free
$0
For stores getting started with monitoring
  • Core Web Vitals monitoring
  • JS error capture & dedup
  • 7-day data retention
  • 1 alert destination
  • 10,000 events/month
Get started
Enterprise
$49.99 /mo
For agencies and high-volume stores
  • Everything in Pro
  • Unlimited events
  • Priority support
  • Custom alert conditions
  • API access
  • Multi-store dashboard
Contact us