Variants with a populated SKU. Below 95% breaks marketplace + 3PL integrations.
At a glance
Percentage of active variants with a populated SKU string. Below 95% breaks marketplace integrations (Amazon, eBay), 3PL feeds, and inventory-management apps that key off SKU.
| What it counts | COUNT(active variants WHERE sku IS NOT NULL AND sku != '') ÷ COUNT(active variants) × 100. Each variant is one count regardless of price or velocity. |
| VAT / tax treatment | Not applicable, count metric. |
| Shipping | Not applicable. |
| Discounts | Not applicable. |
| Refunds | Not applicable. |
| Cancelled / voided orders | Not applicable. |
| Currency | Not applicable. |
| Channels / sources | Inventory state is store-wide. Some marketplace channels require SKUs to publish; missing-SKU variants are silently dropped from those channels. |
| Time window | RT (real-time, computed from latest indexed catalogue snapshot). |
| Alert trigger | <95%, sustained coverage below 95% trips the sku_coverage sentiment key. |
| Roles | owner, operations |
Calculation
Calculated automatically from your Shopify data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK homewares brand on Shopify, ~2,400 active variants. Snapshot 12 May 26.| Bucket | Variant count | Share |
|---|---|---|
| Active variants with populated SKU | 2,160 | 90.0% |
| Active variants with empty/null SKU | 240 | 10.0% |
| Total active variants | 2,400 | 100% |
90.0%, 5 ppt below the 95% alert threshold. Six things to notice:
- The alert is firing. Coverage <95% means downstream integrations have gaps: Amazon will reject 240 variants on next feed sync; the 3PL won’t receive SKUs for those variants and pickers will see “unnamed item” labels.
- Most missing SKUs are recent additions. Drill-down typically shows 70-80% of the missing-SKU variants were added in the last 30 days. The team adds products fast and forgets to populate SKU. Audit the product-creation workflow.
- Some are intentional. Bundle variants, gift cards, and digital products often don’t need SKUs by some teams’ conventions. If those are the missing 240, the threshold is misconfigured; tune to exclude
productType IN ('Gift Card','Digital','Bundle'). - Marketplace impact is silent. When a Shopify-Amazon-Connector pushes an inventory feed, missing-SKU variants are silently dropped. The brand may not realise 240 variants are invisible on Amazon until a customer asks why a product disappeared.
- 3PL impact is loud. When the 3PL receives a fulfilment instruction with a missing SKU, the picker can’t find the SKU label on the shelf. Either the order delays, the picker substitutes, or the warehouse calls customer-service. All friction.
- Action: bulk-fix via Shopify import/export. Export all variants, populate SKU column based on a naming convention (e.g.
[product_handle]-[colour]-[size]), re-import. Coverage rises to ~100% in minutes. Worth doing as a quarterly hygiene action.
Sibling cards merchants should reference together
SKU Coverage is the catalogue-hygiene canary. Companions:| Card | Why pair it with SKU Coverage |
|---|---|
| Top SKUs | The velocity card is meaningless when coverage is broken; fix coverage first. |
| Top Products by Revenue | Product-level revenue ranking; complements SKU-level. |
| Missing Descriptions | Catalogue-hygiene cousin; products without descriptions affect SEO. |
| Missing SEO | Catalogue-hygiene cousin; products without SEO meta affect organic. |
| Product Status | Active vs draft vs archived; coverage on draft/archived doesn’t matter. |
| Catalogue Drift vs Amazon | Coverage gaps drive marketplace mismatches. |
| Inventory Distribution | Missing-SKU variants don’t appear in inventory tracking. |
Reconciling against the vendor’s own dashboard
Where to look in Shopify Admin:Shopify Admin → Products → All products filtered by SKU is emptyThe most direct equivalent. Count of matching products / total active products = coverage. Should match this card to within sync-lag tolerance. Other Shopify Admin views:
- Bulk editor (Products → Bulk actions → Edit products): shows SKU column for bulk fix.
- Apps like Stocky, Inventory Planner: typically refuse to track variants without SKUs; their dashboards show how many are excluded.
| Reason | Direction | Why |
|---|---|---|
| Active filter | We filter; Admin may not | We exclude draft and archived variants; Shopify Admin’s SKU is empty filter includes them by default. |
| Sync lag | Either, transient | Catalogue updates lag 5-15 min during heavy edits. |
| Bundle / virtual variants | Either | Bundle apps create virtual variants; whether they’re “active” depends on app config. |
| Product type exclusions | We don’t exclude by default | Configurable: productType exclusions for Gift Card, Digital, Bundle. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
amazon_sp.amazon_listing_count | Should equal Shopify’s variant count for cross-listed catalogue | If coverage is 90% and you sync to Amazon, expect Amazon’s count to be ~90% of Shopify’s variant count. |
| 3PL / WMS catalogue size | Should equal Shopify variant count | 3PL only receives SKU-populated variants; missing-SKU variants are dropped silently. |
Known limitations / merchant FAQs
Why does coverage matter? Five downstream consumers depend on SKUs:- Marketplaces (Amazon, eBay, Etsy): require SKU to list; missing-SKU variants are silently dropped.
- 3PL / fulfilment partners: pick orders by SKU; missing-SKU variants cause pick failures.
- Inventory-management apps (Stocky, Inventory Planner, Cogsy): track stock by SKU; missing-SKU variants don’t appear in forecasts.
- Accounting / ERP integrations (Xero, NetSuite, QuickBooks): post sales by SKU; missing-SKU variants accumulate as “unknown product” entries.
- Bulk catalogue feeds (Google Shopping, Meta Catalog): require SKU as the unique identifier for ad serving.
- Manual creation by content team: marketing-focused contributors think in product names, not SKUs. Easy oversight.
- App-imported products: some apps create variants without populating SKU (relying on Shopify variant ID). These are typically the worst offenders.
productType IN ('Gift Card').
My SKU strings have prefixes / suffixes; does that matter?
For coverage purposes, no; non-empty string suffices. For downstream consumers, format matters. Example: a 3PL may require alphanumeric only (HOMEWARES-001); some marketplaces require ASIN-format (12-char alphanumeric). Audit per-channel SKU naming policies.
Why are some variants showing twice?
Duplicate SKUs are a separate problem from missing SKUs. This card measures presence, not uniqueness. Pair with a duplicate-SKU report (on roadmap) to find variants with the same SKU; they confuse downstream systems just as much as missing ones.
Subscription products, do they need SKUs?
Yes. Recurring orders create line items with SKUs; if missing, the recurring billing has no product reference. Subscription apps like ReCharge, Bold, or native Shopify Subscriptions require SKUs.
Action playbook to fix coverage:
- Bulk export all active variants to CSV.
- Identify missing SKU rows (filter on empty SKU column).
- Apply naming convention in CSV: e.g.
{handle}-{option1}-{option2}. - Bulk import the CSV; Shopify updates SKUs in batch.
- Verify coverage rises to ~100% on this card.
- Process change: make SKU a required field in your product-creation checklist; consider a Shopify Function to enforce it server-side.