Buy online pickup in-store

WooCommerce Wednesdays: How to offer buy online pickup in-store with WooCommerce

12 min read
Bradley Taylor

The demand for buy online pickup in-store (BOPIS) fulfillment services has accelerated due to the effects of the pandemic. Today, merchants all over the world are embracing the BOPIS model as a means to meet shifting customer expectations.

This new, hybrid retail strategy gives customers the best of both worlds by integrating ecommerce and in-person pickup.

Shoppers don’t have to deal with shipping costs, long delivery timelines, and returning items that don’t meet their expectations. For sellers, it is the perfect way for you to drive foot traffic while bridging the gap between traditional commerce and online shopping experiences.

In this post, we will outline how the BOPIs model works and how you can quickly set up your WooCommerce store to offer your customers local pickup.

Save money selling products, your way

Our Managed WooCommerce Stores includes more than $5,000 in free premium WooCommerce extensions, empowering you to sell products, your way, with additional customization.

Specialized store extensions can cost hundreds, even thousands of dollars per year once you get them all added to your store.

But with our Managed WooCommerce Stores, you can build the exact store you needed to sell subscriptions, book appointments, enable digital downloads and much, much more — with free access to more than $5,000 in premium WooCommerce extensions.

Learn More

How does BOPIS work?

1. Customer places an online order

A BOPIS transaction begins like a typical ecommerce purchase. Customers browse your store to find items that they want to buy. When they want to complete the purchase they go to the checkout page. There they choose pickup at a physical store as the delivery method.

Merchants can also configure their sites to show local pickup directly on the product page. For seamless operation, it is important to have real-time local inventory updates. These let the customer know when and where the products will be available for pickup.

2. Merchant process order

Once you have processed the customer’s order, you need to prepare it for pickup. Depending on your business model and the specifics of the customer’s purchase, you may have the item on hand or you may need to have it sent to your store.

Once the order is ready for the customer you can notify them via email that they can come and pick it up.

3. Customer gets the product

The customer then comes to your store to pick up their order. There are several ways to handle pickup orders. You can set up a dedicated section of your store or you can offer curbside pickup to give customers an even more convenient experience.

With this, the customer can drive up to your storefront and be handed their order while they stay in their car.

What are the advantages to offering buy online pickup in-store?

BOPIS is an ideal fulfillment method for omnichannel sellers. Customers can get the benefits of shopping online and the speed of buying something locally. Let’s take a look at some of the advantages to offer buy online pickup in-store to your ecommerce customers:

Lower shipping costs

Last-mile delivery is expensive. Many merchants choose to eat these costs by offering their customers free shipping. Because of this, the cost of shipping orders directly to your customers’ doors can add up fast.

With BOPIS you don’t need to deliver the product, as the customer will come to you. If you need to procure your goods from a distribution center, you can do so in bulk by combining items from multiple BOPIS orders. This can help lead to lower shipping costs per unit.

Better customer experience

BOPIS gives customers more flexibility when buying your products. For shoppers who need an item urgently, it’s faster to buy it online and pick it up an hour later versus waiting one to three days for delivery.

People want instant gratification, and providing the option to buy online and pick-up in-store is a way to offer it.

Customers can also benefit from an easier returns process. If they want to take an item back, they can go to the store to do so. This saves them the trouble of having to print a shipping label, find a box, and ship the item back.

How to add local pickups to your WooCommerce store

WooCommerce makes it easy for you to offer in-store pickup. You simply need to create a shipping zone for it. To do this, go to WooCommerce > Settings > Shipping and select Add shipping zone.

On the next page, you can set up the zone by adding a name and choosing the zone regions. You’ll then need to choose the shipping methods that will apply to the zone.

create shipping zone for in-person pickup

This is where we’ll enable in-person pickup. Click Add shipping method and select Local pickup.

local pickup shipping zone

Once you’ve enabled local pickup, customers will see it as a delivery option during checkout.

local pickup at checkout

Processing in-person payments

The key to providing customers with a great pickup experience is to have a seamless connection between your online and point and of sale (POS) payment systems. This is even more important if you want customers to have the ability to pay for the order in-store instead of online.

Integrating your POS system with your WooCommerce store will allow you to quickly access the order so that you can charge the customer when they come into the store to get their order.

With GoDaddy Payments, you have a single platform for managing both in-person and online payments. The ecommerce gateway is connected to your Point of Sale Smart Terminal so all your online orders will be readily available for your in-store team.

Below, we’ll look at how you can process pickup orders placed by online customers. In the example, you can see an emulator that simulates what this looks like on your Smart Terminal.

The Orders app in the Smart Terminal displays local delivery and pickup orders. It also shows any associated transactions from GoDaddy Payments or another payment gateway if the customer already paid for the order.

So, when a customer places a pickup order, it will appear in the Smart Terminal as seen below:

process in person payments with pos

After you prepare the order, you can automatically notify customers that it is ready for pickup by going to the order in the Smart Terminal and selecting Mark Ready.

When a customer comes in to get their order, you can process their payment by opening the order from the Smart Terminal. You then tap Charge and select the payment method that the customer will use.

On the customer-facing screen, the customer can select their preferred receipt method (No Receipt, Paper Receipt, Email or Text).

Once you follow the onscreen prompts to process the customer’s payment, tap Mark Picked Up to complete the pickup order.

Extending pickup options with Local Pickup Plus

The native WooCommerce Local Pickup shipping method works well for sellers with one physical store, however, it has its limitations for businesses with multiple locations. If you want to give customers the ability to choose between different pickup locations, you’ll need to extend WooCommerce’s functionality. Below, we’ll look at a useful plugin to help you do it.

1. Download the Local Pickup plus extension

To start, you will need to download and activate the WooCommerce Local Pickup Plus extension (included in Managed WooCommerce Stores from GoDaddy). WooCommerce has a native local pickup feature but it isn’t suited for businesses with multiple locations. It is also limited in how much control you have over your pickups.

The Local Pickup Plus extension will give you the ability to create multiple pickup locations, schedule pickup times, and control exactly which products can customers can select for in-store pickup.

2. Configure the plugin settings

After you install the plugin, you can configure the extension by going to WooCommerce > Settings > Shipping > Local Pickup Plus.

Make sure that the plugin is enabled and enter the title that you want customers to see during checkout.

Next, you will want to determine how your different locations are displayed to your customers during the checkout process.

If you have multiple business locations, you will need to decide whether to let customers use different pickup locations for different items in their cart or if they are limited to one pickup location per order.

For multi-store owners, the location sort order is another important setting to configure. You want to make it easy for customers to select the best option for them.

If you choose to use Distance from customer, you will need to have geocoding set up.

Next, you must decide whether to enable pickup appointments. With appointments, customers can schedule a specific time to come pick up their orders. Without them, they can come by your store any time after it is ready.

If you enable appointments you can choose to make them voluntary or mandatory.

After you select one of these options, more settings will appear for you to configure the details for the appointments. You can set the duration for 15-, 30-, 45-, or 60-minute intervals. Or leave them open for any time during business hours.

Below, you can set the default business hours where pickups are available and you can also manually set specific dates that are excluded from pickups.

If you enable pickups for your store, you will need to define a lead time in the settings. Lead time refers to how long you want someone to wait before they can pick up their order.

This delay could be required for a variety of reasons. Perhaps the product needs to be sent to the pickup location from a warehouse, or maybe it’s because the merchant needs time to bake the order of three dozen cookies. Whatever the reason, lead time allows the merchant to increase the waiting time before someone can pick up their order.

When setting your default lead time, you must decide whether to only count open days or to count all days.

If pickup appointments are allowed or required, a time picker will appear at checkout so customers can select their pickup date and available pickup times. The calendar will respect your business hours, holidays, pickup lead time, and pickup deadline as defined in the plugin or location settings.

All the appointment settings with the exception of the Pickup Appointments Mode, Appointment duration, and Lead time calculation settings, can be overridden for individual pickup locations.

When you set up a pickup location, you can include an email notification list for that specific location.

If you do, any time there is an order that includes items for the location, the email addresses on the list will receive order notification emails.

3. Create a pickup location

After you configure your settings go to WooCommerce > Settings > Shipping > Pickup Locations to create a new pick-up spot for customers.

Select Add Pickup Location, enter a name and the physical address.

Click Available Products and select which items will be eligible for pickup at this location. By default, All Products is selected. If you only plan to offer part of your inventory from this store, select Some products.

This will open two fields where you can specify products or categories that you want to include in the location’s pickup offering.

4. Add geocoding to your site

You can set up geocoding to allow for the pickup locations list to be sorted automatically in relation to the customer’s current location (using geoIP), which makes it easier for them to choose the best location. This is not required to use the plugin, but may be valuable for stores with multiple pickup locations.

Here is how you can set up geocoding with Google.

Go to the Google API Library and click Select a Project > New Project.

Enter your Project Name and Location and click Create.

Go to your new project and select Geocoding API.

On the next page, click Enable and then go to Credentials.

Click Create Credentials > API Key. This will generate the API key you need to connect to your WordPress site.

Copy your API Key and click Close. Make sure not to click Restrict Key. This can cause Google to reject your geocoding requests from the extension.

Go back to the Local Pickup Plus settings and enter the API key. Save the changes — and geocoding should be good to go.

Once geocoding is enabled, your pickup locations will automatically be sorted so that the customers see the closest spots given their location. If there is an error automatically geolocating a location, you can manually enter the coordinates when editing the location’s settings.

Setting products that can be picked up

The product pickup settings will first determine if a product can be picked at your physical store. You can find these settings on each product and category page. Below are the values you can choose for pickup eligibility:

  • Can pick up: Customers can ship or pick up.
  • Cannot pick up: Customers can only ship.
  • Must pick up: Customers can only pick up.

To define the pickup status category, go to its editor page. Find the box that says Can be picked up and adjust as needed.

When creating or editing a product, go to the Shipping tab and update the Local Pickup field to determine if pickup is allowed, required, or if the product should follow its category-level settings.

When a product and its category have different settings defined, Local Pickup Plus will follow the product-level settings.

Closing thoughts on buy online pickup in-store

Buy online pickup in-store has many benefits and is a key to businesses looking to provide their customers the best possible experience. It is because of this that major retailers like Target and Walmart have placed a heavy emphasis on this fulfillment method.

Fortunately, you don’t need this level of resources to offer your customers in-store pickup as you can set it up with WooCommerce and a bit of know-how. By connecting you online and offline channels, you too can give your buyers flexible options for fulfilling their orders.