> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Total Products, Ecwid

> Total Products: total catalogue size across all products. How to read it, why it matters, and how to act on it.

**Card class:** [Non-Hero](/nerve-centre/overview#card-classes-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

> 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](/nerve-centre/kpi-cards/ecwid/disabled-products) and [Out-of-Stock Products](/nerve-centre/kpi-cards/ecwid/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    |

```text theme={null}
Total Products:            96
Less disabled:             -9
Less out of stock:         -6   (some overlap, see note)
Buyable, roughly:          ~81
Read: the import added 22 products, ~20 of them live
```

**What it means for this studio.** Total products jumped from 74 to 96, a 22-product rise that lines up with the planned glaze-range import. That is the reassuring case: the number moved by the amount the merchant intended, so the import landed cleanly. For a small studio that imports by CSV, this card is the first place to confirm the file did what it was supposed to, before the merchant goes looking for the new products one by one.

The failure modes this card catches are the silent ones. If the total had jumped by 44 instead of 22, the import likely duplicated every row, a common CSV mistake when a key column is misaligned, and the studio would now have two of every new mug cluttering the storefront. If the total had risen by only 12, a third of the rows failed validation and never imported, perhaps for a missing price or image. And if the total had unexpectedly fallen, an export-reimport or a sync may have deleted products rather than updating them.

Because the card is informational and real time, the studio uses it as an import receipt: run the CSV, watch the total settle to the expected figure, then reconcile against [Disabled Products](/nerve-centre/kpi-cards/ecwid/disabled-products) and [Out-of-Stock Products](/nerve-centre/kpi-cards/ecwid/out-of-stock-products) to confirm how many of the new lines are actually live and buyable. A clean import shows the total rising and the buyable subset rising by nearly the same amount.

## Sibling cards merchants should reference together

| Card                                                                                                               | Why it matters next to total products | What the combination tells you                                                             |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------- | ------------------------------------------------------------------------------------------ |
| [Disabled Products](/nerve-centre/kpi-cards/ecwid/disabled-products)                                               | Hidden subset.                        | Total minus disabled gives the products actually visible on the storefront.                |
| [Out-of-Stock Products](/nerve-centre/kpi-cards/ecwid/out-of-stock-products)                                       | Empty subset.                         | Total minus disabled minus OOS approximates the buyable catalogue.                         |
| [Low Stock Products](/nerve-centre/kpi-cards/ecwid/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)](/nerve-centre/kpi-cards/ecwid/products-on-unlimited-stock-no-tracking) | Tracking coverage.                    | What share of the total catalogue has stock tracking switched off.                         |
| [Top Products by Revenue](/nerve-centre/kpi-cards/ecwid/top-products-by-revenue)                                   | Concentration.                        | A large catalogue where a few SKUs drive revenue signals long-tail dead weight.            |
| [Total Revenue](/nerve-centre/kpi-cards/ecwid/total-revenue)                                                       | Revenue per product.                  | Revenue against catalogue size hints at whether the catalogue is working or bloated.       |
| [Inventory Sync Drift Across Storefronts](/nerve-centre/kpi-cards/ecwid/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.                           |

**Internal identity:**

`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](/nerve-centre/kpi-cards/ecwid/disabled-products) and [Out-of-Stock Products](/nerve-centre/kpi-cards/ecwid/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](/nerve-centre/kpi-cards/ecwid/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 the `product.created`, `product.updated`, and `product.deleted` webhooks. Imports and deletions appear in the next dashboard render once Ecwid finishes processing them.

***

### Tracked live in Vortex IQ Nerve Centre

*Total Products* is one of hundreds of KPI pulses Vortex IQ tracks across Ecwid 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](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
