How To Restrict PO Boxes as Addresses on Shopify
How To Restrict PO Boxes as Addresses on Shopify

How do I restrict PO boxes as addresses on Shopify?If you've spent hours searching, speaking with representatives, posting on forums, and still have come up short for a solution to the impossible question: How do I restrict PO boxes as addresses on Shopify? Well, here is the short answer – there is no default way to restrict users from submitting PO box addresses on Shopify. Shopify's native shipping configuration does not have a way to filter out these addresses and that can cause a number of problems, including additional fees and frustration with your customers.

There may be a number of reasons as to why a business may not want to ship to a PO Box. But whatever the reason, we figured out the answer to this issue. Read on to finally get the answer you have been looking for.

In our experience, the most typical reason we have had to implement this solution is when clients have UPS as their main shipper because UPS does not ship to PO boxes. When an order submits a PO box address to them, you could receive an additional charge and forfeit benefits. The UPS website specifically states:

"We do not deliver to P.O. Boxes. If a shipper should use a P.O. Box address, the recipient´s telephone number must be included on the label. Your package that is addressed to a P.O. Box may be delayed, will not be covered by any UPS Service Guarantee, and will require an address correction charge.

As Shopify has worked to increase their security and tighten compliance, they've also removed the opportunity to improve features that are lacking within the system. By using the app Address Validator, you previously could take advantage of additional scripts within the checkout to add this type of validation and allow users to update their information before checking out. With Shopify's update in 2019, that option has been removed for newer stores. This app now only provides a follow up after the order is placed on the order status thank-you page; and as you can imagine, this can be a very problematic user experience since the user has already placed the order properly and now will have to be contacted by you to update their order.

Follow the below instructions to bypass the Shopify restrictions and successfully restrict users from inputting a PO box as their address.

What You Will Need

In order to restrict a Post Office Box, P.O. Box, PO Box, or whatever you want to call it, you'll need a Shopify app: Intuitive Shipping, and about 15 minutes. You can probably use one of the many other shipping apps in the Shopify app store, but this is our app of choice since it is very flexible. I can't speak to the others, but most of those shipping apps have similar functionality.

Note: We're not affiliated in any way, but they have provided great customer service any time we've needed it. They have a lot of robust shipping options that cover many unique scenarios we've seen dealing with a range of clients.

What You Will Need To Do

You will set up conditions that have to be met in order to receive a shipping method. By doing this, you can then create a condition that filters out any addresses that we do not like (i.e a PO box) and re-route users to enter an address that your business does support.

In order to get started, you'll need to install Intuitive Shipping from the Shopify App store.

Open Intuitive Shipping by clicking the Apps item on the left navigation, and then click Intuitive Shipping.

Shopify Intuitive Shipping App

From the Intuitive Shipping dashboard, click Shipping on the top menu, then Shipping Scenarios, then Add Shipping Scenario

Shopify Dashboard Restrict PO BOX

Fill in the Shipping Scenario Title with the name you want for this particular scenario, that way it's recognizable in case you have other shipping methods. This is for internal use only, so don't worry about your customers seeing this.

Scroll down to Conditions and click Add Another Condition

  1. For the first drop down (Whole Cart Condition), select "Address" within the Customer Conditions category on the list.
  2. For the second drop down, select "Does Not Equal"
  3. For the Value field, enter the following: po box,p.o. box,p.o box,po. box,pobox,p.o.box,p.obox,po.box, post office box

Copy and paste that list exactly since it covers all of the formats to be safe.

Shopify Restrict PO Box Settings

I like to save before moving on to another screen, so I recommend saving at this point. The ‘save’ button is on the very bottom of the screen on the right.

Scroll down to Shipping Methods and click Add Shipping Method on the far right. From here, you will populate your Shipping configuration. You can choose options such as the method on how you will calculate shipping rates (for us it's UPS), where you're shipping from, the delivery methods (which will vary by the method you choose above), package rules and options to split packages after a combined weight, the quantity of products, etc.. This is really powerful stuff.

Note: If you already have this set up in Shopify, you can grab all of your settings from Settings > Shipping > General Shipping Rates > Manage Rates on your Shopify dashboard.

Once you save your shipping method, you are ready to go! Just make your shipping scenario visible.

Shopify General Settings

Your final scenario should look something like this.

Restrict PO Box Shopify Scenario

To test, go to your store and add an item to the cart and proceed to check out. Try to enter a few different variations and you will see that the PO box doesn't register; therefore, Shopify will not find a shipping method to provide and will push the user to enter a new address that is accepted by the carrier.

Shopify Restrict PO Box Example 1
Shopify Restrict PO Box Example 2

Lastly, we need to adjust the language that your customers will see when they do enter an invalid address. To do this, we'll have to go to Settings on your Shopify dashboard and scroll to the very bottom of the page and click Manage Checkout Language.

Now, look at the tabs. You should be in Checkout & System. Trust me, this page is long, so I've outlined some key sections and field labels that you'll want to search for. I suggest using the find function from your browser to scan the page since there is quite a lot Shopify allows you to edit.

Checkout shipping

No rates for cart or destination notice

Checkout field errors

Address address1 blank

Checkout shipping errors

Shipping method not available

After finding these, you'll want to customize the message that you want to show the user when this scenario plays out. Run a few tests to make sure your message covers all of the scenarios that you want to address.

Restricting a PO box address on Shopify is as simple as that! I hope this guide helps any similar challenges that you may be running into while customizing your checkout experience.

From the Intuitive Shipping dashboard, click Shipping on the top menu, then Shipping Scenarios, then Add Shipping Scenario

If you need additional help, our Shopify Experts are standing by. Contact us today for a free consultation.

selected projects
selected projects
selected projects
Big ideas. Bigger results. Let’s make it happen. Get an instant quote today.

sf-required

Manage recurring validation states.
sf-form_input
sf-required
Field Input (Required)
sf-form_checkbox-field
sf-required
Checkbox (Required)
sf-form_radio-field
sf-required
Radio (Required)
sf-form_input-select
sf-required
Select (Required)
sf-form_input-date
is-icon-left-right
sf-required
sf-form-icon-left
sf-required
Date Input (Required)
This is an error tag
sf-form_input-error-wrapper
sf-required
Error Tag (Required)
sf-form-icon-right
sf-required
Icon on Input Right (Required)
sf-form-icon-left
sf-required
Icon on Input Left (Required)
sf-form-icon-right
is-text-area
sf-required
Icon on Input Right Text Area (Required)

sf-checked

Manage recurring checked radio & checkboxes states.
sf-form_checkbox-field
sf-checked
Checkbox (Checked)
sf-form_radio-field
sf-checked
Radio (Checked)

sf-focus

Manage recurring focusing for button, radio and checkbox states.
sf-form_radio-field
sf-focus
Radio (Focused)
sf-form_checkbox-field
sf-focus
Checkbox (Focused)

sf-hide

Manage hidden states.
sf-skeleton
sf-hide
Loader Box (Currently Hidden)

sf-await

Manage awaiting states.
sf-button-child
sf-await
sf-button-await-child
sf-await
Awaiting Status of Buttons
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Step {Current Slide}/{Max Slides}

Project Details

Start by telling us about your project.
This field is empty
Enter a valid email
Select one option
Next Slide

Key Project Requirements

Tell us about the essential features and requirements for your project.
This field is empty
Select one option
Next Slide

Timeline & Budget

Tell us about your project's timeline and budget.
This field is empty
Select one option
Next Slide

Additional Information

Anything else you'd like to add?
This field is empty
Select one option
End
Thank you! Your submission has been received! A representative will be in touch within 24 hours.
Oops! Something went wrong while submitting the form.