UPDATE: Shopify Local Pickup & Local Delivery — Customized Products Being Deemed Ineligible

LESSON LEARNED: When Local Pickup or Delivery Disappears, Don’t Assume Your Rule Is Broken

I wanted to circle back and share something I learned while working through the Local Pickup and Local Delivery configuration for Southern Yankee Woodworking.

I’ve gotten a lot of value from reading other merchants’ experiences in this community, and have had a few community members step up to offer their guidance, free of charge, just because It felt right, In a day when We are being approached by people who always want to sell you something, this was an unexpected gift, so as I work through some of the more complicated parts of our Shopify build, I want to make a point of coming back and documenting what we learn — especially the things that weren’t obvious at first.

Hopefully this saves somebody else a few hours of troubleshooting.

The Problem Looked Like a Delivery Rule

We had our Local Pickup and Local Delivery logic working.

Standard products were behaving correctly. The appropriate delivery options appeared based on the customer’s location, and our rules were doing what we designed them to do.

Then we tested some of our customized products.

Suddenly, Local Pickup and/or Local Delivery disappeared.

Naturally, my first thought was that something was wrong with the delivery rule.

So we went back through the logic, ZIP-code conditions, rates, and checkout behavior.

But the rule wasn’t necessarily the problem.

The Lesson: Separate “Rate Eligibility” From “Product Eligibility”

This was the distinction that helped us get to the bottom of what we were seeing.

A delivery rule can be configured correctly, but that doesn’t necessarily mean Shopify will ever allow that rule to apply to every product.

If the product is being considered ineligible for that fulfillment method, the delivery rule never really gets its opportunity to do its job.

That explains why we could effectively have:

Same customer + Same ZIP code + Same delivery configuration + Different product = Different checkout result

The standard product worked.

The customized product didn’t.

That was the clue.

Why This Was Important for Our Business

Southern Yankee Woodworking manufactures a lot of made-to-order products.

A customer might select:

  • A different stain

  • A different finish

  • A wood species

  • Engraving

  • Personalization

  • Other cosmetic/custom options

But those selections don’t necessarily change how we can fulfill the product.

If I can deliver a porch swing locally when it’s unfinished, I can still deliver that same porch swing after staining it.

If the customer adds engraving, it doesn’t suddenly become physically impossible for them to pick it up at our shop.

That sounds obvious from the merchant’s perspective, but it’s an important distinction when you’re troubleshooting Shopify.

Customization and fulfillment eligibility are two different things.

A Troubleshooting Sequence I’d Recommend

If you’re experiencing a situation where Local Pickup or Local Delivery works for some products but mysteriously disappears for others, I wouldn’t start by rebuilding your delivery rules.

I’d test it methodically:

1. Start with a known-good product.
Confirm that Pickup/Local Delivery appears.

2. Keep the customer and delivery ZIP exactly the same.

3. Replace only the product.

4. Test the product that isn’t working.

5. Compare its fulfillment/location eligibility against the known-good product.

6. If variants or customization are involved, test those independently.

That simple A/B approach helped us separate a product eligibility problem from what initially looked like a shipping-rule problem.

Another Lesson: Change One Variable at a Time

This has probably been one of my biggest takeaways from building a more complicated Shopify shipping environment.

When you’re dealing with products, variants, customer accounts, B2B companies, company locations, ZIP codes, delivery customizations, shipping profiles, pickup, and multiple rates, changing several things at once makes troubleshooting almost impossible.

We’ve started treating checkout testing more like a controlled experiment:

Same product → change ZIP
Same ZIP → change product
Same product/ZIP → change customer type
Same B2B company → change company location

It takes longer initially, but you learn which layer is actually responsible for the behavior you’re seeing.

Where We’re Going Next

We’re applying that same approach to the rest of our shipping architecture.

We’re currently working toward one centralized product catalog that can support retail customers and multiple B2B dealer tiers while also distinguishing between:

Store Pickup → Local Delivery → Extended Delivery → Regional Delivery → Parcel Shipping → Freight/Quote Required

We’re also auditing packaged dimensions and weights so the physical characteristics of the product — rather than cosmetic customization — determine how it should be shipped.

For most of our product lines, stain, finish, engraving, and personalization don’t change the package dimensions. Even wood species generally don’t change the package size, although they can affect weight.

Our approach is to avoid creating unnecessary variant-level shipping complexity when the physical package hasn’t actually changed.

Why I’m Sharing This

I’m certainly not claiming to have every Shopify shipping answer figured out. We’re still building and testing.

But I do know one thing now that I didn’t know when we started troubleshooting this issue:

If a delivery option works for Product A and disappears for Product B under otherwise identical checkout conditions, investigate the PRODUCT before assuming your delivery RULE is broken.

That one distinction would have shortened our troubleshooting considerably.

I’ll keep sharing what works, what doesn’t, and what we learn as we continue building this out.

There are plenty of us trying to make Shopify work for businesses that don’t fit neatly into a “put it in a box and ship it UPS” model. If documenting our experience helps the next merchant eliminate even one dead end, then it’s worth contributing it back to the community.

2 Likes