A customer in Marietta, Georgia finds your candle brand on Instagram and checks out on her phone. Shop Pay has her card saved, so the whole thing takes eleven seconds: tap, face scan, done. She never sees the delivery options, because checkout preselected the cheapest one for her, and the cheapest one is free local pickup at your shop in Denver. Her order confirmation invites her to collect three candles at a storefront 1,400 miles from her house, any weekday between ten and six.
She replies to the confirmation within the hour, half apologetic and half annoyed, asking you to just ship it. And this is where your afternoon actually goes sideways, because there is no button in Shopify for what she is asking. You cannot open the order and change local pickup to shipping. The delivery method is the one part of an order that order editing does not touch.
If this happened once, it would be a funny support email. Merchants on the Shopify community forums report several wrong-method orders a week, every week, and the thread asking Shopify to stop defaulting checkout to pickup carries the title Shop Pay defaulting to local pick up instead of letting customer decide is causing major issues. Shopify staff replied, acknowledged the problem, and logged a feature request. That was the resolution. The thread is still collecting replies.
Why checkout keeps picking pickup for your customers
The mechanics are simple and entirely out of your hands. Shopify checkout preselects the cheapest delivery option available for the cart. Local pickup is free, so on any store that offers it, pickup sits at the top of the list, already selected, for every customer within its eligibility. A careful shopper on a desktop reads the options and clicks the right one. A phone shopper inside Shop Pay, gliding from cart to Face ID on saved details, never touches the delivery section at all. The default wins by default.
There is no setting to change which method is preselected, no way to reorder the list, and no way to make pickup opt-in. Merchants have asked for exactly those three things for years. What they swap instead are workarounds of costume and friction: rename the rate to FREE PICKUP, you collect in Denver so it cannot be misread, spell the street address out inside the rate name, attach a fee to pickup and refund it at the counter. Some stores give up and switch pickup off entirely, which fixes the mistake by abandoning the customers who genuinely want to collect. Every option trades away something, because the real lever, the default, is not yours to pull.
The order you are not allowed to fix
The checkout half of the problem would be survivable if the admin half were not so strange. Shopify has order editing, and for items it works: add a product, remove one, adjust a quantity, collect the difference. The delivery method is not part of it. There is no supported way to convert a pickup order to a shipping order, or a shipping order to pickup, and orders placed with local pickup or local delivery often refuse editing altogether, a limitation merchants have been asking about in a community thread that has run for years across dozens of replies.
The delivery method is the one field on a Shopify order that no amount of clicking will change.
The supported path, confirmed by Shopify's own support staff, is demolition. Cancel the original order. Refund it, and depending on your payment provider, wave goodbye to the processing fee. Rebuild the whole thing as a draft order with the items added again and a shipping line this time. Send the customer an invoice and wait for her to pay a second time while the refund crawls back to her card. You now have two order numbers for one purchase, a cancellation polluting your analytics, and a customer whose eleven second checkout has become a three day correspondence.
So most merchants do not do that. They use the half workaround instead: type a shipping address into the pickup order, select it from the orders list, and buy a label anyway. It works, in the way that duct tape works. The order still says pickup on the confirmation the customer holds. The ready-for-pickup notification is still armed and waiting for someone to tap the wrong button. No shipping fee was ever collected, so the store just ate it. And the reports now quietly miscount both channels. The reverse mistake, a customer who wanted pickup but paid for shipping, is handled the same artisanal way: refund the shipping fee by hand and reply to the email telling her to come by.
Why the manual version fails quietly
Catching these by eye depends on someone noticing that a delivery method does not make sense, and Shopify offers no help. There is no distance check anywhere in the platform: an order for pickup in Denver from a customer in Georgia sails through checkout, lands in the admin, and looks exactly like every legitimate pickup order above and below it. The badge that distinguishes pickup in the orders list is small, and during a sale week, when someone is bulk selecting sixty orders to buy labels, it is the easiest thing on the screen to miss. That is how pickup orders get shipped by accident, usually to a billing address, occasionally to the store itself.
The customers who email you are the good outcome. The quiet failure is the customer who does not: her candles sit on the pickup shelf for two weeks while she waits for a delivery that was never coming, and the first you hear of it is a where is my order ticket with a temper, or a chargeback, or nothing at all and one fewer repeat customer. And because no report exists for wrong-method orders, you cannot see the size of the leak. The cost shows up as shipping fees eaten, refunds processed, and shelf space occupied, none of it labeled with the cause.
What the automation actually has to do
The fix is not a faster refund. It is the sanity check a good operations person would run on every order the moment it lands, done automatically, with the correction started while the customer still remembers checking out. As a Dugong playbook, in plain prose:
# trigger
On order created, and on customer reply
# steps
1. Read the delivery method against the rest of
the order: address, distance to the pickup
location, customer history, gift signals
2. Flag the mismatches before fulfillment:
pickup from 1,400 miles away, shipping for
the regular who collects every Friday
3. Ask the customer, same hour, one email:
pickup at the shop, or shipped for the
standard rate?
4. Convert cleanly on a ship answer: collect
the fee, rebuild the order, cancel the
original, reconcile the numbers and notes
5. Confirm cleanly on a pickup answer: address,
hours, what to bring, and a nudge if the
order sits uncollected a week
6. Keep pickup orders out of the label queue
with a tag the bulk flow respects
7. Count the wrong-method orders weekly and
fix the checkout copy causing them
Steps one and two are reading, not filtering, and that distinction is the whole game. A rule can tag every pickup order, and it should. A rule cannot notice that this particular pickup order makes no sense: first-time customer, home address four states away, a gift note addressed to someone in a third city, and a shipping address typed in anyway because the customer assumed it mattered. Weighing those signals against each other is the same species of judgment as deciding what a high risk flag actually means or spotting the order a customer placed twice: context against context, not field against threshold.
Step three is where the economics live. Reached within the hour, the customer answers in minutes, because the mistake is hers and she knows it, and the fix becomes a two message exchange. Reached after the pickup shelf and the silence, the same conversation is a refund, an apology, and a review you would rather not receive. The email is short and the automation can send it the moment the flag is raised, which is precisely what a human batch-processing orders at 6 p.m. cannot.
Step four is the grind Shopify declined to automate, and it is honest work: a draft order with the same lines and a shipping fee, an invoice, a cancellation of the original once the new order is paid, and notes on both numbers so support can follow the trail in a month. None of it is hard. All of it is ten minutes of admin surgery per order, which is exactly the kind of sequence an automation runs identically every time and a hurried human occasionally fumbles, forgetting the refund or the invoice and creating a second ticket to clean up the first.
Why this is a compiler problem, not an app problem
There are good pickup apps, and if you run serious curbside volume you may already use one for date pickers and ready notifications. They manage legitimate pickup orders. None of them read intent, because intent is store-specific in a way no settings page can hold. Your actual policy is a paragraph: if a pickup order's address is more than fifty miles from the shop, ask before treating it as real. Regulars who always collect get waved through. Gift orders get a gentler email than mistakes. If the customer meant shipping, charge the standard rate, unless the order is over eighty dollars, in which case eat it and say so, because that customer is worth keeping. Never let a pickup order into a label batch. That paragraph changes with your margins and your neighborhood. An app cannot hold it. A compiler that turns the paragraph into the running workflow can, which is the same argument behind the automations no one builds: the valuable workflow is shaped like your store, not like a feature list.
Picture a home goods store in Austin: one shop, pickup enabled, about 130 orders a week, six of them wrong-method in a typical week. With the playbook running, five are flagged at creation and emailed within the hour. Four customers answer ship it, and the conversion runs end to end: fee collected, order rebuilt, original canceled, notes carried across. One answers that her sister is collecting it, thanks, and gets the pickup hours by reply. The sixth is the reverse case, a local who paid for shipping out of habit, and the automation refunds her shipping fee and tells her the order is on the shelf before she thought to ask. Nothing has shipped from the pickup shelf by accident since the tag went in. The owner's involvement in all of it was reading one weekly summary.
The workflow worth building this week
Start with the number you do not have. Pull your last ninety days of pickup orders and count the ones with a customer address nowhere near your location, then count the cancellations and shipping refunds that trace back to a wrong method. Most stores that offer pickup find the leak immediately, and it is bigger in exactly the weeks they were too busy to notice it.
Then automate the reading before the deciding. For the first two weeks, let the workflow flag mismatched orders and draft the customer email, and click send yourself. You are checking its judgment against yours, the same trust curve you would run with an address check before the label prints. Once it has been right fifty times in a row, let the clear cases run end to end, ask and convert and reconcile, and keep only the odd ones for a human look.
Describe it the way you would brief a new hire on their first morning. When an order comes in, glance at how it is getting to the customer and whether that makes any sense. If a pickup order is from someone far away, or a shipping order is from one of our regulars, ask them the same hour, nicely. If they meant shipping, collect the fee and redo the order properly, and make sure the paper trail is clean. Keep pickup orders away from the label printer. And tell me once a week how many of these we caught, so I can fix the wording at checkout. That is the brief. The compiler handles the fields, the sequences, and the timing, and the customer in Marietta gets her candles shipped before she has time to be annoyed about it.
If you are a Shopify merchant with a pickup shelf holding orders
that were never going to be collected, a label queue that has
shipped a pickup order to a billing address, or a rate renamed in
all caps as a defense mechanism, the inbox is open:
field-notes@dugong.live. We are collecting case
studies for the next issue.