Making a product mandatory

I deliver my products locally to a few different pickup spots; different locations have different surcharges. To set this up in the store, I have “pickup location” that is a “product” which is shown to a customer when viewing the cart. A customer then needs to select a variant of pickup location and add it to cart.

However, many customers manage to skip that step, which results in a lot of manual work for me. So - 1) is there a way to make a product mandatory? That is, if they try to check out without selecting a location, they’re redirected to it. Or - 2) is there a better way to handle the whole setup?

Thank you!

Please share your store url and also a small video representation of the issue.

Best

My question is about how to make a product mandatory. I can’t upload a video of a customer not selecting a product…

I understand the part of making the product mandatory but i will need to see the store and where the step is for a better understanding. You can act as the customer here to create the example.

Best

You don’t need to use a product for pickup locations there’s a cleaner way to make this automatic.

What’s your store URL? I can show you the easiest setup.

OK. This is the store.

And here’s a gif showing the cart setup (in the theme editing portion), showing how a customer is going to see the cart page before checkout. Since adding to cart is something they need to do on their end, it often doesn’t get done. I think some customers also do the quick checkout and don’t see the cart page at all.

Recording 2026-03-03 101824

Have you considered to proprely setup Local delivery instead?
https://help.shopify.com/en/manual/fulfillment/setup/delivery-methods/local-delivery

It should do exactly what you want.

Well in that case you can hide or remove the go to checkout button from the product pages and we can definitely write logic to disable or hide the go to checkout in cart page and only make it available when user selects a location and adds it to cart. We can choose to display info as well to the user to add a location.

Alternatively we can choose to display locations on the product page, so loop through your location product and display all your variants in your case locations and only let users add when they have selected one and then add that to cart as well along with the product but not show in cart but the price still including the location. We can also show the extra surcharge to users on the frontend for each location. This is a much better approach in terms of ui and removes that extra step of users going to cart and selecting another product that might effect conversion.

You should definitely look to what @tim_tairli mentions because this pretty much seems a very basic feature for an e-commerce platform to include in its backend for their merchants.

But if you are doing this for a specific reason, then we can implement the solutions mentioned above.

Best

Yes I’ve looked at it, but as far as I understand, with multiple localities I’d need to have inventory assigned to each locality. This doesn’t work for me, as I only have one pool of items. The way addresses are handled is also not ideal for my situation, but I can work around that I think. Unless I’m misunderstanding how inventory is managed in this case?

No, you certainly do not need multiple locations.

You may add multiple zones to your local delivery setup, based on postcode and make zones, like for Kingston and Rothesay – free, while Fredericton will be in a $5 zone, etc – like this:

OK. I’m starting to remember why certain decisions were made. Didn’t use multiple areas due to the inventory stocking issues, and in my case zones are just about impossible to delineate cleanly. My workaround was to just set them to completely overlap, so that customers could just pick out whatever works for them, but that means that the differential costs are impossible to maintain. So I’ll sit down and think about making a flat fee across pickup locations.

Thank you for walking me through this!