City based discount codes

Topic summary

A merchant on Shopify’s standard plan needs to create discount codes restricted to specific cities for targeted campaigns, but struggles to find apps supporting city-level filtering—most only offer country/market restrictions. Without access to Shopify Plus and the Function API, manual validation of incorrectly applied promos has become problematic.

Suggested workarounds include:

  • Discount apps with advanced rules: Apps like Discount Ninja, Seguno, or Bold Discounts may support targeting by customer tags, shipping zones, or postal codes as a city proxy
  • Postal code filtering: Create discount conditions based on zip/postal codes corresponding to the target city using regex or list-based matching
  • Customer tagging: Tag customers from the specific city (manually or via Shopify Flow/Klaviyo) and restrict discounts to tagged customers only
  • Automatic discounts by cart rules: Some apps apply discounts automatically when shipping addresses match certain criteria, preventing misuse
  • Customer segments: Use Shopify’s built-in customer segmentation with the “Customers in a specific city” template to create automatic discounts

The discussion remains open with multiple viable solutions proposed but no confirmed implementation yet.

Summarized with AI on October 25. AI used: claude-sonnet-4-5-20250929.

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