Products imported but not showing up in my store
The import finished, the product's Status reads Active, and it's still nowhere on your storefront. That's a different problem than a product landing in Draft — it's almost always about sales channels, batch timing, or collection visibility. Drop your file in below to check it.
This isn't the Draft-status problem
There's a separate, narrower failure where Shopify imports products with the Status field literally set to Draft, which hides them everywhere. This is not that. Here, Status reads Active — the product is fully eligible to be sold — and it still doesn't appear on your storefront. That points to one of a few different causes, and they're worth ruling out in order because each one needs a different fix.
Cause 1: it was never added to the Online Store channel
Shopify tracks publication per sales channel, not just per product. A product's Status being Active only means it's allowed to be sold somewhere — it says nothing about which channels it's published to. When you import products via CSV, Shopify does not automatically check every channel your store has installed (Online Store, a POS location, a social shop, a wholesale channel, and so on); it can leave new products off channels you didn't explicitly enable for them. If your storefront is served by the Online Store channel and that box isn't checked for the imported rows, the products exist in your admin, are Active, and are still invisible to any customer.
Cause 2: large imports finish in batches, not instantly
Beyond a small file, Shopify processes CSV imports asynchronously in the background and emails a completion notice once the batch is done. Depending on file size, that can take anywhere from a couple of minutes to considerably longer. Checking your storefront immediately after clicking upload — before that completion email arrives — can look exactly like a permanent failure, but it resolves itself once the batch finishes processing.
Cause 3 and 4: inventory-based visibility and Handle collisions
Some themes are configured to hide out-of-stock products from collection and search pages even though the product page itself still exists and is Active — if the imported rows came in with zero inventory, they can be technically live but absent from the normal browsing paths on your storefront. Separately, if two rows ended up with Handles that differ only by case or trailing whitespace (a common side effect of building the sheet in Excel), Shopify treats them as distinct products — the one you expect to see in a collection or menu may actually be a differently-Handled duplicate that was never linked into that collection or navigation.
How to check each one
In Admin → Products, filter to Status: Active and search for the missing product by name. If it's there, open it and check the Sales channels section for whether Online Store is enabled. If you just ran a large import, wait for the completion email before troubleshooting further. Then check your theme's out-of-stock visibility setting, and compare the product's Handle character-by-character against what you expect, watching for extra spaces or inconsistent capitalization.