You can block PO boxes on Shopify without Plus, using Shopify’s own Checkout Blocks address format rules or a public app’s Validation Function. Shopify opened its native address format rules to all merchants on June 17, 2026. You no longer need an app just to get basic PO-box blocking on Basic, Grow, or Advanced.
The useful question is which addresses your shipping policy should reject, and whether your settings also reject valid customers. A PO box, a private mailbox, and an APO military address need different treatment. This guide covers the current setup, the plan limits that still matter, and the detection cases we handle in Address Verifier.
Check your carrier before blocking PO boxes
Block PO boxes when the shipping services you offer cannot serve them. If you offer a compatible postal service, routing the order to that service can preserve a sale.
| Service or address type | What to check |
|---|---|
| USPS PO box | USPS delivers mail and packages to its boxes, subject to the chosen service’s restrictions. |
| Standard UPS service | UPS asks for a street address. Its address guidelines warn of delays, an address-correction surcharge, and loss of its service guarantee on PO-box shipments. |
| Standard domestic FedEx service | FedEx Ground and Home Delivery do not deliver to PO boxes. |
| FedEx Ground Economy | FedEx’s shipping FAQ identifies this contract-only service as its domestic PO-box option. FedEx Express has separate exceptions for Puerto Rico and some international destinations. |
| Private mailbox at The UPS Store | This has a street address and can accept deliveries from all carriers. PMB does not mean an undeliverable USPS PO box. |
A merchant can still choose to reject private mailboxes as a business policy. That is a different decision from rejecting an address because the carrier cannot deliver there. Neither a PO box nor a mismatch between billing and shipping proves fraud.
Current Shopify methods, by plan
| Method | Basic / Grow / Advanced | Plus | When it acts |
|---|---|---|---|
| Native Checkout Blocks address format rule | Available | Available | Blocks matching addresses before checkout completes |
| Validation Function from a public app | Available | Available | Blocks configured rule violations before checkout completes |
| Shopify Flow | Available | Available | Responds after an order/event; can route orders for review |
| Manual order review | Available | Available | Requires someone to inspect the order |
| Address Verifier’s optional in-checkout correction UI | Unavailable | Requires Pro/trial and block placement | Offers postal/carrier suggestions before the order |
The old Plus-only Address Blocker is deprecated. Use the current address format rule rather than instructions for that old block. A checkout UI extension and a Validation Function have different plan requirements; the Plus limit on the UI does not make Function blocking Plus-only.
Set up the native PO-box rule
Shopify documents these steps in its address format validation guide:
- Open Apps → Checkout Blocks → Functions → Create function.
- Select Address format validation, enter a title, and choose the markets where the rule should apply.
- Enable Block specific address types and select PO boxes. Select the address fields to validate and review the error message.
- Save the function, then change its status from Inactive to Active and save again.
- Test a PO box and valid street-address counterexamples before relying on the rule.
These rules validate shipping fields, not billing addresses. The native options also cover military/diplomatic addresses, lockers, postal-code restrictions, field lengths, required fields, and custom regex. Do not turn on military blocking merely because a military address contains the word Box.
What Flow can do
Shopify Flow is free on Basic, Grow, Advanced, and Plus. Its Send HTTP Request action has a separate Grow-or-higher requirement.
A workflow can inspect an order’s shipping fields and tag or hold the order for review. It does not prevent that order from being placed. A simple text condition also needs careful testing: a condition matching Box can catch an ordinary street name. Use Flow as an operational review step when that fits your fulfillment process. The Flow recipes in our help center explain the app-tag workflow.
Detection cases in our rule engine
Our PO-box rule recognizes explicit forms such as PO Box, P.O. Box, POB, Post Office Box, PMB, and Caller Service. PMB is included because merchants can choose to reject private mailboxes, not because all carriers reject them.
A bare Box is deliberately excluded from the PO-box pattern. Military addresses such as PSC 1234 Box 5678, with city APO and region AE, belong to the separate military policy rule. Canadian rural delivery and a civic address combined with Box plus a number also have separate classifications.
These synthetic examples come from our rule test fixtures. They explain classification; they are not evidence that the listed destination exists or that a parcel arrived.
| Input | Expected classification |
|---|---|
PO Box 412 | Explicit PO-box policy match |
412 Box Hill Rd | No street-plus-box match: Box has no box-number operand |
22 Henry Box Brown Lane | No street-plus-box match: this is a street-name pattern |
PSC 1234 Box 5678, city APO, region AE | Military classification, separate from PO-box blocking |
Keep both rejection tests and valid-address tests in your setup check. Shopify also warns that overly strict regex can block valid addresses. No text pattern identifies every freight forwarder that uses an ordinary street address.
Shop Pay and other accelerated checkouts
Shopify’s Validation Function documentation includes Shop Pay, PayPal, Google Pay, and Apple Pay. Saved wallet addresses do not bypass a server-side Function just because buyers type fewer fields.
Test the payment methods you offer, including the error the buyer sees. Do not assume every app’s form script, Function, and correction UI behaves the same way in each payment flow.
Where Address Verifier fits
Address Verifier offers offline rule blocking on the Free plan. Set the PO-box rule to Block and activate the validation rule in Shopify to stop matching addresses before checkout completes. Warn does not hard-block checkout; post-purchase prompts depend on their placement and the buyer loading the page.
Pro adds carrier/postal verification and buyer correction on merchant-placed Thank-you and eligible Order-status blocks. Plus also supports an optional in-checkout correction block. Pro costs $0.04 per order with the first 100 free; when Plus in-checkout verification is enabled, validated abandoned checkouts can also be billed. See what counts as charged.
Postal verification can flag problems such as missing unit information, but it does not guarantee delivery or identify a buyer’s intended destination. Use free native blocking if that solves your whole problem. Use verification when you need the additional check and correction workflow.
Can a good PO-box rule still block military addresses?
Yes, if you also enable a military-address block or use a broad custom pattern. Allow military addresses only when your shipping services support them, and test the city/region fields as well as the address line. A bare Box should not be treated as proof of a PO box.