Total catalogue size (all products).
At a glance
Live count of every product in the Ecwid catalogue, enabled or disabled, in stock or out. This is the simplest catalogue-scale read there is, and for a small Ecwid merchant it doubles as a sanity check: the number should match what the merchant believes they have. The card is informational. Its value is as a denominator for the catalogue-health cards and as a tripwire, a sudden change in total products usually means a bulk import, an export-reimport, or a sync that added or removed lines the merchant did not expect.
| What it counts | COUNT(products) across the entire catalogue, regardless of enabled state or stock level. Every product record counts once. |
| API endpoint | GET /v3/{store-id}/products (paged, max 100 per call, OAuth2 with read_catalog scope). The engine reads the total product count. Webhook updates fire on product.created, product.updated, product.deleted. |
| What it counts as one product | Each product record is one count, including its variations. A T-shirt with five sizes is one product, not five. Variations are not counted separately here. |
| What it includes | Enabled and disabled products, in-stock and out-of-stock products, tracked and untracked products, digital and physical products. |
| What it excludes | Deleted products (removed from the catalogue), and standalone variations (those roll up into their parent product). |
| Live vs total | This card is the total. For the buyable subset, net out Disabled Products and Out-of-Stock Products. |
| Currency | number. A count of products, not a money figure. |
| Time window | RT (real time). The card reflects the current catalogue state. |
| Alert trigger | None - informational. The card surfaces catalogue size; it does not fire a threshold alert. |
| Roles | owner, operations. |
Calculation
Calculated automatically from your Ecwid 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 small UK ceramics studio running an Ecwid widget on their Instant Site, catalogue review on 21 Apr 26 after a bulk import. The studio sells hand-thrown mugs, bowls, and seasonal pieces. They keep the catalogue lean and recently used a CSV import to add a new glaze range.| Snapshot | 21 Apr 26 | 14 Apr 26 | Change |
|---|---|---|---|
| Total Products (this card) | 96 | 74 | +22 |
| Disabled Products | 9 | 8 | +1 |
| Out-of-Stock Products | 6 | 5 | +1 |
| Enabled and in stock | 81 | 61 | +20 |
Sibling cards merchants should reference together
| Card | Why it matters next to total products | What the combination tells you |
|---|---|---|
| Disabled Products | Hidden subset. | Total minus disabled gives the products actually visible on the storefront. |
| Out-of-Stock Products | Empty subset. | Total minus disabled minus OOS approximates the buyable catalogue. |
| Low Stock Products | Restock watchlist. | Shows how much of the total catalogue is at risk of going unbuyable soon. |
| Products on Unlimited Stock (No Tracking) | Tracking coverage. | What share of the total catalogue has stock tracking switched off. |
| Top Products by Revenue | Concentration. | A large catalogue where a few SKUs drive revenue signals long-tail dead weight. |
| Total Revenue | Revenue per product. | Revenue against catalogue size hints at whether the catalogue is working or bloated. |
| Inventory Sync Drift Across Storefronts | Sync integrity. | An unexpected total swing alongside drift points to a sync that added or removed products. |
Reconciling against Ecwid
Where to look in Ecwid’s own dashboard:
Ecwid Control Panel (my.ecwid.com) -> Catalog -> Products
The product list header shows the total count. With no filters applied, that total is the apples-to-apples comparison against this card.
To verify an import, sort by date-created and confirm the newly added products match the expected batch size.
Why our number may differ:
| Reason | Direction | Why |
|---|---|---|
| Variation counting | Ours product-level | We count each product once including its variations; a view that counts variations or SKUs separately will read higher. |
| Disabled inclusion | n/a | We include disabled products in the total; if you compare against a filtered “enabled only” view, ours will be higher. |
| Draft products | Either | Newly created, unpublished drafts may or may not be visible in a default filtered list; we count them. |
| Sync lag | Marginal | Webhook-driven; a just-imported or just-deleted product may take a polling cycle to reflect. |
| Mid-import timing | Either | A bulk import in progress can show a count between the old and new totals until it completes. |
ecwid_total_products = COUNT(products) across the entire catalogue, counted at product level.
Known limitations / merchant FAQs
Does this count variations or just products? Just products. A product with multiple sizes or colours counts as one, not one per variation. If your mental model is “I have 200 SKUs across 96 products”, this card shows 96. Does it include disabled and out-of-stock products? Yes, the total includes everything: enabled, disabled, in stock, out of stock, tracked, untracked, digital, physical. To get the buyable subset, net out Disabled Products and Out-of-Stock Products. Why is there no alert? Because catalogue size has no universally correct level. A lean ceramics studio and a 5,000-line reseller are both healthy. The card is informational and best used to confirm imports landed as expected and to watch for unexplained swings. My total jumped after a CSV import. How do I know it worked? The total should rise by exactly the number of new rows. A larger jump usually means duplicate rows; a smaller jump means some rows failed validation (often a missing price or image). Use this card as your import receipt before hunting for products one by one. My total dropped and I did not delete anything. What happened? An export-reimport or a sync may have deleted and recreated products, or removed lines that failed a re-validation. Check your recent sync activity and Inventory Sync Drift Across Storefronts. Ecwid keeps an order history regardless, so past sales are unaffected. Does deleting a product change my historical revenue? No. Deleting removes the product from the catalogue going forward, but past orders that included it are untouched and still count toward revenue cards. Deleting is irreversible for the product record though, so disable rather than delete if you might bring it back. Why does my Ecwid Control Panel show a different number? Most often because the dashboard view has a filter applied (enabled-only, in-stock-only, or a category filter), or because it is counting variations separately. Clear all filters and compare the unfiltered product-list total. How fresh is this count? It is real time, refreshed each polling cycle and on theproduct.created, product.updated, and product.deleted webhooks. Imports and deletions appear in the next dashboard render once Ecwid finishes processing them.