Shopify Architectural Limitations: What You Need to Understand
We often work with clients who come with large-scale requests that collide with Shopify’s architectural boundaries. These are not system bugs, but deliberate rules designed for security and reliability.
Let’s break down the main areas where standard Shopify requires compromises, custom development, or third-party integrations.
1. Discounts
In Shopify, the discount system is built around the cart and checkout, not individual product pages. It handles standard scenarios well — promotions, seasonal campaigns, and basic automatic rules — but as business logic scales, you hit architectural limits.
-
Application only at cart and checkout level: Shopify does not display or calculate discounts (of any type) at the product page level. Users will not see dynamically recalculated prices in the catalog. The final discount is only applied and visible in the cart or at checkout.
-
Limit on number of active automatic discounts: Shopify restricts the number of simultaneously active automatic discounts in a store — maximum 25. This includes both native rules and discounts created via third-party apps.
Example: If a store already runs a seasonal discount, a new customer promotion, a collection-based discount, and several automated app-based offers, once the limit of 25 rules is reached, new automatic discounts simply cannot be activated. -
Limitations on combining: Not all Shopify discounts can be freely combined. Combinations depend on the discount type (product / order / shipping) and compatibility settings. If they are not configured as compatible in the admin panel, Shopify will apply only one — the highest-priority one based on system logic.
More about available combinations here -
Limit on number of discounts in a single order: A customer can use a strictly limited number of discounts at the same time: up to 5 discount codes (product/order) and only 1 shipping discount code.
How we solve this: For more complex marketing mechanics, at IceStore Group we often build custom solutions that cover these scenarios without platform limitations.
2. Local Delivery vs Shipping
Shopify’s delivery setup provides a clear and stable foundation, but it comes with limited flexibility within the standard functionality. The logic is split into two separate tools, each with its own constraints.
Local Delivery
If a business operates with “city-based” or regional delivery, Shopify provides a built-in Local Delivery tool. However, it comes with several limitations that should be considered in advance.
-
Delivery is configured either by radius or by postal code list. The radius is limited to 160 km and cannot cross country borders. This means any cross-border scenarios cannot be implemented via Local Delivery.
-
There is a limitation on zone structure: one location can have no more than 10 delivery zones.
For example, if a food delivery service divides a city into 15 pricing zones, Shopify will require merging zones or simplifying the model, since all 15 zones cannot be created natively. -
Additionally, there are technical limitations on postcode handling: the ZIP/postcode list is limited to 3000 characters. In practice, this is around 400–500 postal codes per zone (depending on formatting). With highly granular zoning, businesses quickly hit this limit.
-
Separate important point — absence of delivery time logic. Shopify does not have built-in time slots: you cannot define delivery windows with different pricing or enable “order before X time — receive today” scenarios.
For example, if a customer orders a cake and wants to choose “6:00 PM–8:00 PM” delivery, this option simply does not exist in the standard Shopify checkout.
Shipping
When it comes to shipping, Shopify uses a different model — based on shipping zones.
-
Logic is built around countries, regions, and states. The platform does not use distance as a parameter — only geographic zones. At the same time, there is no native city-level logic: you cannot define shipping conditions for a specific city without workarounds.
-
Four types of shipping rates are available in settings: flat rate, price-based, weight-based, and carrier-calculated rates. This covers basic scenarios, but all logic is effectively reduced to two parameters — price and weight.
-
Shipping profiles should also be considered. If items in an order belong to different shipping profiles, Shopify does not merge them into a single rate — charges are summed. For customers, this may result in unexpectedly high shipping costs if not properly designed.
-
Another important nuance is carrier integration. Dynamic rates (carrier-calculated shipping) are not available on all plans and may require activation via Shopify support or an upgrade to Advanced or Shopify Plus.
Overall, Shopify provides a stable and understandable foundation for shipping configuration, but flexibility remains limited within the standard system. More complex scenarios almost always require additional architecture — via apps or custom development.
3. Closed area: Checkout
In Shopify, checkout is the most strictly controlled part of the platform. It is standardized and only partially customizable depending on the subscription plan.
-
Blocking customization on basic plans: On Basic, Grow, Shopify, and Advanced plans, only basic visual checkout customization is available via the standard editor. You can change branding (logo, colors) and edit basic text (in a limited way). However, you cannot change the structure of checkout steps or add custom field logic.
-
Code modification prohibition: Unlike the cart, checkout on standard plans cannot be modified via theme code or template editing. You will not find any editable checkout code files. This is done to ensure stability and payment security.
-
Shopify Plus: Extended checkout control is available exclusively on Shopify Plus via Checkout Extensibility. Only on this enterprise plan can businesses legally add custom blocks, modify element behavior, and implement advanced checkout logic scenarios.
How we solve this: We maximize what happens before checkout. We optimize the cart drawer — adding custom fields, upsells, gifts, and widgets (including delivery date and time selection).
Shopify limitations are the flip side of its main advantage: absolute reliability. The platform does not allow you to “break” checkout or overload the system precisely because it guarantees stable performance during peak sales events. More complex marketing and logistics scenarios almost always require additional architecture — via trusted apps or custom development.
For experienced developers, these limits are not a dead end, but a clear technical brief around which we at IceStore Group build efficient solutions every day.
Have questions or need help with setup?
Message us on Telegram @icestoregroupshopify
Valeria Borman
Shopify Expert · IceStore Group