How to make products pickup-only on Shopify
Short answer: Block shipping for products that must be collected in store (large, fragile or perishable items) while still allowing local pickup. In Checkpost, choose “Pickup-only products” from Templates, adjust the values, test it, then save and enable the rule.
The problem
Large, fragile or perishable items such as cakes, furniture, plants and live seafood often can't be shipped. If a shopper chooses shipping anyway, you either refund or call them to rearrange.
How to set it up
- Install Checkpost from the Shopify App Store.
- Open Templates and choose Pickup-only products.
- Tag pickup-only products with "pickup-only".
- Use Try this rule to test a sample cart, then click Save rule.
The rule
Checkout is blocked when all of these conditions are true:
- Cart contains products tagged pickup-only
- Delivery method type is any of SHIPPING, LOCAL
Shoppers see: “Some items are available for store pickup only. Please choose Pickup at checkout.” at the top of checkout, once they reach checkout.
Rule definition (JSON)
{
"name": "Pickup-only items being shipped",
"match": "all",
"conditions": [
{
"kind": "cart_contains",
"filter": {
"productTags": [
"pickup-only"
]
}
},
{
"kind": "text",
"field": "delivery_method_type",
"op": "equals_any",
"values": [
"SHIPPING",
"LOCAL"
]
}
],
"message": "Some items are available for store pickup only. Please choose Pickup at checkout.",
"target": "cart",
"runOn": "checkout"
}Where this rule works
These are cart and checkout validations, including supported accelerated checkouts. They are current-cart policies; they do not track previous purchases of a SKU. Shopify excludes POS, recurring subscription orders and native pre-order/Try Before You Buy flows from this API. See Shopify's validation compatibility.
Tips
- Tag pickup-only products and keep store pickup enabled at the relevant locations.
- Add LOCAL to the blocked delivery types if you don't deliver these items locally either.
- Mention pickup times or locations in the message.
FAQ
When does the rule run?
Once the shopper has chosen a delivery method at checkout. Before that, nothing is blocked.
Can I allow local delivery but not shipping?
Yes. Keep only SHIPPING in the delivery method condition.
Related rules
Block PO Box addresses
Stop checkout when the shipping address contains a PO Box, so carriers that cannot deliver to PO Boxes never receive the order.
Block shipping to specific countries
Prevent orders from being placed with a shipping address in countries you cannot or do not want to serve.
Block specific ZIP / postal codes
Block checkout for postal codes you can't deliver to, using exact codes or prefixes (for example remote islands or rural areas).
Only allow listed postal codes (local delivery)
Allow checkout only when the shipping postal code is inside your delivery area — ideal for local bakeries, florists and grocery delivery.