> ## 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 Customers, OpenCart

> Lifetime count of registered customer accounts in your OpenCart store. Tracked live in Vortex IQ Nerve Centre. How to read it, why it matters, and how to act on it.

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

> The lifetime count of registered customer accounts in the store, the size of the audience you own and can market to directly.

## At a glance

> Total Customers is the running tally of registered accounts in your OpenCart store. It is your owned-audience size: the people you can email, segment, and re-engage without paying for reach each time. It is a lifetime, cumulative figure, so it only ever climbs unless accounts are deleted. The number matters less day to day and more as a trend and a denominator: it is the base under repeat rate, the pool a newsletter draws from, and a rough gauge of how much of your demand you have converted into a lasting relationship rather than a one-off sale.

|                           |                                                                                                                                                                                                              |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **What it counts**        | The total number of registered customer accounts in the store, all time.                                                                                                                                     |
| **Customer source**       | Registered accounts live in `oc_customer`. The count is of account records, not orders.                                                                                                                      |
| **Guest checkouts**       | Guest orders may not create an `oc_customer` record, so a high-guest store can have far more buyers than this count shows. Total Customers measures *registered accounts*, not everyone who has ever bought. |
| **Approved / unapproved** | OpenCart can require account approval (especially for B2B / customer groups). Whether unapproved accounts are included depends on configuration.                                                             |
| **Customer groups**       | Accounts belong to customer groups (retail, wholesale, etc.); this card counts across all groups by default.                                                                                                 |
| **Currency / refunds**    | Not applicable. This is an audience-size count, not a money metric.                                                                                                                                          |
| **Multi-store**           | Customers carry a `store_id` reflecting where they registered; by default this card counts across every storefront.                                                                                          |
| **Time window**           | RT (live, cumulative)                                                                                                                                                                                        |
| **Alert trigger**         | None. This is a slow-moving cumulative base; watch growth via New Customers instead.                                                                                                                         |
| **Roles**                 | owner, marketing                                                                                                                                                                                             |

## Calculation

```
COUNT(customers)
  (all registered accounts, lifetime)
```

## Worked example

A Canadian pet-supplies store on OpenCart 4.x, running both a retail storefront and a small wholesale customer group. The snapshot is taken on 20 Mar 26.

| Segment                             | Accounts       | Notes                                 |
| ----------------------------------- | -------------- | ------------------------------------- |
| Retail customer group               | 18,400         | The bulk of the base                  |
| Wholesale customer group (approved) | 220            | B2B accounts, approval required       |
| Wholesale (pending approval)        | 35             | Included or excluded by configuration |
| Guest buyers with no account        | \~4,000 buyers | Not counted, no `oc_customer` record  |
| **Total Customers (this card)**     | **18,620**     | approved retail + wholesale           |

What's interesting here:

1. **Roughly 4,000 buyers are invisible to this count.** The store accepts guest checkout, so thousands of people have bought without creating an account. Total Customers measures the *owned, addressable* base, not everyone who has ever paid. The gap is itself a marketing opportunity: convert guests to accounts and the base grows.
2. **The wholesale approval queue affects the number.** Thirty-five pending B2B accounts sit in limbo; whether they count depends on configuration. For a B2B-heavy store this matters, because an unapproved account cannot yet buy at wholesale prices but may still be a real prospect.
3. **It only goes up.** Because it is cumulative, Total Customers rises monotonically unless accounts are deleted (for example a privacy-driven erasure). A sudden drop is almost always a deletion event or a data issue, not lost customers in the usual sense.
4. **The trend matters more than the level.** 18,620 alone says little. Read against [New Customers (30D)](/nerve-centre/kpi-cards/opencart/new-customers-30d) it tells you how fast the owned audience is compounding, which is the number marketing actually plans against.

## Sibling cards merchants should reference together

| Card                                                                                                                | Why pair it with Total Customers                                                   |
| ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| [New Customers (30D)](/nerve-centre/kpi-cards/opencart/new-customers-30d)                                           | The growth rate of this base. Total is the level; New is the inflow that moves it. |
| [Repeat Customer Rate](/nerve-centre/kpi-cards/opencart/repeat-customer-rate)                                       | Uses this base as its denominator; loyalty is a share of total customers.          |
| [Newsletter Opt-In Rate](/nerve-centre/kpi-cards/opencart/newsletter-opt-in-rate)                                   | How much of your owned audience you can actually email; opt-in share of total.     |
| [High-Value Customers Unengaged on Email](/nerve-centre/kpi-cards/opencart/high-value-customers-unengaged-on-email) | Finds the valuable slice of the base at risk of going cold.                        |
| [Order Volume](/nerve-centre/kpi-cards/opencart/order-volume)                                                       | Orders per customer is a quick health ratio; pair the two to see engagement depth. |
| [Average Order Value](/nerve-centre/kpi-cards/opencart/average-order-value)                                         | Combined with the base, gives a rough lifetime-value sketch for planning.          |

## Reconciling against OpenCart

**Where to look in the OpenCart admin:**

Customers → Customers lists every registered account and shows the total at the foot of the list or in the filter results. You can filter by customer group, approval status, and store to break the total down. Reports → Customers → Customer Orders ties accounts to their order history, and System → Settings → multi-store context lets you see which storefront an account registered against. The base table is `oc_customer`.

OpenCart admin views that *look* like the same number but aren't:

* **Reports → Customers → Customer Orders** lists customers who have *ordered*, not all registered accounts, so it undercounts accounts that registered but never bought.
* **A newsletter subscriber count** is the opted-in subset, not the full account base.
* **The Dashboard** shows no lifetime customer total; recent-activity tiles are not the cumulative count.
* **A guest order's email** in Sales → Orders represents a buyer but not necessarily an `oc_customer` account, so the orders list can imply more "customers" than this card counts.

**Why our number may legitimately differ from the OpenCart admin:**

| Reason                                                                                                                                         | Direction of divergence                       |
| ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| **Approval status.** Whether unapproved accounts are included is configurable; an admin view filtered differently will not match.              | Either direction                              |
| **Multi-store.** Customers carry a `store_id`; this card counts across all storefronts unless filtered. A single-store admin view shows fewer. | Card higher than a single-store view          |
| **Guest buyers.** Guests without an `oc_customer` record are excluded here but may appear as "customers" in order-based reports.               | Card lower than an order-based customer count |
| **Customer groups.** The card counts all groups by default; an admin view filtered to one group shows fewer.                                   | Card higher than a single-group view          |
| **Account deletions.** Privacy-driven erasures remove accounts; the card reflects deletions, so a historical admin export may be higher.       | Card lower after deletions                    |
| **API / DB sync lag.** An account created in the last minute may not yet be reflected.                                                         | Self-resolves at next sync                    |

**Cross-connector note:** if you run an email platform, its total contact count will usually exceed this number, because it also holds guest buyers (captured by email at checkout), newsletter-only signups, and imported lists. The email tool measures *reachable contacts*; this card measures *registered store accounts*. Both are useful, and the gap between them is a sign of how much of your audience lives outside formal accounts.

<details>
  <summary><em>Same-metric documentation cross-reference (for agencies running multiple platforms)</em></summary>

  The same idea of a total registered-customer count exists on other commerce platforms. This is **not a reconciliation**, your OpenCart store has no parallel store elsewhere to compare against. These links help agencies running multi-platform client books navigate between equivalent metrics.

  * [`shopify.unique_customers`](/nerve-centre/kpi-cards/shopify/unique-customers)
  * [`bigcommerce.unique_customers`](/nerve-centre/kpi-cards/bigcommerce/unique-customers)
</details>

## Known limitations / merchant FAQs

**Does this include guest buyers?**
No. Guest checkouts may not create an `oc_customer` record, so people who bought without registering are not counted. Total Customers measures your *registered, addressable* account base, not everyone who has ever purchased. The gap between buyers and accounts is itself worth watching.

**Why is my email platform's contact count higher?**
Email tools hold more than store accounts: guest buyers captured by email, newsletter-only signups, and imported lists. They measure reachable contacts; this card measures registered store accounts. A larger email list is normal and healthy.

**Should this number ever go down?**
Rarely. It is cumulative, so it climbs as accounts are created. A drop almost always means account deletions (often a privacy erasure request) or a data issue, not customers "leaving" in the ordinary sense.

**Do unapproved or pending accounts count?**
That depends on configuration. OpenCart can require approval for some customer groups (common in B2B). The card can be set to include or exclude unapproved accounts to match how you treat them operationally.

**Does it count across all my storefronts and customer groups?**
Yes by default. Customers carry a `store_id` and belong to a customer group; the card sums across all storefronts and all groups unless you filter. Filtered admin views will naturally show smaller totals.

**Why is there no alert on this card?**
The lifetime base moves slowly and almost always upward, so a threshold on the level would not be useful. Growth is the actionable signal, and that is what [New Customers (30D)](/nerve-centre/kpi-cards/opencart/new-customers-30d) watches. A sudden *fall* here, by contrast, is worth investigating as a deletion or data event.

**How do I grow this number?**
Convert guests to registered accounts at or after checkout, offer an account benefit (order tracking, faster reorder, loyalty), and capture emails that can later become accounts. Watch the effect through New Customers and the opt-in rate rather than this slow cumulative total alone.

***

### Tracked live in Vortex IQ Nerve Centre

*Total Customers* 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](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
