Hi everyone,
I am trying to create a discount code for a specific city A. However, I’ve been having a difficult time finding apps that allow city based discount codes, most of them are filtered by market/country. We are launching different campaigns for different cities, and it’s difficult to validate orders manually when the promos are applied incorrectly.
Anyone is having the same problem? I really appreciate any help/suggestion on a certain app, or multiple apps for work arounds.
I am currently on the normal plan, and can’t switch to Shopify Plus to get the Function API.
Hi @AlanNguyen1 ,
On the standard Shopify plan you’re right—there’s no built-in way to restrict discount codes by city (only country/market). That’s why you don’t see this option in Discounts or Markets.
Here are the workarounds you can use :
Discount apps with advanced rules
Apps like Discount Ninja, Seguno, or Bold Discounts sometimes allow rule conditions beyond country. Check if they let you target by customer tags, shipping zones, or postal codes (you can approximate cities this way).
Postal code workaround
Instead of city, create discount conditions based on zip/postal codes for that city. Some apps and scripts allow regex or list-based postal code matching.
Customer tag approach
Tag customers from City A (either manually or through an app like Shopify Flow or Klaviyo integration). Then create a discount code available only to those tagged customers.
Automatic discounts by cart rules
Some apps let you apply discounts automatically when the shipping address matches certain criteria (like city). That avoids misuse since the rule is applied after address entry.
If you don’t want to validate manually, the best option is an advanced discount app that supports checkout address filtering (postal code or city name).
Thanks
Manoj
How about using customer segments and apply automatic discounts based on that?
@AlanNguyen1 . Use template: Customers in a specific city