Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform
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 countsCOUNT(items WHERE present_at_all_locations = false AND ecom_visibility = VISIBLE). Both conditions must hold: published online AND not stocked everywhere.
The two Square fieldspresent_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 treatmentn/a, this is a catalog-composition count.
Refunds / ordersn/a. This is a catalog state count, not order-based.
Channels / sourcesThis 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 / unitnumber (count of online-only items)
Time windowRT (real-time, polled from the Square Catalog API every 5-15 minutes)
Alert triggernone. This is a catalog-composition card, not a threshold alarm.
Rolesowner, 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 segmentItemsNotes
Active catalog items2,100All non-archived items
Present at all locations AND visible online1,460The shared core, sold in-store and online
present_at_all_locations = false AND ecom_visibility = VISIBLE (this card)380Online-only complement
Present at all locations but ecom_visibility = HIDDEN210In-store only, deliberately not online
present_at_all_locations = false AND not visible online50Restricted 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 to make sure the web-only catalog is properly identified.

Sibling cards merchants should reference together

CardWhy pair it with Online-Only SKUs
Items POS-Sellable but Not Online-VisibleThe 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 DriftOnline-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 SKUOnline-only items still need SKUs for inventory and reordering. A SKU-less web-only item is an oversell risk.
Total Catalog ItemsThe denominator. Online-only as a share of the catalog describes how web-weighted your assortment is.
Revenue from POS-Only ItemsThe 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 ProductsOnline-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, 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:
ReasonDirection 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:
CardExpected relationshipWhat causes legitimate divergence
google_analytics product viewsOnline-only items should generate web product views; POS-only items never doGA4 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.

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) 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, 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 or book a demo to see this metric running on your own data.