Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform

At a glance

Active product count grouped by vendor. Vendor in Shopify is the brand or supplier name attached to a product. The card surfaces sourcing concentration: how many SKUs come from each supplier, and where supply risk sits.
What it countsGROUP BY vendor.keyword → COUNT(products). Each Product.id has exactly one vendor (or empty string if unset). The card displays the top N (typically 20) by count, plus an “(no vendor)” bucket for unassigned products.
API endpointAdmin GraphQL. Product.vendor (returns single String).
What “Vendor” means in ShopifyA single string field intended to identify the brand or supplier of the product. For multi-brand retailers (a department store, a marketplace), vendor is the brand the customer is buying. For DTC own-brand stores, vendor is usually set to the store’s own brand name on every product. For dropship stores, vendor is the supplier (Printful, AliExpress merchant, etc.).
Vendor vs Type vs TagVendor identifies who made it; type identifies what kind of thing it is; tags are everything else. Vendor and type rarely collide; vendor and tags often do, with merchants double-tagging vendor names for filterability. The duplication is wasteful but harmless.
VAT / tax / shipping / discounts / refunds / cancellationsNot applicable. Vendor describes products, not orders.
CurrencyNot applicable.
Channels / sourcesNot filtered. Vendor belongs to the product record across all channels.
Status filterActive products only. DRAFT and ARCHIVED excluded.
Empty / unsetProducts with no vendor set fall into “(no vendor)”. Most stores either have ~all products set (multi-brand or dropship setups) or ~all products set to a single own-brand value (own-brand DTC). High “(no vendor)” share usually indicates migration debris.
Casing and spellingLike type, vendor is preserved exactly as written. “Acme Co”, “Acme Co.”, and “ACME” are three separate buckets unless normalised. Acquisitions and rebrands often leave vendor drift in their wake.
Single-brand storesIf you’re a DTC own-brand, this card has one row at near-100%. The card is more diagnostic for retailers, marketplaces, dropship operations, and acquired-brand consolidations where multiple vendors coexist.
Time windowRT (real-time snapshot).
Alert triggerNone. The card is informational; the actionable signals are vendor concentration risk (one supplier > 50% of catalog), unrecognised vendor names, or sudden new-vendor appearances (a botched import).
Rolesowner, operations

Calculation

GROUP BY vendor.keyword
  WHERE date BETWEEN [period_start, period_end]

Worked example

A US multi-brand specialty retailer on Shopify Plus, 2,140 active products sourced across 38 brand vendors. Snapshot at 12 May 26.
RankVendorProductsShare
1Patagonia41219.3%
2The North Face28613.4%
3Arc’teryx1989.3%
4Salomon1426.6%
5Salomon Inc381.8%
6Smartwool1245.8%
7Black Diamond1085.0%
8Patagonia, Inc.221.0%
9 to 38(long tail of smaller brands)76235.6%
(no vendor)482.2%
Total2,140100%
Five things to notice:
  1. Vendor fragmentation: Patagonia and “Patagonia, Inc.” are the same brand. Same with “Salomon” (142) and “Salomon Inc” (38). The split is almost certainly migration debris or a merchant who entered the brand differently across two POs. Consolidating gives Patagonia 434 (20.3%) and Salomon 180 (8.4%), changing the ranking. Vendor cleanup is more consequential than tag cleanup: vendor drives Smart Collections (one per brand), brand-page navigation, brand-filter chips, and Google Shopping brand fields.
  2. Top-3 vendor concentration (Patagonia + The North Face + Arc’teryx = 41.9%) is healthy for outdoor specialty. Single-brand dominance over 50% is a supply-chain risk; if Patagonia hits a quality issue, allocation problem, or contract dispute, ~20% of the catalog can disappear. Above 60% concentration warrants an explicit risk plan.
  3. The (no vendor) 2.2% is small but worth fixing. 48 unassigned products will not show up in brand-keyed Smart Collections, brand filters, or the brand-page navigation. Audit the source: usually CSV import gaps or app-created products.
  4. Long tail of 30+ smaller vendors is normal for specialty retail. Each contributes 1 to 50 products. The long tail is hard to merchandise effectively (one product from a vendor doesn’t justify a brand page), but removing them often hurts assortment perception. The pragmatic split: top-10 vendors get dedicated brand pages and SEO investment; long-tail vendors live inside type-driven collections.
  5. Reconciliation against POs reveals data-entry quality. Pull a 90-day PO list from the merchant’s procurement system. Each PO should have a single vendor name. Compare to this card’s vendor list. Drift indicates either (a) merchandising staff using different conventions to procurement, or (b) products being added without going through procurement (sample stock, marketing items). Either is fixable; both are invisible without this reconciliation.

Sibling cards merchants should reference together

CardWhy pair it with Products by Vendor
Products by TypeType x Vendor cross-tab reveals sourcing concentration per category. One vendor supplying 80% of one type is a supply-chain risk worth pricing in.
Product TagsMany merchants double-up vendor as a tag. The duplication is wasteful; pick the structured field as canonical.
Total ProductsThe denominator. Vendor share only reads against catalog size.
Top Products by RevenueReveals whether vendor concentration in catalog matches vendor concentration in revenue. Mismatch (one vendor’s products dominate revenue) is a margin / negotiation insight.
Inventory AlertsVendor concentration intersects with stockout risk. If your top vendor is on extended lead time, half your inventory alerts will cluster on that vendor.
Refund RatePer-vendor refund rate (when sliced) exposes quality issues at specific suppliers.
google_ads.gads_brand_groupsGoogle Shopping brand groups keyed off vendor field. Drift in vendor names fragments brand bids.
bigcommerce.products_by_vendorBC equivalent uses brand_id. Documentation cross-link.
adobe_commerce.products_by_vendorAdobe uses a Manufacturer attribute. Documentation cross-link.

Reconciling against the vendor’s own dashboard

Where to look in Shopify Admin:
Products → All products → click FilterVendor → select a vendor
The product list filtered to a single vendor shows the count at the top of the table. There is no native “all vendors ranked” view in Shopify Admin; this card surfaces the global distribution. For setting / editing vendor in bulk, use the product list’s bulk-edit toolbar (select rows → Bulk edit → add Vendor column). Plus stores can use Shopify Flow to auto-set vendor based on product creation rules. Other Shopify Admin views adjacent to vendor:
  • Online Store → Navigation → Collections: Smart Collections often condition on vendor (one collection per brand). Where this card shows fragmentation, those collections fragment too.
  • Reports → Sales by vendor: revenue side, useful for comparing stocked-vs-sold by brand.
  • Inventory by location: inventory often segments by vendor for receiving and PO management.
Why our number may legitimately differ from Shopify Admin:
ReasonDirectionWhy
Status filterOurs lowerVortex IQ counts only ACTIVE products; Shopify Admin’s vendor-filter shows all statuses. To match, set the status filter to “Active”.
Casing fragmentationEitherBoth see the data exactly as written. The bar chart visualises drift more obviously than the dropdown.
Sync lagOurs lower for last 5 to 15 minutesWebhook-driven, with index lag. Bulk vendor reassignments take 5 to 30 minutes.
(no vendor)Both show emptyFilter “Vendor: empty” in admin matches the “(no vendor)” bucket.
Marketplace-channel-only productsEitherProducts published only to a marketplace channel (Amazon, eBay) sometimes have vendor set by the channel app; Shopify Admin’s product list shows them but the vendor name may differ from the merchant’s intended convention.
Cross-connector reconciliation:
CardExpected relationshipNotes
google_ads.gads_brand_groupsvendor flows into Google Merchant Center as the brand field; PMax brand groups based on it should align ±1 to 2 days lagMerchant Center re-pulls feeds daily.
klaviyo.kl_catalog_brandKlaviyo recommendation feed mirrors vendorDrift indicates a feed-sync delay.

Known limitations / merchant FAQs

Why are “Patagonia” and “Patagonia, Inc.” showing as separate vendors? Because Shopify preserves the string exactly. Two strings that differ by punctuation are two separate values. Cleanup: bulk-rename via the Shopify product list (filter “Patagonia, Inc.”, select all, bulk-edit Vendor to “Patagonia”). Set a canonical naming convention and document it (a one-pager: “vendor names use full legal name minus ‘Inc.’/‘Ltd.’/etc., title case, no punctuation”). Without a convention, drift returns within months. I’m a single-brand DTC, what use is this card? Limited as a daily metric. The card has one row at near-100%. The actionable signal is a sudden second vendor appearing, which usually means: (1) an app created products with its own vendor name (review apps, gift cards), (2) a CSV import set vendor incorrectly, or (3) a staff member typoed the brand name and created a 1-product sub-vendor. For DTC own-brand stores, treat this card as a tripwire for unwanted variation, not a daily diagnostic. Multi-brand retailer / marketplace, how should I read this? Concentration first. What’s the share of your top vendor? Above 50% is a supply-chain risk; document the contingency. What’s your top-3 share? Below 30% means breadth-of-assortment is your value prop; above 70% means brand-anchor is your value prop. The card surfaces the answer at a glance. Dropship store, vendor is the supplier, what’s the practical use? Vendor concentration = supplier risk. If 70% of your dropship catalog is one supplier and they pause shipping, your store’s “in stock” rate craters. The card surfaces this concentration. Cross-reference Inventory Alerts split by vendor to pre-empt the problem. Multi-currency stores, does the card change? No. Vendor belongs to the product, currency-agnostic. Subscription products, is the vendor the same as the parent product? Yes. Subscription apps (Recharge, Bold, Shopify Subscriptions) inherit the underlying product’s vendor; they don’t create separate vendor entries. A subscription “Coffee Box” by your own brand has the brand name as vendor. Shopify Plus vs basic plan, behavioural differences? Largely none for the vendor field itself. Plus stores can use Shopify Flow to auto-set vendor on product creation; basic stores set it manually. B2B Edition products use the same vendor field. B2B vs DTC, do they share vendors? Yes, vendor belongs to the product regardless of channel. Stores selling the same product to both DTC and B2B see one vendor entry; the channel split is independent. Refresh cadence? Webhook-driven, near real-time. Vendor changes propagate within 5 to 15 minutes. Bulk operations take 5 to 30 minutes. The card shows a vendor I don’t recognise, where did it come from? Three usual sources: (1) a product-creation app set the vendor to its own name (gift cards, review widgets, bundle apps), (2) a CSV import included it, (3) a staff member entered it manually. Filter the Shopify product list by that vendor to find the products and their Created date. Often a single dev/QA test product is the culprit. Action playbook for vendor cleanup:
  1. Pull the vendor-frequency export. Drift jumps off the page.
  2. Build a canonical-name map. Decide singular/plural, punctuation, abbreviation. Document the convention.
  3. Audit Smart Collections (one per brand usually), brand-page navigation, app rules, and Liquid template references before renaming.
  4. Bulk-rename via the product list filter + bulk edit (Admin API for >500).
  5. Verify Smart Collections and Google Merchant Center brand groups re-populated correctly. Allow 24 to 48 hours for ad-channel feed re-pulls.
  6. Set a quarterly cadence; new vendors come in with new POs and new staff.

Tracked live in Vortex IQ Nerve Centre

Products by Vendor is one of hundreds of KPI pulses Vortex IQ tracks across Shopify 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.