> For the complete documentation index, see [llms.txt](https://docs.roadmap.so/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roadmap.so/trade-and-b2b/shipping/configuring-pickup-for-b2b-customers-on-shopify-two-approaches.md).

# Configuring Pickup for B2B Customers on Shopify: Two Approaches

Compare pickup as a shipping rate versus native Pickup in store for Shopify B2B, including when to use Checkout Blocks.

Last verified against Shopify: April 22, 2026

B2B merchants have two practical ways to offer pickup in Shopify.

This article explains how each setup works, where it appears in checkout, and when each one makes sense.

Both options are valid. The right choice depends on whether the merchant values tighter B2B scoping or a more native checkout flow.

#### Option A — Pickup as a shipping rate

Create a B2B-specific shipping profile and add a `Pick Up` rate at `$0`.

Choose this when you want fast setup, tighter B2B-only control through profile assignment, and a simple admin-side configuration.

#### Option B — Native Pickup in store

Enable Shopify's native pickup option at the location level so checkout shows a separate **Pick up** tab.

Choose this when you want a more native pickup experience in checkout and are comfortable with pickup being visible to DTC by default, or you are on Shopify Plus and can customise checkout.

### Shopify Plans

As of April 2, 2026, Shopify B2B is available on all paid plans.

That means this guidance applies to **Basic**, **Grow**, **Advanced**, and **Plus**.

In a blended store, B2B and DTC share the same delivery setup by default.

That is where the friction starts.

Many merchants want B2B pickup, but do not want a confusing checkout.

They also do not want Shopify auto-selecting a free pickup option when they expected paid shipping.

This article covers the two setups that merchants use in practice.

Most merchants can succeed with either model, as long as they choose the one that matches their checkout goals.

{% hint style="info" %}
Two separate restrictions apply here, and they are easy to conflate.

* **Activation is a B2B restriction, not a plan restriction.** Pickup in store is off by default for Shopify B2B on every plan, including **Basic**, **Grow**, **Advanced**, and **Plus**. Activating it requires a request to Shopify Support from the store or organisation owner.
* **Visibility control is a Plus restriction.** Once pickup is activated, both B2B and DTC customers see it by default in a blended store. Hiding pickup locations from specific customer types with Checkout Blocks or another Functions-based delivery customisation requires **Shopify Plus**.

The Plus advantage here is not activation. It is what you can control after activation. If you have seen older references to `Plus Support`, that reflected the earlier period when B2B itself was Plus-only.
{% endhint %}

### Option A — Pickup as a shipping rate via shipping profile

This is the fastest way to get B2B pickup live.

You create a B2B-specific shipping profile, then add a `Pick Up` rate priced at `$0`.

You assign the relevant products and fulfilment location to that profile.

At checkout, the option appears inside the **Ship** tab alongside normal shipping rates.

Shopify treats it as a shipping rate inside the normal delivery flow.

#### Why merchants use it

It works immediately.

It does not need a support ticket.

It can be scoped to B2B-only products or B2B-only profile logic.

It also does not depend on Checkout Blocks.

For merchants who want control inside shipping profiles, this can be the more straightforward setup.

#### Where it falls down

{% hint style="warning" %}
Shopify auto-selects the cheapest available rate.

If pickup is free, it will default over paid shipping.
{% endhint %}

This is the main behaviour to account for during setup.

The UX is also different from native pickup.

The customer stays inside **Ship**, so pickup appears as the default delivery option among the shipping rates, as it is the cheapest.

#### Best fit

Use this when speed and B2B scoping matter most.

It also fits non-Plus merchants who do not want pickup visible to DTC customers by default.

It works best when the merchant is comfortable with how Shopify prioritises the cheapest available rate.

### Option B — Native Pickup in store

This is Shopify's native pickup flow.

Enable it in **Settings → Shipping and delivery → Pickup in store** for the relevant location.

You can then set processing time and the ready-for-pickup notification.

At checkout, pickup appears as a separate **Pick up** tab.

That gives the buyer a clearer fulfilment choice at checkout.

#### B2B activation caveat

{% hint style="info" %}
Shopify's current Help Center guidance says pickup in store is off by default for B2B.

Some stores may still need Shopify Support to activate it for B2B checkout.
{% endhint %}

This may have changed after Winter '26.

Check the admin first.

If DTC customers can use pickup but B2B customers do not see the **Pick up** tab, raise a Shopify Support ticket before changing your delivery setup. Shopify will need to enable this feature for your store.

#### Blended-store behaviour

Once native pickup is active for B2B, DTC customers also see it by default.

Shopify does not natively restrict pickup to B2B-only by customer type, tag, or company membership.

If you need B2B-only visibility, that requires Shopify Plus.

On Plus, use Checkout Blocks or another customisation route for delivery.

#### Best fit

Use this when you want a more native pickup experience in checkout.

It also works well when paid shipping should stay separate from pickup unless the buyer actively chooses it.

### Decision matrix

| Criteria               | Option A — Pickup as shipping rate              | Option B — Native Pickup in store                               |
| ---------------------- | ----------------------------------------------- | --------------------------------------------------------------- |
| Setup effort           | Low                                             | Medium                                                          |
| Auto-default behaviour | Defaults to cheapest rate                       | Customer must choose **Pick up**                                |
| DTC visibility         | Can stay hidden if scoped through profile logic | Visible to DTC by default                                       |
| UX quality             | Clear inside shipping rate setup                | Clean and native                                                |
| Dependencies           | No extra app                                    | May need Shopify Support and Shopify Plus to control visibility |

### Implementation checklist

#### Option A — Pickup as a shipping rate

{% stepper %}
{% step %}

#### Create or confirm the B2B shipping profile

In **Settings → Shipping and delivery**, open the shipping profile that should apply to B2B orders.

If needed, create a dedicated profile for the B2B product set.
{% endstep %}

{% step %}

#### Assign the right products

Add the products that should offer pickup through this profile.

Keep DTC-only products out of it if you want the option hidden from retail shoppers.
{% endstep %}

{% step %}

#### Confirm the fulfilment location

Make sure the pickup location is attached to the profile and can fulfil those products.

If the wrong location is active, the rate can show in the wrong context or not at all.
{% endstep %}

{% step %}

#### Add the pickup rate

Inside the relevant shipping zone, add a rate called `Pick Up` and set the price to `$0`.

Use clear wording because the title is customer-facing.
{% endstep %}

{% step %}

#### Check paid shipping rates in the same zone

Confirm the profile still has the normal paid shipping rates you expect B2B buyers to use.

This is the key setup point, because Shopify will prefer the free option.
{% endstep %}

{% step %}

#### Test with a real B2B login

Log in as a customer linked to a company location and run checkout.

Confirm the `Pick Up` rate appears under **Ship** and check which rate Shopify auto-selects.
{% endstep %}
{% endstepper %}

#### Option B — Native Pickup in store

{% stepper %}
{% step %}

#### Enable pickup for the location

Go to **Settings → Shipping and delivery → Pickup in store**.

Turn on pickup for the relevant location.
{% endstep %}

{% step %}

#### Configure the operational settings

Set the processing time and the ready-for-pickup customer notification.

Use wording that matches your actual warehouse or store process.
{% endstep %}

{% step %}

#### Test DTC first

Run a normal retail checkout to confirm the **Pick up** tab appears.

This confirms the location setup itself is working.
{% endstep %}

{% step %}

#### Test with a B2B customer login

Log in as a customer linked to a company location and test the same flow.

If B2B does not show **Pick up**, the feature may still be inactive for B2B on that store.
{% endstep %}

{% step %}

#### Contact Shopify Support if needed

If DTC sees pickup and B2B does not, ask Shopify Support to confirm B2B pickup activation for the store.

Treat this as a platform setting check, not a theme issue.
{% endstep %}

{% step %}

#### Decide whether DTC should also see pickup

If pickup should remain available to both audiences, you are done.

If pickup must be B2B-only, that will require a Shopify Plus plan.
{% endstep %}
{% endstepper %}

### Restricting native pickup to B2B-only with Checkout Blocks

{% hint style="warning" %}
This section applies only to Shopify Plus merchants.

Customising the delivery step of checkout, including hiding pickup locations from specific customer types, requires Plus.

This is a platform restriction, not an app restriction.

It applies to Checkout Blocks, third-party delivery customisation apps, and custom Shopify Functions.

If the store is not on Plus, you cannot make native pickup B2B-only.

Use Option A instead.
{% endhint %}

Checkout Blocks is Shopify's free first-party app for checkout customisation.

On Plus, it is the most straightforward way to hide pickup locations from non-B2B customers after native pickup is already active.

For the full setup, behaviour, and gotchas, use [Use Checkout Blocks to restrict native pickup to B2B](/trade-and-b2b/shipping/use-checkout-blocks-to-restrict-native-pickup-to-b2b.md).

### Gotchas

B2B rates and rules only apply when the customer is logged in and linked to a company location.

If the buyer is not authenticated as B2B, Shopify treats checkout like DTC.

Local delivery is not available to B2B at checkout by default.

Pickup is the relevant native collection option.

Accelerated checkouts such as Shop Pay and Apple Pay are not compatible with B2B.

That matters if you are comparing checkout experiences side by side.

If you run both approaches during testing, checkout will show duplicate pickup options.

Remove the shipping-rate version once native pickup is confirmed working.

### Recommendation

Choose Option A when the merchant wants a fast setup with stronger B2B-only scoping through shipping profiles.

Choose Option B when the merchant wants a more native pickup experience in checkout.

If DTC should not see native pickup, that will require a Shopify Plus plan.

On Plus, use Checkout Blocks or another delivery customisation method to hide visibility.

If Option A is used, test the cheapest-rate behaviour carefully before launch.

### Related reading

* [Shopify Help Center: Setting up pickup in store for online orders](https://help.shopify.com/en/manual/fulfillment/setup/pickup-in-store)
* [Shopify Help Center: Setting up shipping methods for B2B](https://help.shopify.com/en/manual/b2b/b2b-checkout-and-orders/shipping-and-delivery)
* [Shopify App Store: Checkout Blocks](https://apps.shopify.com/checkout-blocks)
* [Shopify Changelog: Pickup in-store for B2B (Aug 2025)](https://changelog.shopify.com/posts/pickup-in-store-for-b2b)
* [Shopify Changelog: Key B2B features now available on non-Plus plans (Apr 2026)](https://changelog.shopify.com/posts/shopify-b2b-features-now-available-on-all-paid-plans)

For adjacent setup decisions, also use [Split shipping rates between B2B and DTC customers](/trade-and-b2b/shipping/split-shipping-rates-between-b2b-and-dtc-customers.md) and [Multiple shipping profiles in B2B: what to know](/trade-and-b2b/shipping/multiple-shipping-profiles-in-b2b-what-to-know.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.roadmap.so/trade-and-b2b/shipping/configuring-pickup-for-b2b-customers-on-shopify-two-approaches.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
