
Retail pays $8. The account tagged `trade` should see $0 or a pallet rate. Native zones know countries and weight. They do not know your customer tags. Shopify shipping rates by customer tag is a condition on the visual rates flow in OO - Shipping Rates & Rules: same zone, different total when the logged-in customer carries that tag. Tags, collections, and metafields load through the Admin API at rate time — not from a spreadsheet you exported last week.
Listing 5 Nov 2026: Free. 0 reviews, launched 28 October 2026. Do not invent stars. Visual flow or AI draft. 40+ conditions, including customer tags. Combined rates. Hide/rename/reorder. Activity logs. Category: Customer-based.
Related: postal code and weight. This article is the person, not the parcel. Do not pitch another app; a tag on Shopify Customers is enough.
Shopify shipping rates per zone: flat, weight, price. Customer tags live on the profile. Guest checkout has no profile. The zone rate does not know this login is `trade`.
Carrier-calculated custom rates need Advanced Shopify or higher, a development store, Plus, or a shop where the carrier is already active. Without that: no custom carrier price. Delivery customization (hide/rename/reorder) runs on more plans. Lower plans get a plan banner in the app. Do not promise a custom $0 line on Basic.
The canvas: `Start when…`, condition cards, rate cards, save. AI may draft; you review before save. Combined rates merge zone rates into one checkout line. Logs: last 7 days, which zone/rate, why not.
From listing and docs:
Customer tags — who is checking out. Trade versus retail.
Product tags — what sits in the cart. Hazmat, oversized, pickup-only SKU.
Both (plus collections and metafields) are fetched when the rate is requested. A tag you added five minutes ago should appear on the next checkout. A tag that exists only in Slack will not.
Consequence: a guest has no customer tag. Test as the trade buyer, logged in. Incognito without login is the retail branch, even if Admin shows `trade`.
Product tags still apply to a guest cart: the SKU owns the tag. Do not put both meanings on one card.
Do not invent OR/AND semantics the shipping docs did not write. Match spelling to Shopify (`trade` ≠ `trade `). Activity logs show whether the condition matched.
Zones are destination, not a customer group. Two NL zones will not read the tag. The buyer in 4811 still shares retail’s zone.
Too late. The rate already ran. Tag the customer in Customers before the test order.
The canvas can sketch “customer tag = trade”. Save without a guest fallback and retail disappears, or trade never matches. Review, then save.
Without Advanced/dev/Plus/an active carrier, OO does not return a carrier price. You can still hide or rename an existing method via delivery customization when the tag matches — that is chrome on methods already at checkout, not a new price.
None of that replaces: customer tagged, logged-in test, condition on the flow, fallback for untagged checkouts, logs open.
Shop “Crate & Counter”. Retail: fixed $8. Accounts tagged `trade`: fixed $0 (own freight) or a pallet staffel on cart weight. One app zone for the country. Two branches.
Rough flow:
Attach the carrier to every Shopify shipping zone/market (if the plan allows).
Retail rate card: fixed $8. Condition: customer is not tagged `trade` — or evaluate the trade branch first and leave retail as fallback. Follow canvas order; do not invent an evaluation rule. Test both paths.
Trade rate card: fixed $0 (or weight tiers). Condition: customer tag `trade`.
Optional product tag `hazmat`: a separate fee card, independent of the person.
Save. Test checkout: guest = $8. Logged-in trade = $0. Logs: seven days, which card, why.
Typo `trae` in the condition: trade sees retail. The log says no-match. Fix the Admin tag or the string on the card. Do not duplicate the zone.
Hiding “DHL Express” for tag `pickup-only` can be delivery customization, even when custom rates are blocked on this plan. Different canvas.
Install OO - Shipping Rates & Rules. Free.
Plan check: carrier rates yes or no. If no: hide/rename only.
Tag in Shopify Customers, exact spelling. Product tags only for SKU logic.
Zone + flow: `Start when…`, tag condition, two rate cards, fallback.
Carrier on zones/markets. Test checkout, not a live trade account as the sandbox.
Activity logs: match versus no-match. Guest versus login.
AI may draft the first cards. You click save. Combined rates only when two components must be one checkout line.
Shopify shipping rates by customer tag is a condition, not a second zone. Tags arrive through the Admin API at rate time. Guests have no customer tag. Product tags are a different card. Custom prices: Advanced, development, or Plus (or an active carrier). Hide/rename on more plans. Logs for seven days.
Put `trade` on the flow in OO - Shipping Rates & Rules and test logged in before that buyer pays the same $8 as a guest.
Services
Reviews
5/5
Mail: info@onlineorigins.nl
Tel: 073 234 0612
KVK: 89825624
BTW: NL865123639B01
Bruistensingel 500,© 2026 Online Origins