How to Offer a Store Pickup Discount on Shopify

Explore with AI
Get AI-powered insights from this article
A bakery nudges its cake prices up to cover the cost of running a van. Then a regular from two streets away drives over, collects the box herself, pays the same price as the customer across town, and quietly wonders why.
That gap is what a Shopify store pickup discount is meant to close. Shopify will not close it for you.
Shopify's built-in discounts have no condition that takes money off the products when a customer chooses pickup. There is no box in your admin that says 10% off if they collect. You can build one in code with a discount function, but that is developer work, and the older product and order discount APIs cannot read the delivery choice at all. The no-code route is a scheduling app that catches the choice in the cart, applies the matching discount there, and carries it into checkout. That is how Bird Pickup & Delivery does it.
The Pickup Discount Checklist
Five decisions turn a pickup discount from a nice idea into something that protects your margin.
- Size it against what collection really saves you, not against what feels generous.
- Trigger it on the customer's choice, never on a code they have to remember.
- Scope it to the location that needs the foot traffic.
- Fence it with conditions so it stops running on the days you are already slammed.
- Decide how it behaves next to the sales and codes you already run.
Why won't Shopify apply a discount when a customer chooses store pickup?
Because Shopify's discount settings have no condition that takes money off the products when a customer chooses pickup.
Shopify works out product and order discounts against the cart, then shipping afterwards. Its shipping discounts can cut a delivery rate to zero, which is why free-delivery-over-a-threshold offers are easy. What they cannot do is take money off the products because someone collected in person.
Merchants have asked for this on Shopify's community forum for years. One seller of heavy garden systems put it plainly: they had raised base prices to absorb steep weight-based shipping fees, so neighbours who collect now pay a shipping premium on a product that never shipped.
That thread lands on the two workarounds every merchant finds, and both have a sting.
The first is a manual code. Put "use PICKUP10 at checkout" in your pickup description. It works right up until the code leaks, and as one reply put it, this may be abused by non-pickup orders with no clean way to police it. Now you are canceling orders or eating a discount on a parcel you still have to post.
The second is variant splitting: a pickup variant at one price, a delivery variant at another, with stock locations and delivery profiles wired so the wrong one cannot be bought. Fine for six products. Across a seasonal bakery catalog you have doubled every product and given yourself a permanent inventory job.
Neither is a discount. Both are a workaround for a missing one.
What can Shopify's discount functions do, and why don't they help most shops?
This is worth knowing before you brief a developer, because it can save you paying for an approach Shopify's discount targets do not support directly.
Shopify's Discount Function API is genuinely capable. One function can handle all three discount classes: product discounts on cart lines, order discounts on the subtotal, shipping discounts on delivery rates. You can activate up to 25 discount functions per store, and Shopify is explicit that they run concurrently with no knowledge of each other.
So a developer can write almost any pricing rule you can describe, except the one this article is about. Shopify's documentation states that in the older Order Discount and Product Discount APIs, the delivery-groups input is always an empty array, so a function written against those cannot read the delivery choice at all. Shopify points developers to the current Discount Function API instead, where a delivery-options target does receive the delivery groups and the option the customer selected.
That makes shipping discounts the easy case, because cutting a delivery charge has a supported route. What none of it produces is a setting that takes money off the products because someone collected, and that is where shops get stuck.
So Shopify's standard product and order discounts give you no fulfillment-method condition, and closing that gap yourself is a build rather than a setting. Bird's approach is to capture the choice in the cart, apply the matching discount there, and carry it into checkout.
How big should a Shopify store pickup discount be?
Size it against what collection really saves you, not against a round number that sounds generous.
When an order gets collected instead of delivered, you stop paying for a slice of a driver's hour, the fuel and wear for that stop, packaging that survives a van, and the redelivery risk when nobody answers the door. That last one is the expensive invisible cost, because a failed delivery is paid for twice.
There is a second return most merchants forget to price in. A customer who collects is standing in your shop, and some will add something at the counter they would never have added online. That is the whole argument for buy online, pick up in store.
Two guardrails. Keep the discount smaller than your delivery cost per order, or you have turned a saving into a loss and called it a promotion. And pair it with a floor, because a percentage off a tiny order is not worth the counter time. A minimum order value underneath the offer stops that, and our minimum order value guide covers where the floor should sit.
How do you apply a pickup discount automatically, without a discount code?
Trigger it on the customer's choice, never on a code they have to remember.
The customer picks their delivery method in the scheduling widget on your cart or product page. Bird sees that choice, applies the matching discount there, and carries it into checkout with no code typed, shared, or leaked. Point it at pickup, local delivery, or shipping, so the incentive lands on whichever method you want more of. That is what fulfillment discounts do.
Two ways to feed it. Create the discount in Bird and you set a percentage or fixed amount off the order total, then aim it at a delivery method and a location, never touching Shopify's discount screens. Create it in Shopify and you keep Shopify's own machinery: product, order, or shipping discounts, combination settings, eligibility rules for a customer segment. One difference: a Shopify-sourced code can be reused across several methods, while a Bird discount is tied to the one you built it for.
Then scope it to the location that needs the traffic, because a pickup discount is rarely store-wide. The new shop across town needs a reason for locals to try it; the flagship with a queue does not. Since multi-location support lets a discount target one location or all, you can run 10% off collection at the quiet branch and nothing at the busy one. The setup guide in our help center has the screens.
One honest note you will hit in testing. If a customer reaches checkout, gets the discount, then clicks back to the cart, the code still shows as applied. Return to checkout on a different method and it updates to match. The final charge follows the method they paid for.
When should a pickup discount apply: which days, times, and postal codes?
Fence it with conditions, or an always-on pickup discount stops being an incentive and quietly becomes your price list.
You pay for the behavior only when you need it. A bakery does not need to buy foot traffic on Saturday morning. It needs it on a wet Tuesday afternoon. Since July 2026 the discount can know the difference: limit it by day of the week, specific dates, time range, the postal codes in a delivery zone, or minimum order amount. Conditions need the Growth plan or higher.
| What you're trying to fix | How to fence the discount |
|---|---|
| Dead midweek afternoons | Weekday-only, limited to your quiet hours |
| Delivery van overloaded on Saturdays | Saturday-only pickup discount, nothing on weekdays |
| Neighborhood that's expensive to reach | Restrict to the postal codes on the far edge of your zone |
| A launch or seasonal push | Fixed date range, so it expires without anyone remembering |
| Small orders eating counter time | Minimum order amount underneath the discount |
Discounts can be edited in place now too, so tuning a percentage no longer means rebuilding the offer. Peaks work the same way in reverse, and our guide to holiday surcharges without losing customers covers when to charge more instead.
Keep discounts and rates in separate boxes. A discount takes money off the order. A rate sets what delivery costs, and intelligent rates handle that: more for a Saturday drop, more for same-day, less off-peak. Many merchants who think they want a pickup discount actually want a cheaper off-peak rate, and our delivery rate strategy guide is the better start.
How do pickup discounts stack with your other Shopify discounts and codes?
Decide how yours behaves next to the sales and codes you already run. This is the section people skip, then meet later as a support ticket.
Shopify's own rules for combining discounts are fixed:
- Your store can have a maximum of 25 active automatic discounts.
- A customer can use up to 5 product or order discount codes plus 1 shipping discount code on the same order.
- Product and order discounts combine, with the product discount applying first and the order discount then hitting the subtotal.
- Product and shipping combine, and order and shipping combine.
- Two shipping discounts cannot both apply to the same order.
- Two order discounts can combine if your store qualifies. When they do, both percentages are calculated against the original subtotal, so 10% and 20% comes out as 30% off rather than 28%.
Then your own decision: what happens when more than one of your fulfillment discounts matches the same cart. Say a weekday pickup discount and a far-postal-code one both fit. Bird gives you a shop-level setting to apply the largest match, the smallest, or all of them.
Most local shops should choose the largest and move on. It is generous in the customer's favor, easy to explain at the counter, and it never compounds three offers into a number you did not intend to sell at. Pick "all" only if you have built small, non-overlapping offers and tested the worst-case cart.
Should you discount pickup, local delivery, or shipping on Shopify?
Different problems, different lever. Discount the method you want more of, not the one that feels cheapest to give away.
| Discount this method | When it's the right call | What to watch |
|---|---|---|
| Pickup | Delivery capacity is your bottleneck, or a location needs foot traffic | Keep it under your delivery cost per order, and put a minimum underneath |
| Local delivery | Your van has empty slots and you'd rather fill them than run half-loaded | Fence it to genuinely empty slots, not every day |
| Shipping | You want to push orders out of a crowded local zone and onto a courier | Only one shipping discount applies per order, so don't build two |
For most bakeries, florists, and butchers, pickup is the honest answer, because it is where the delivery cost genuinely disappears. If you are still setting up collection rather than pricing it, click and collect covers the scheduling side.
Ready to stop policing a leaked discount code? Bird Pickup & Delivery applies the right discount to the right delivery method automatically, at every location you run.
FAQs
Can you offer a discount for store pickup on Shopify?
Not with Shopify's built-in discounts on their own, because its discount settings have no condition that takes money off the products when a customer chooses pickup. The options are a custom discount function, which is developer work, or a scheduling app that captures the delivery choice in the cart and applies the discount there.
Can a Shopify discount function apply a discount based on the delivery method?
Not in the older Order Discount and Product Discount APIs. Shopify's documentation states the delivery-groups input is always an empty array there, so a function written against those cannot read which method the customer chose. The current Discount Function API includes a delivery-options target that does receive the delivery data and can discount shipping costs. What neither gives you is a setting that takes money off the products on pickup.
How do you automatically apply a discount when a customer chooses pickup on Shopify?
You need something that captures the fulfillment choice before checkout and prices against it. Bird Pickup & Delivery reads the method the customer picks in its scheduling widget, applies the matching discount in the cart, and carries it into checkout, so nothing depends on a code.
Can you offer a percentage or a fixed amount off for store pickup?
Both, and you choose which when you create the discount. A percentage scales with basket size, which suits a wide price range; a fixed amount is easier to put on a shelf card. Either way, keep it under what a delivery actually costs you.
How many discounts can apply to one Shopify order?
A store can have up to 25 active automatic discounts, and a customer can use a maximum of 5 product or order discount codes plus 1 shipping discount code on one order. Product and order combine, product and shipping combine, and order and shipping combine. Two shipping discounts cannot apply to the same order.
Does a pickup discount still work if the customer has their own discount code?
Usually yes, depending on the combination settings on the discount itself. A Shopify-sourced pickup discount follows Shopify's normal combination rules, so you control what it stacks with. If several of your own fulfillment discounts match one cart, a shop-level setting decides whether the largest, the smallest, or all apply.
Can you set a different pickup discount for each store location?
Yes. A fulfillment discount can target one specific location or all of them, so a quiet branch can run a collection incentive while a busy one runs none. That is usually the reason merchants want this at all.
Can you limit a pickup discount to certain days, times, or postal codes?
Yes. Discounts can be limited by day of the week, specific dates, time range, postal code, or minimum order amount, so an offer can run on quiet weekday afternoons and switch itself off at the weekend. Conditions require the Growth plan or higher.
Is a pickup discount better than offering free local delivery?
They solve opposite problems. Free local delivery buys orders when demand is soft and you have van capacity to spare. A pickup discount buys relief when capacity is the constraint, and costs less per order because the trip disappears. Full van, quiet counter: reach for the pickup discount.
What is the best app for automatic pickup discounts on Shopify?
Look for three things: it prices off the fulfillment method rather than a code, it can target one location instead of the whole store, and it can fence the offer by day, time, or postal code. Bird Pickup & Delivery does all three, and runs the scheduling side too, so the discount sits next to the pickup time slots, prep times, and location rules it depends on. Whichever you pick, test what happens when a customer changes method at checkout, because that is where these break.
A pickup discount is a small piece of pricing that pays back twice. It takes stops off your route, and hands your closest customers a reason to choose the option that costs you least.
Bird Pickup & Delivery is used by 7,000+ Shopify merchants across 60+ countries. Try it free for 14 days.
Ready to streamline your pickup and delivery?
Start your 14-day free trial and see how Bird can transform your Shopify store.
Start Free Trial

