Blog

Shopify Pickup-Only Products: 2026 Setup Guide

2026-05-16 · BopiSafe Team

Making a Shopify product pickup-only takes three things working together: a consistent way to label the product, automatic removal of shipping when the cart holds only those items, and a clear rule for when customers mix them with shippable products. Native pickup is a location setting, not a product one — and that mismatch is where unfulfillable orders come from.

This guide covers the labeling decision, what proper enforcement looks like, the multi-location wrinkles, and the edge cases that turn pickup-only from a clean experience into a support backlog.

What does “pickup-only” actually mean on Shopify?

A pickup-only product is one that cannot be shipped under any circumstance — only collected from a physical location. Typical examples:

Shopify supports local pickup as a fulfillment mode per location (see our setup guide for the location side), but it gives you no per-product way to say “this one ships, that one doesn’t.” That gap is what this guide closes.

Why Shopify’s defaults don’t cover pickup-only

Out of the box, Shopify behaves the same way for every product:

  1. If at least one location has stock and pickup enabled, the customer sees a pickup option.
  2. If the shipping address resolves to a rate, the customer also sees shipping options.
  3. The customer picks one. Shopify has no idea your product is unshippable.

That means a customer can add a 200-pound workbench to their cart, enter a home address, and get an $11 USPS rate back. They check out, you get an order you cannot fulfill, and now you owe a refund and an apology — plus the inevitable one-star review about the experience.

According to the Shopify Help Center on local pickup, the platform’s intended model is that every fulfillment method that could apply is surfaced and the customer chooses. There’s no native “this product must be picked up” attribute. You have to add it.

Why DIY theme fixes leak orders

A lot of merchants try to solve this in their theme — hide the shipping section when the cart contains pickup-only items, show a warning message, disable the checkout button. It looks correct when you test it in a regular browser.

Then a real customer taps Shop Pay, Apple Pay, or Google Pay. Those express checkout buttons skip the cart page entirely and go straight to a native Shopify checkout — which still shows shipping options, because nothing in your theme runs there. The order goes through, the warehouse prints a shipping label for an item that can’t ship, and you find out about it from the customer.

This requires custom development work to do properly, which is why most merchants use an app instead. Either way, the rule is the same: enforcement has to happen at checkout itself, not on the cart page.

The per-product opt-in workflow at a glance

Before diving into each step, here’s the full opt-in workflow for marking specific products pickup-only without affecting the rest of your catalog. This is what an experienced ops person does in a single afternoon — the deep-dive sections below cover each step in detail.

  1. Audit your catalog — list every SKU that genuinely cannot ship. Be ruthless; each one is a SKU you’re cutting off from out-of-region buyers.
  2. Pick one label mechanism — a tag (pickup-only) or a custom field, never both. Document which one is the source of truth so future-you doesn’t second-guess.
  3. Apply the label in bulk — Shopify’s built-in bulk editing tools handle hundreds of products in one pass. Filter your catalog by category, vendor, or weight to surface candidates fast.
  4. Confirm each pickup location stocks the SKUs — the label is meaningless if the assigned location has zero inventory of the pickup-only items.
  5. Wire up checkout enforcement — strip shipping methods when the cart is pickup-only, and decide how to handle mixed carts (block or split). This is the step that requires an app for most merchants; theme tweaks alone don’t survive express checkout buttons.
  6. Add a visible pickup-only badge on the product page — out-of-region customers self-select out before adding to cart instead of bouncing at checkout, which is a real conversion lever.

If any one of these steps is missing, the workflow leaks. Most stores skip step 5 (assuming a cart-page warning is enough), then spend the next quarter fielding refund tickets from customers whose Shop Pay checkout bypassed it.

Step 1: Decide which products are pickup-only

Before you touch settings, decide which products in your catalog genuinely cannot ship. Be strict — every product you mark pickup-only is a product you’re cutting off from out-of-region buyers.

Then decide how you’re going to label them. Two viable options:

For stores under 500 SKUs the tag approach is usually fine. For larger catalogs, or any store doing bulk CSV imports, the custom field is sturdier. The one thing you must not do is use both — once two systems can mark a product pickup-only, they drift, and every pickup bug you ship for the next year starts with “why does this product think it’s pickup-only when the tag says otherwise.”

Use one labeling system. Document it. Hold the line.

Step 2: Mark your products

Tag approach:

  1. In Admin, open Products → All products
  2. Filter or select the products that should be pickup-only
  3. Bulk action → Add tagspickup-only
  4. Save

Custom field approach:

  1. Settings → Custom data → Products → Add definition
  2. Name it something like “Fulfillment mode” with values pickup_only, ship_only, dual
  3. Open each product (or use Shopify’s built-in bulk editing tools) and set the value
  4. Confirm the field shows in the right-hand panel of any product

For larger updates, Shopify’s built-in bulk editing tools are much faster than going product by product.

Step 3: Hide shipping rates for pickup-only carts

This is where most setups break. When a customer’s cart contains only pickup items, shipping options must disappear — and that has to include express checkout buttons, not just the regular cart page. This is the part that DIY theme tweaks fail at.

What proper enforcement looks like: the moment a customer hits any checkout entry point — regular cart, Shop Pay, Apple Pay, Google Pay — something runs that looks at the cart contents and filters out shipping rates if every item is pickup-only. There’s no slowdown at checkout, no flash of shipping options that then disappear, and no way to bypass it by switching payment methods.

If you don’t have an app doing this, you don’t have pickup-only enforcement. You have a cart-page warning that 30-50% of your buyers will skip past.

BopiSafe handles this automatically and reads either tags or custom fields based on whatever labeling system you’ve chosen.

Step 4: Decide how to handle mixed carts

The most painful edge case is the mixed cart: at least one pickup-only item plus at least one shippable item. Shopify’s model assumes one fulfillment choice per order, so a mixed cart has no clean native resolution.

What merchants choose, broadly:

  1. Block at the cart page. Show a message: “These items can’t be combined in one order — please check out separately.” Cheapest path; expect 15-25% of those carts to abandon entirely.
  2. Split into two coordinated orders. One checkout flow, two orders behind the scenes — one for pickup, one for shipping, same payment. Customers barely notice. Best for conversion, but you need an app or custom build to make it work.
  3. Force one fulfillment mode. Almost always a mistake — you’ll mis-fulfill items and eat the refunds. Avoid unless one mode is overwhelmingly dominant.

Most merchants doing fewer than 50 mixed carts per month start with option 1 and accept the abandonment. Above that volume, the math tips hard toward option 2 — covered in detail in our mixed cart guide.

Step 5: Surface “pickup only” on the product page

Enforcement at checkout is the floor, not the ceiling. You also want customers to see that a product is pickup-only before they add it to cart, so they don’t bounce when shipping disappears later. On the product page template, add:

Customers who learn a product is pickup-only on the product page convert at 70-80% of the rate of shippable products. Customers who learn it at checkout convert at under 30%. The badge is not cosmetic — it’s a conversion lever, and it’s the cheapest one in this entire guide to add.

What about per-location pickup-only rules?

A common multi-location case: a product is pickup-only at your downtown store (where you keep the floor model) but not stocked at your warehouse. Shopify’s default will still let a customer choose the warehouse for pickup if any inventory record exists there — and now your warehouse staff are searching for an item that lives across town.

To handle this correctly, you need a setup where each product can be tied to a specific list of pickup locations, and the checkout only shows the locations that actually stock it. Pure tag-based labeling stops working at this point — you can’t reasonably encode a list of stores in a tag. Once you’re at this level of complexity, an app that supports per-location pickup is the only sane option.

Pickup-only and inventory drift

The other failure mode unique to pickup-only is inventory drift. The product is pickup-only, so customers come to the store expecting to leave with it. If the in-store POS sells the last unit in the 20 minutes between cart-add and checkout, the pickup order is now unfulfillable — but Shopify accepts it anyway.

The customer gets a “ready for pickup” email, drives to the store, and the item isn’t there. That’s the failure: a wasted trip, a refund, an apology, and a customer who’s now telling their friends about how your pickup is broken.

Mitigations:

  1. Real-time inventory sync between POS and Shopify (most modern POS systems support this — verify yours actually pushes on every sale)
  2. Safety stock buffer — reserve a small percentage of on-hand stock as not-sellable online, so the last unit goes to whoever is physically in front of the staff
  3. A checkout-time inventory recheck that blocks the order if drift would make it unfulfillable

The third mitigation is the only one that catches the race condition cleanly. Without it, every pickup-heavy store eventually ships a “your pickup order is ready” email for a product that isn’t actually on the shelf.

Common mistakes when rolling out pickup-only

Six mistakes come up repeatedly across stores launching pickup-only, based on Shopify community forum reports:

  1. Hiding shipping only in the theme. Looks correct in test, leaks via Shop Pay in production.
  2. Mixing tags and custom fields. Drift is inevitable. Pick one.
  3. No product-page badge. Customers learn at checkout, conversion craters.
  4. Per-location stock ignored. Customer picks a location that doesn’t have the item.
  5. No inventory drift blocking. “Your order is ready” email for an item that just sold in-store.
  6. Treating pickup-only as a shipping toggle, not a fulfillment mode. It’s a different model and needs its own checkout logic, not a hack on top of free shipping rules.

Where the native flow ends and BopiSafe begins

If you have a single location, fewer than 50 pickup orders per month, and almost no mixed carts, you can probably get by on tags plus a cart-page warning and live with the leakage.

You’ll outgrow that the moment any of these become true:

BopiSafe handles all five enforcement layers — labeling, shipping rate filtering, mixed-cart splitting, per-location rules, and drift blocking — out of the box. It works with a single product tag or custom field, requires no theme rewrite, and adds no slowdown at checkout.

Written by the BopiSafe team — we build pickup and split-checkout infrastructure for Shopify merchants, and this guide reflects what actually trips up real stores in their first month live.

Next steps

Have a pickup-only edge case this guide didn’t cover? Email support@bopisafe.com — we read every email and update the guide when a new pattern shows up.

Frequently asked questions

How do I set specific items to local pickup only on Shopify?

There's no single product toggle for it. The reliable pattern is three steps: (1) label just those products as pickup-only with a tag or custom field, (2) enable local pickup on the locations that stock them under Settings → Locations, and (3) add cart/checkout logic that strips shipping for carts of only those items and handles carts that mix them with shippable products. Steps 1–2 are native; step 3 is where most stores need an app, because theme tweaks alone don't survive Shop Pay and other express checkout buttons.

Can I make a single Shopify product pickup-only without affecting my other products?

Yes, but not with a native Shopify toggle — there isn't one. You need to label the product as pickup-only (a tag or custom field works), then have something at checkout that removes shipping options when the cart only contains those items. A theme tweak alone won't survive express checkout buttons like Shop Pay or Apple Pay, which is why most merchants end up using a dedicated pickup app.

Will Shopify hide shipping methods automatically for pickup-only products?

No. Shopify will show every shipping rate that matches the cart's weight and destination, regardless of whether the product is meant to be picked up. The shipping options have to be filtered out at checkout, and that filtering needs to apply to Shop Pay, Apple Pay, and Google Pay too — not just the regular cart page.

What happens when a customer adds a pickup-only item and a shippable item together?

By default Shopify treats the cart as one order with one fulfillment choice. The customer sees both options, picks one, and you end up with an order you can't fulfill correctly — either a pickup-only item with a shipping label or a shippable item flagged for in-store collection. The two real fixes are blocking the mixed cart with a clear message, or splitting checkout into two coordinated orders. We cover the trade-offs in our [mixed cart guide](/blog).

Do I need Shopify Plus to make products pickup-only?

No. Pickup-only works on every Shopify plan. Shopify Plus adds some extra checkout customization options that polish the experience further, but the core flow runs on Basic, Shopify, and Advanced just fine.

Should I label pickup-only products with tags or with a custom field?

Use one, never both. Tags are quick to add and most apps read them out of the box. Custom fields are stricter, survive bulk edits better, and avoid the typo problem. Pick whichever your existing apps already use and apply it consistently. The one thing that will burn you is running both at once — they drift, and every pickup bug for the next year starts with "the tag says one thing, the field says another."

Can a product be pickup-only at one store but ship from another?

Yes, but it isn't something Shopify models on its own. You need an app or custom setup with per-location pickup rules. Without it, a customer can pick the wrong store at checkout and the order ends up sitting at a location that doesn't stock the item.

How do I make a pickup-only product invisible to customers who can't reach my store?

This is actually a different problem — pickup-only is about fulfillment, not visibility. The product still shows up on your storefront and in Google Shopping. The fix is clear pickup-only badging on the product page so out-of-range customers self-select out before adding to cart, rather than hiding the listing entirely.

Do pickup-only products hurt SEO or product visibility?

No. Pickup-only is a fulfillment attribute, not a search or visibility one. The product indexes normally. The risk is customers far from your store seeing the product, trying to buy it, and bouncing when shipping disappears. A clear pickup-only badge on the product page fixes this — it's a conversion lever, not just a label.

Want pickup that doesn't break? See how BopiSafe works →

New to BopiSafe? Use code BOPISAFE30 at plan selection for a 30-day free trial instead of 14.