> ## 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.

# Online-Only SKUs, Square Online

> Online-Only SKUs: items visible on Square Online but not present at every location. The online-only complement to your retail catalog. 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)

> Items with present\_at\_all\_locations = false AND ecom\_visibility = VISIBLE. The online-only complement to your retail catalog.

## At a glance

> A real-time count of catalog items that are published to Square Online (`ecom_visibility = VISIBLE`) but are not present at every location (`present_at_all_locations = false`). These are your deliberately web-only products: items you sell online but do not stock on the shop floor, drop-ship lines, web exclusives, oversized items, or made-to-order goods. The count is the size of your online-only catalog complement, the part of your assortment that exists for the website and not the till.

|                           |                                                                                                                                                                                                                                                                                                                                            |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **What it counts**        | `COUNT(items WHERE present_at_all_locations = false AND ecom_visibility = VISIBLE)`. Both conditions must hold: published online AND not stocked everywhere.                                                                                                                                                                               |
| **The two Square fields** | `present_at_all_locations` is a catalog flag controlling which locations an item exists at; `false` means it is restricted to a subset (often a web fulfilment location only). `ecom_visibility` is the storefront visibility enum (`VISIBLE`, `HIDDEN`, `UNINDEXED`, `UNAVAILABLE`); `VISIBLE` means it shows and sells on Square Online. |
| **VAT / tax treatment**   | n/a, this is a catalog-composition count.                                                                                                                                                                                                                                                                                                  |
| **Refunds / orders**      | n/a. This is a catalog state count, not order-based.                                                                                                                                                                                                                                                                                       |
| **Channels / sources**    | **This is the web-exclusive slice of the catalog.** It is the intentional inverse of items sellable at POS but not online. Together they describe how your assortment is split across retail and web.                                                                                                                                      |
| **Currency / unit**       | number (count of online-only items)                                                                                                                                                                                                                                                                                                        |
| **Time window**           | `RT` (real-time, polled from the Square Catalog API every 5-15 minutes)                                                                                                                                                                                                                                                                    |
| **Alert trigger**         | none. This is a catalog-composition card, not a threshold alarm.                                                                                                                                                                                                                                                                           |
| **Roles**                 | owner, operations                                                                                                                                                                                                                                                                                                                          |

## Calculation

Calculated automatically from your Square Online 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 US home and garden merchant on Square: two retail stores plus a Square Online storefront that ships nationwide. Catalog of 2,100 active items. Snapshot taken on 12 Apr 26 at 14:00 UTC.

| Catalog segment                                                                | Items | Notes                                       |
| ------------------------------------------------------------------------------ | ----- | ------------------------------------------- |
| Active catalog items                                                           | 2,100 | All non-archived items                      |
| Present at all locations AND visible online                                    | 1,460 | The shared core, sold in-store and online   |
| `present_at_all_locations = false` AND `ecom_visibility = VISIBLE` (this card) | 380   | Online-only complement                      |
| Present at all locations but `ecom_visibility = HIDDEN`                        | 210   | In-store only, deliberately not online      |
| `present_at_all_locations = false` AND not visible online                      | 50    | Restricted and not on the web, e.g. staging |

Three things to notice:

1. **Online-only is a deliberate assortment strategy, not an error.** The 380 web-only items are likely oversized or drop-ship goods (garden furniture, large planters) that do not fit the shop floor but ship fine, plus web exclusives. A healthy count here is a sign of a mature omnichannel assortment, not a problem. That is why the card has no alert: more or fewer online-only items is a merchandising decision.
2. **The two flags must both be checked, and one alone misleads.** An item with `present_at_all_locations = false` but `ecom_visibility = HIDDEN` is restricted AND not on the web, it is not online-only, it is nowhere customer-facing (the 50-item staging bucket). Only the items that are both location-restricted and visible online belong on this card. Reading `present_at_all_locations` alone would overcount.
3. **Online-only items still need inventory discipline.** Because they are not at every location, their stock is held at a web fulfilment location and must be tracked there. An online-only item with no SKU or with inventory tracking off is an oversell waiting to happen, the website will keep selling it. Pair with [Items Missing SKU](/nerve-centre/kpi-cards/square-online/items-missing-sku) to make sure the web-only catalog is properly identified.

## Sibling cards merchants should reference together

| Card                                                                                                                         | Why pair it with Online-Only SKUs                                                                                                                                                   |
| ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Items POS-Sellable but Not Online-Visible](/nerve-centre/kpi-cards/square-online/items-pos-sellable-but-not-online-visible) | The exact mirror image. This card is web-only; that card is store-only. Together they map how your assortment splits across channels.                                               |
| [POS to Online Inventory Drift](/nerve-centre/kpi-cards/square-online/pos-online-inventory-drift)                            | Online-only items are correctly absent from POS, so they should never count as drift. Useful to confirm a flagged drift case is a misconfiguration, not a deliberate web-only item. |
| [Items Missing SKU](/nerve-centre/kpi-cards/square-online/items-missing-sku)                                                 | Online-only items still need SKUs for inventory and reordering. A SKU-less web-only item is an oversell risk.                                                                       |
| [Total Catalog Items](/nerve-centre/kpi-cards/square-online/total-catalog-items)                                             | The denominator. Online-only as a share of the catalog describes how web-weighted your assortment is.                                                                               |
| [Revenue from POS-Only Items](/nerve-centre/kpi-cards/square-online/revenue-from-pos-only-items)                             | The revenue mirror on the retail side. Comparing online-only count with POS-only revenue shows where each channel's exclusive assortment pulls its weight.                          |
| [Out-of-Stock Products](/nerve-centre/kpi-cards/square-online/out-of-stock-products)                                         | Online-only items that go OOS hit the web channel directly with no in-store fallback, so their stock-outs are higher-stakes.                                                        |

## Reconciling against Square

**Where to look in the Square Dashboard:**

[Square Dashboard, Items, Item library](https://squareup.com/dashboard/items/library), plus the Square Online site editor. In the item editor, an online-only item shows **Site visibility = Visible** while its **Locations** setting is restricted to a subset rather than "All locations". To audit at scale, export the catalog to CSV and filter for items where the all-locations flag is off and the online visibility is set to visible.

Other Square Dashboard views that *look* like the same number but aren't:

* **Square Online, Items, Visible**: counts everything visible on the web, including items present at all locations. You also need the location-restriction condition to isolate online-only.
* **Items, Item library, Locations filter**: shows items restricted to a location set, but does not filter by online visibility, so it includes restricted items that are hidden online too.
* **Items, item editor, single item**: shows both flags for one item at a time, the place to fix, not to count.

**Why our number may legitimately differ from Square Dashboard:**

| Reason                                                                                                                                                                                                                  | Direction of divergence                 |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
| **Both conditions required**. We require `present_at_all_locations = false` AND `ecom_visibility = VISIBLE`. A dashboard view filtered on only one flag will report a different, larger set.                            | Vortex IQ lower than a single-flag view |
| **Visibility enum nuance**. Square's `ecom_visibility` has four states (`VISIBLE`, `HIDDEN`, `UNINDEXED`, `UNAVAILABLE`). Only `VISIBLE` counts here; `UNINDEXED` (sellable by direct link but not in nav) is excluded. | Vortex IQ excludes UNINDEXED items      |
| **Item vs variation**. This card counts at the item level for catalog composition; SKU-related cards count at the variation level.                                                                                      | Different granularity from SKU cards    |
| **Archived items**. Archived items are excluded here.                                                                                                                                                                   | Vortex IQ lower than a full export      |
| **Sync lag**. The most recent \~5 minutes of catalog edits may not be in our index.                                                                                                                                     | Self-resolves within minutes            |

**Cross-connector reconciliation:**

| Card                                                                                                 | Expected relationship                                                        | What causes legitimate divergence                                                                                                                                                                                               |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`google_analytics` product views](/nerve-centre/kpi-cards/google-analytics/top-products-by-revenue) | Online-only items should generate web product views; POS-only items never do | GA4 sees only the web storefront, so online-only items appear in its product reporting while store-only items do not. A web-only item with zero GA4 views may be buried in navigation (check it is `VISIBLE`, not `UNINDEXED`). |

**The Square two-flag model:** Square separates *where an item exists* (`present_at_all_locations`) from *whether it shows online* (`ecom_visibility`). That separation is what makes a clean online-only catalog possible, you can stock an item only at a web fulfilment location and still publish it to the storefront. This card is the intersection of those two flags, which is why reading either flag alone gives the wrong number.

***

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

  A web-exclusive catalog slice exists on other commerce platforms, modelled through each platform's own location and channel-visibility settings.

  * [`shopify.online_only_skus`](/nerve-centre/kpi-cards/shopify/online-only-skus)
  * [`bigcommerce.online_only_skus`](/nerve-centre/kpi-cards/bigcommerce/online-only-skus)
</details>

## Known limitations / merchant FAQs

**What makes an item "online-only" in Square terms?**
Two conditions together: `present_at_all_locations = false` (the item is restricted to a subset of locations rather than stocked everywhere) AND `ecom_visibility = VISIBLE` (it is published and sellable on Square Online). An item meeting both is sold on the web but not carried on every shop floor, the deliberate web-only complement to your retail assortment.

**Why do I need both flags? Isn't one enough?**
No, and reading one alone is the most common mistake. An item with `present_at_all_locations = false` but hidden online is restricted AND off the web, it is not online-only, it is nowhere customer-facing. An item visible online but present at all locations is part of the shared core, sold in-store too. Only the intersection (restricted location set plus visible online) is genuinely online-only.

**Is a high online-only count a problem?**
No, which is why there is no alert. The count reflects a merchandising decision: how much of your assortment is web-exclusive (oversized goods, drop-ship lines, web exclusives, made-to-order). A growing online-only catalog often signals a maturing omnichannel strategy. Watch the trend for unexpected jumps (a bulk import that wrongly restricted items), but there is no universally good or bad level.

**Do online-only items still need SKUs and inventory tracking?**
**Yes, arguably more than shared items.** Because an online-only item is sold without an in-store fallback, an inventory error goes straight to a web oversell with no shop floor to catch it. Make sure online-only items have SKUs ([Items Missing SKU](/nerve-centre/kpi-cards/square-online/items-missing-sku)) and tracked stock at their fulfilment location, or the website will keep selling stock that is not there.

**What about UNINDEXED items, do they count?**
**No.** Square's `ecom_visibility` enum has four states: `VISIBLE`, `HIDDEN`, `UNINDEXED`, and `UNAVAILABLE`. Only `VISIBLE` counts here. `UNINDEXED` items are sellable by direct link but hidden from site navigation and search, a deliberately limited-exposure state, not a fully published online-only item. If a web-only item you expect to see is missing from this card, check it is `VISIBLE` and not `UNINDEXED`.

**Should an online-only item ever show up as inventory drift?**
**No.** An online-only item is correctly absent from POS, so its "not at POS" state is by design, not a mismatch. If an online-only item is appearing on [POS to Online Inventory Drift](/nerve-centre/kpi-cards/square-online/pos-online-inventory-drift), it is likely misconfigured, recheck its `present_at_all_locations` and `ecom_visibility` settings to confirm it is genuinely meant to be web-only.

***

### Tracked live in Vortex IQ Nerve Centre

*Online-Only SKUs* is one of hundreds of KPI pulses Vortex IQ tracks across Square Online 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.
