Skip to main content
Metrics type: Supporting MetricsCategory: Ecommerce Platform
The count of products with an empty SKU or empty Model field, the identifiers that product feeds, marketplaces, and stock systems rely on to match a product.

At a glance

In OpenCart, every product has a Model field (required at the schema level) and an optional SKU field. Humans shop by name, but machines match by identifier: Google Shopping feeds, marketplace listings, warehouse systems, and accounting exports all key off SKU or Model. A product with a blank identifier still sells on your storefront, but it falls out of every downstream feed silently. This card counts the products carrying that hidden liability so you can fix them before a feed rejects them.

Calculation

Worked example

A Spanish auto-parts store on OpenCart 4.x with around 6,800 products, listing on its own storefront plus a Google Shopping feed and one marketplace. A bulk CSV import on 12 Mar 26 brought in 400 new lines. The snapshot is taken on 13 Mar 26. What’s interesting here:
  1. The storefront looks perfect, the feeds do not. All 37 products display and sell normally on the OpenCart storefront. The damage is invisible until a feed run rejects them or a marketplace fails to match them, which is exactly why a live count beats waiting for a feed error report.
  2. Four blank Models should not exist. OpenCart requires Model at the schema level, so a blank Model almost always means an import wrote rows that bypassed normal validation (a direct DB insert or a permissive import extension). Those four are a red flag about the import process itself, not just the products.
  3. SKU blanks are the common, fixable case. Thirty-one products simply never had a SKU entered. For an auto-parts store, SKU is often the manufacturer part number the marketplace matches on, so a blank SKU means lost marketplace visibility on parts that may be in demand.
  4. One blank, every feed. Because products are shared across storefronts, a single blank identifier degrades the Google feed and the marketplace listing simultaneously. Fixing it once in oc_product repairs every downstream system at the next feed run.

Sibling cards merchants should reference together

Reconciling against OpenCart

Where to look in the OpenCart admin: Catalog → Products lists every product; the Model column is shown by default and you can open each product’s Data tab to see both Model and SKU. There is no built-in “missing identifier” filter, so admins usually export the catalogue or sort to find blanks. Reports → Products Viewed and Reports → Products Purchased help you judge which blank-identifier products actually have demand and therefore matter most to fix first. OpenCart admin views that look like the same number but aren’t:
  • The Model column in Catalog → Products shows the Model but not the SKU; a product can have a Model and still be missing its SKU, so eyeballing this column undercounts.
  • A product page that displays a SKU may be showing an option-level or variant SKU rather than the base product SKU; the card checks the base oc_product.sku.
  • A feed extension’s “products exported” total counts what made it into the feed, not what was silently dropped for a blank identifier.
Why our number may legitimately differ from the OpenCart admin: Cross-connector note: if you run a Google Shopping or marketplace feed, blank identifiers here are the upstream cause of feed disapprovals and unmatched listings downstream. Fixing this count is usually the fastest way to lift feed coverage on OpenCart Inventory vs Marketplace Listings.

Known limitations / merchant FAQs

Isn’t Model required in OpenCart? How can it be empty? Model is required through the normal admin form and at the schema level, so a blank Model almost always means a bulk import or direct database write bypassed that validation. A non-zero blank-Model count is therefore as much a warning about your import process as about the products themselves. My products sell fine, so why does a blank SKU matter? On the storefront it does not. It matters downstream: Google Shopping feeds, marketplace listings, stock-sync extensions, and accounting exports match on SKU or Model. A blank identifier means the product silently drops out of, or fails to match in, those systems, costing visibility you never see fail. The admin shows a SKU but the card says it is missing, why? OpenCart can store SKUs at the option or variant level as well as on the base product. This card checks the base oc_product.sku. A product whose only SKU lives on an option will read as blank at the base level. It can also be a whitespace-only value that looks filled but is effectively empty. Should I fix Model or SKU first? Fix blank Models first: they should be impossible and signal a broken import. Then fix blank SKUs on products with real demand (use Reports → Products Purchased to prioritise), since those are the ones losing feed and marketplace visibility. Does the count include disabled products? That depends on configuration. By default the focus is catalogue hygiene across feed-eligible products, but the behaviour can be set to include or exclude disabled items to match how you run your feeds. Why is the number the same across my storefronts? Products are shared across store_id storefronts in OpenCart, so a single blank identifier affects every store’s feeds at once and is counted a single time. Can I auto-generate the missing SKUs? Yes, many merchants backfill SKUs with a CSV update or an extension. The card will drop as soon as the oc_product.sku values are populated and the next sync runs, so a single bulk fix can clear most of the count.

Tracked live in Vortex IQ Nerve Centre

Products Missing SKU / Model is one of hundreds of KPI pulses Vortex IQ tracks across OpenCart and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.