Checkout UX Logic Flaw: "Pickup" not auto-selected when cart contains only items from a "No Shipping" Profile

Hi Shopify Community & Checkout Product Team,

First of all, I apologise if this is posted in the wrong section - I wasn’t sure where this issue fits or who to send it to, as it’s not exactly a dev issue, but it is an issue that affects my app workflow and I believe it does have a negative impact on merchants.

I have created a detailed explanation below of the issue, and also a screen recording here: https://youtu.be/znOftOqSZAI

We have identified a significant UX friction point in the Checkout logic regarding Shipping Profiles and Local Pickup. This issue specifically affects “Hybrid” merchants (e.g., Retail + Cafe, or Retail + Large/Fragile items) who need to segregate products that cannot be shipped.

The Desired Behavior (Current “Single Profile” Logic): Currently, if a merchant keeps all products in the General Shipping Profile and removes all shipping rates (leaving only “Local Pickup” enabled), the Checkout smartly detects this.

  • Result: When a customer checks out, the “Shipping” tab is hidden or bypassed, and “Pickup” is auto-selected.

  • Verdict: Perfect. Frictionless.

Example: General Profile with ALL products, and no shipping rates configured:

Screenshot 2025-12-19 134147.png

Local pickup is enabled:

Screenshot 2025-12-19 170043.png

Result: Only local pickup is shown in Checkout (perfect):

Screenshot 2025-12-19 170220.png

The Bug/Logic Flaw (Multi-Profile Setup): The issue arises when a merchant tries to manage a hybrid catalog using two profiles.

  • Profile A (General): Contains shippable goods (e.g., T-shirts). Has shipping rates configured.

  • Profile B (No Shipping): Contains non-shippable goods (e.g., Fresh Food/Drinks). Has NO shipping rates configured (zones are empty or rates removed).

The Scenario:

  1. A customer adds an item ONLY from Profile B (the “No Shipping” profile) to their cart.

  2. The customer proceeds to checkout.

Observed Behavior: Instead of recognizing that no items in the cart have valid shipping rates, the Checkout defaults to the Shipping delivery method.

  • The customer sees an error message: “Shipping not available for the selected address.”

  • The customer is confused, thinking they cannot buy the item.

  • The customer must manually click/tap the “Pickup” tab to proceed.

(Please see attached screenshots and screen recording demonstrating this flow)

Expected Behavior: The Checkout logic should check the intersection of available methods for the items currently in the cart. If the cart contains only items from a Shipping Profile that has zero valid shipping rates for the customer’s zone, but does have Local Pickup available, the system should auto-select “Pickup”, mirroring the behavior of a single-profile store.

Example: General Profile with only products that require shipping, and shipping rates configured:

Screenshot 2025-12-19 133924.png

Example: Second Shipping Profile with only products that don’t require shipping, and no shipping rates configured:

Screenshot 2025-12-19 133858.png

Local pickup is enabled:

Screenshot 2025-12-19 170043.png

Result: Ship is present, even though we only have an item in the cart that is in the No Shipping profile. This results 1in warning messages for the customer, causing confusion and potential lost sales:

Screenshot 2025-12-19 133959.png

Additional error message:

Screenshot 2025-12-19 134005.png

Why this matters: This extra click and the “Not Available” error message create high friction for “Order Ahead” or “Click and Collect” workflows. It confuses customers into thinking the product is out of stock or undeliverable, leading to increased cart abandonment for local businesses.

Steps to Reproduce:

  1. Enable “Local Pickup” for a location.

  2. Create a secondary Shipping Profile (e.g., “In-Store Only”). Do not add any shipping rates to it.

  3. Ensure the General Profile does have shipping rates.

  4. Add a product to the “In-Store Only” profile.

  5. Go to the Online Store, add only that product to the cart.

  6. Go to Checkout.

  7. Result: “Shipping” is selected by default with an error message, rather than “Pickup.”

Any advice on the above would be very much appreciated.