What this audit checks
Authentication & access
- OAuth2 bearer token present and attaches as ‘Bearer ’
- account_id resolves - /v1/accounts/ returns 200 with the store profile
- Token scope includes read access to products / orders / customers (no 403 on resource reads)
- Validate probe /v1/accounts/ is the cheapest auth check (single account object)
- Plan tier readable - plan_name + product_limit present for plan-cap signals
Catalogue & image completeness
- Products with zero images (image_count = 0) - convert poorly, free lift to fix
- Products with empty description - SEO + conversion drag, AI-fill candidate
- Sold-out products still listed on the storefront (status = sold-out) - quiet revenue leaks
- Active product count vs plan product_limit > 90% - upgrade-or-delist pressure
- Draft / hidden products lingering >30d (abandoned listings)
Inventory hygiene
- Tracked products at zero stock (total_stock <= 0) on active listings (OOS but visible)
- Low-stock tracked products below reorder threshold across the catalogue
- Recent bestseller now sold-out (top-velocity SKU transitioned to status=sold-out)
- Stale inventory - active product updated_at > 90d (likely dead listing)
Refunds & customer trust
- Refund rate > 5% on 30D vsP (product-quality / expectation mismatch)
- Rolling 24h refund rate > 2x 30D baseline (anomaly spike)
- Cancellation rate > 3% (stock or expectation problem)
- Concentrated repeat-refunder - single customer with multiple refunds (fraud / dissatisfaction signal)
Order & fulfilment SLA
- Pending orders aged > 24h (payment-gateway hiccup or manual-review drag)
- Paid-but-unshipped orders aged > 48h (broken shipping promise)
- Avg time-to-ship > 72h on 30D vsP (slow ops for a hand-packed maker)
- Order volume drop > 20% vsP without a known cause (silent acquisition fall)
Cross-channel: leak vs Ads / Email / Website-performance (the killer area)
- Active ad spend on sold-out / OOS Big Cartel products - daily spend on products that can’t convert
- Email-attributed revenue share < 15% (email under-utilised) OR drop > 20% vsP when an email tool is connected
- High-value customers (top-spend P90) unengaged on email > 90d - win-back opportunity
- Top-velocity products with LCP > 4s on a connected website-performance source (slow PDP → cart loss)
Severity thresholds
| Signal | Warn | Critical |
|---|---|---|
products_no_image_count | 1 | 10 |
products_no_description_count | 1 | 10 |
sold_out_listed_count | 1 | 5 |
plan_product_usage_pct | 90 | 100 |
oos_tracked_count | 1 | 10 |
low_stock_count | 1 | 10 |
inventory_staleness_days | 60 | 90 |
refund_rate_pct | 3 | 5 |
refund_spike_multiplier | 1.5 | 2 |
cancellation_rate_pct | 2 | 3 |
pending_orders_aged_24h | 3 | 15 |
unshipped_paid_aged_48h | 5 | 20 |
avg_time_to_ship_hours | 48 | 72 |
order_volume_drop_pct | 15 | 20 |
shipping_pct_of_revenue | 12 | 15 |
ads_on_oos_daily_spend | 1 | 25 |
email_revenue_share_pct | 15 | 10 |
high_value_unengaged_count | 3 | 5 |
slow_pdp_top_product_count | 1 | 3 |
Data sources
GET https://api.bigcartel.com/v1/accounts/{account_id}- Auth probe + plan tier + product_limit + currency (cheapest validate)GET https://api.bigcartel.com/v1/accounts/{account_id}/products- Catalogue completeness + image/description coverage + sold-out + stock hygieneGET https://api.bigcartel.com/v1/accounts/{account_id}/orders- Revenue + refund-rate spike + fulfilment SLA + country mixGET https://api.bigcartel.com/v1/accounts/{account_id}/customers- Customer count + repeat rate + top-spender concentration