Store Owner Tips

Subscribe to our newsletter

Weekly ecommerce tips, deals & news.

Thank You, we'll be in touch soon.

Latest News

WooCommerce Local Pickup: How To Offer Click And Collect

WooCommerce Local Pickup: How To Offer Click And Collect

Picture a customer four streets away paying £4.95 to have an order driven to them. It comes from a shop they walk past every morning.

Sooner or later they ask the natural question: “Can I just come and get it?” If the checkout has no answer, you end up taking the order by email. Then you mark it paid by hand and try to remember to tell them when it’s ready.

The good news is that WooCommerce local pickup is already built into your store. Turning it on takes a few minutes. I’ve found the real work is in three decisions around it. Who sees it, how they hear it’s ready, and what happens at the counter.

This guide walks through each one, including a difference between the classic and Blocks checkouts that changes how pickup behaves. If you’re new to the idea, our BOPIS definition covers the wider “buy online, pick up in store” model.

Jump to:


Pickup Is A Fulfilment Mode, Not A Free Shipping Rate

Use the Local Pickup method, not a £0 flat rate. A zero flat rate works at checkout, but it tells your store the parcel is being shipped for free.

That shortcut is common and easy to miss. The order flows into the same queue as everything else and gets the same emails. As a result, nothing in the order tells your team the customer is coming in person.

WooCommerce local pickup is a different mode. Nothing is packed for transit, no carrier collects it, and the customer’s next step is to travel to you. Treat it as a free shipping rate, and the problems in the rest of this guide follow.

WooCommerce treats it separately for exactly this reason. Local Pickup is its own method, not a free shipping preset. It also handles address and tax details differently, as the next section shows.


Turning On Local Pickup

How you turn on WooCommerce local pickup depends on which checkout your store runs. The classic checkout and the Blocks checkout use two different pickup methods, and they behave differently.

On the classic checkout, pickup is a shipping method you add to a zone. Open your shipping settings, pick the zone covering the area you’ll serve, and add Local Pickup inside it. Give it a title customers will understand, since the default label is functional rather than friendly.

On the Blocks checkout, pickup has its own Local pickup settings page. You enable it there and add one or more pickup locations, each with a name, address and pickup details. However, pickup won’t show at checkout until you’ve added at least one location.

How the classic and Blocks methods differ

These differences matter day to day:

  • Address. The Blocks version never asks for a shipping address when the customer picks up.
  • Tax. The zone method bases tax on your store address by default. The Blocks version uses the address of the chosen pickup location.
  • Locations. The Blocks version supports several pickup locations out of the box. The zone method is one pickup option per zone.
  • Who sees it. The Blocks version shows to every customer, whatever their address. Only the zone method can be limited by area.

So check which checkout you’re running before you start. Older stores, or ones with a customised checkout page, may still be on the classic path. WooCommerce also warns that running both pickup methods at once can confuse customers, so pick one.

Once it’s enabled, place a test order and take it all the way through. Confirm the option appears, no shipping cost is added, and no separate delivery address is required.


Restricting Pickup To Actually Local Customers

On the classic checkout, WooCommerce local pickup shows to everyone in its shipping zone. Get the zone wrong and a customer three hundred miles away can select collection.

The clean approach is a dedicated zone. Create one containing only the postcodes you’ll serve for collection, and add Local Pickup to it. Then add your normal delivery methods to that zone too, so nearby customers see both options. Everyone else lands in your regular zones and sees delivery only.

Zone order matters here. WooCommerce checks zones from top to bottom and uses the first match. So the pickup zone has to sit above your broader regional zones. It’s an easy step to miss, and it’s often why a carefully built zone never seems to fire.

The same rule governs delivery, as our guide to WooCommerce shipping rates explains.

However, if you’re on the Blocks checkout, this section works differently. Blocks pickup isn’t tied to zones, so every customer sees it. WooCommerce’s own advice for limiting pickup by area is to use the zone-based method instead.

Two variations worth planning for:

  • Pickup-only stores. If you never ship, a single zone covering everywhere with Local Pickup as its only method does the job. On Blocks, add your location and leave delivery methods out.
  • Pickup for some products only. A product too fragile or too large to ship needs pickup restricted at product level. Core can’t do that on its own, which is a good reason to add a shipping plugin.
  • Trade collections. Wholesale Suite maps wholesale roles to chosen shipping methods in each zone. So trade buyers can be shown pickup while retail customers see standard delivery.

Telling The Customer It Is Ready

Send a “ready for collection” message, because that’s the moment pickup customers care about. It’s also the step many WooCommerce local pickup setups leave out.

A shipped order moves to Completed when it leaves you, and the customer reads that as “on its way”. A pickup order, however, has a different key moment: when it’s packed and waiting on a shelf for them. WooCommerce has no built-in status for that, so it’s easy to send nothing at all.

Three practical options, in order of effort:

  1. Use Completed as “ready for collection” and rewrite that email for pickup orders. Say the order is ready and give your opening hours. It’s the cheapest fix and covers many stores.
  2. Add a custom order status such as Ready for Collection, with its own email. Reporting gets cleaner, because you can see at a glance what’s waiting on the shelf.
  3. Send it manually from the order screen. That’s fine at low volume, but it stops scaling sooner than you’d expect.

What to include, and what to leave out

Whichever you choose, include the practical details. Say where to come, when you’re open, what to bring, and how long you’ll hold it. For signed-in customers, an AI chat assistant like StoreAgent can also answer “where is my order?”

🔍️ A common slip we’ve seen: pickup goes live and orders sit in Processing. The customer gets an email saying the order is being prepared, and then nothing else. By the second week the phone starts ringing, and every caller asks the same question.

While you’re in the checkout settings, look at what else pickup orders are asked for. A collection order doesn’t need a delivery address, and checkout fields that demand one add friction for no reason.


The Handover At The Counter

Decide two things before your first collection. How will you confirm the right person is collecting, and what happens when nobody comes?

For identification, the order number is usually enough. For example, asking to see the confirmation email on a phone is quick. It also helps the customer who has forgotten everything else. Keep the check proportionate to what you sell.

For marking it collected, use whichever signal you didn’t use for “ready”. If Completed means ready for collection, you need a second marker for collected, even if that’s only an order note. Check this against your invoicing too, since many stores generate WooCommerce invoices on Completed.

The no-show is the case people rarely plan for when setting up WooCommerce local pickup. Set a holding period and state it in the ready-for-collection email. Then decide in advance whether an uncollected order gets refunded, restocked or held. Writing that policy once is much easier than deciding it on the spot for a specific customer.


Frequently Asked Questions: WooCommerce Local Pickup

Does WooCommerce have local pickup built in?

Yes. On the classic checkout, Local Pickup is a core method you add inside a shipping zone. On the Blocks checkout, it has its own settings page where you add pickup locations. Plugins come in for scheduling or per-product restrictions.

How do I offer pickup for only some products?

Core applies pickup to the whole cart. Restricting it to specific products needs a shipping plugin with per-product or per-class rules. The alternative is a note on each product saying it’s collection only. That works, but it relies on customers reading it.

Why has my pickup option disappeared at checkout?

On the classic checkout, the usual cause is zone order, where a broader zone matches first. On the Blocks checkout, check that you’ve added at least one pickup location. Also confirm which checkout your store is actually running.

Can I charge a fee for pickup?

Yes. Both pickup methods let you set a cost, though many stores leave it at zero. A small handling fee makes more sense where pickup involves preparation, such as assembly or cutting to size.

Can I offer several pickup locations?

Yes, on the Blocks checkout. Its Local pickup settings let you add multiple locations, each with its own address and details. On the classic checkout you’d need one zone per location or a plugin, which gets unwieldy quickly.


Getting WooCommerce Local Pickup Right From The Start

Collection saves you the carrier cost on every order a customer picks up. And for someone nearby, it can mean getting the order the same day. With a physical shop, local inventory ads can also show nearby shoppers what’s in stock.

The work isn’t in switching it on. It’s in the decisions around it. Pick the right pickup method, control who sees it, send a ready message, and set a no-show policy.

Here’s what to do next:

Pickup is part of the wider job of getting orders out the door. Our guide to the fulfilment run from order to doorstep covers the rest. If you also deliver, review your free shipping thresholds at the same time. That’s because a threshold set too low removes much of the reason a local customer would choose to collect.

One case this guide doesn’t cover is a marketplace with sellers in different places. There, “local” means something different for each seller. WC Vendors Pro lets each vendor set their own shipping rates. Sellers aren’t stuck with one set of store-wide zones.

author avatar
Michael Logarta

Share article

Subscribe to our newsletter

Weekly ecommerce tips, deals & news.

Nice – You're in!

Copyright © StoreOwnerTips.com. All Rights Reserved.