Quick summary
The most practical trade pricing approach for Shopify merchants is customer tag-based percentage discounts (managed via Wholesale Helper or Wholesale Gorilla) for stores with fewer than 50 trade accounts, or Shopify Plus native price lists for larger wholesale operations needing per-company pricing. Always gate trade prices behind customer account login to prevent public access.
Running trade pricing alongside your DTC store on Shopify is a common requirement and a commonly overcomplicated one. Merchants often default to building a separate store, when in most cases customer tags, a lightweight app, and a clear pricing policy are all you need.
The real question is not how to build a separate store. It is which pricing model fits your wholesale relationships and how to implement it cleanly within your existing Shopify setup.
What trade pricing models exist?
Before choosing your implementation, choose your pricing model. The three standard approaches:
Percentage discount off RRP: the simplest model. Trade customers see your standard RRP reduced by a fixed percentage (typically 25 to 40%). Easy to communicate, easy to update, and works well when your RRP is your anchor price. The limitation is that it applies the same discount across all products, which may not reflect the reality of your margins on different lines.
Fixed wholesale price list: each product has a separate wholesale price, independent of its RRP. This gives you full control over margin per SKU. A product with thin margins can have a smaller wholesale discount; a product with strong margins can have a more generous one. More complex to manage and to communicate, but more precise.
Volume-tiered pricing: price breaks based on quantity ordered. Buying 10 units gets one price; buying 50 gets a lower price; buying 100+ gets the lowest. Works well for products ordered in bulk by retailers or distributors. Encourages larger orders per transaction.
Most Shopify merchants starting out with trade pricing use a percentage discount model because of its simplicity. As your wholesale channel grows, consider moving to a fixed price list for better margin control.
How do you implement trade pricing on standard Shopify (without Plus)?
The cleanest method on standard Shopify uses customer tags and a pricing app.
Step 1: Create a customer tag for trade accounts
In Shopify admin, you can manually apply a tag to any customer record. Create tags that correspond to your trade pricing tiers: "trade", "distributor", "hospitality", or whatever labels match your channel structure.
Step 2: Install a pricing app
The two most used options:
| App | Price | Key feature |
|---|---|---|
| Wholesale Club (Orbit) | From $24/month | Percentage discount by customer tag |
| Wholesale Gorilla | From $39.90/month | Custom price lists by customer tag, volume discounts |
Wholesale Club applies a blanket percentage discount for any customer tagged "trade". Simple and effective for the percentage-off model.
Wholesale Gorilla supports custom price lists, meaning you can set specific prices per product or per collection for different trade tiers. This is the right choice if you need product-level price control.
Step 3: Assign the tag when approving trade accounts
When a trade account application is approved, apply the relevant tag to their Shopify customer record. The pricing app picks this up automatically on their next login, and they see trade prices throughout the store.
How does Shopify Plus native pricing work?
Shopify Plus (from $2,300/month) includes native B2B price lists as a built-in feature, without requiring any third-party app.
On Plus, you create a Company (a B2B customer record separate from a DTC customer) and assign one or more price lists to it. Each price list can contain:
- Percentage discounts off standard retail pricing
- Fixed prices per variant
- Price adjustments per collection
Price lists on Plus are more flexible than anything available through third-party apps on standard Shopify. You can assign different price lists to different locations within the same company (useful for retailers with multiple sites who want different terms per location). You can also set currency per price list for international wholesale accounts.
If your wholesale business is complex (10+ active accounts, multiple pricing tiers, net terms, international buyers), Shopify Plus native B2B is the cleaner long-term solution. For most merchants early in their wholesale journey, an app on standard Shopify gets you started at a fraction of the cost.
How do you separate pricing for different buyer types?
A common scenario: you sell to independent retailers, distributors, and hospitality venues, each expecting different pricing terms.
| Buyer type | Typical discount expectation | Shopify tag |
|---|---|---|
| Independent retailer | 35 to 40% off RRP | "retail-trade" |
| Distributor | 45 to 55% off RRP | "distributor" |
| Hospitality (restaurants, hotels) | 20 to 30% off RRP | "hospitality" |
Create a separate customer tag and a separate discount rule (or price list) for each buyer type. Wholesale Gorilla and Shopify Plus both support multiple price lists. Wholesale Club supports multiple discount percentages by tag.
The key is assigning the right tag at the point of trade account approval. Build this into your onboarding checklist: review the application, identify the buyer type, apply the correct tag.
How do you protect trade prices from public view?
Trade pricing should not be visible to DTC customers or the general public. Two risks to manage:
Risk 1: A logged-out visitor browsing your site sees trade prices. Prevent this by ensuring your pricing app only applies discounts to logged-in customers with the appropriate tag. Both Wholesale Club and Wholesale Gorilla handle this correctly by default: no tag, no discount.
Risk 2: A trade customer shares their login with a DTC buyer. This is a low-risk issue for most merchants. If it becomes a pattern, enforce it through your trade account terms (a policy document, not a technical control). Single-use discount codes are an alternative for one-off situations.
Risk 3: Your trade price list appears in Google Shopping or product schema. This is the most serious risk. If your structured data or Google Merchant Centre feed exports trade prices, you could appear in Google Shopping at your wholesale price, selling publicly at that price. Check your Google Merchant Centre feed after implementing trade pricing to confirm it is pulling RRP, not trade prices. Most pricing apps handle this correctly (they only show trade prices to logged-in tagged customers), but verify it.
How do you manage price list updates?
Trade prices need updating when your cost base changes, when you adjust RRP, or when you renegotiate terms with a specific buyer.
For percentage-off models: update the discount percentage in the app settings. This cascades to all products immediately. Simple.
For fixed price lists: changes need to be made per product or per variant, either in the app interface or via CSV import. Wholesale Gorilla supports bulk CSV import of price lists, which is essential if you have more than 50 SKUs.
When updating prices, notify your trade accounts in advance: a 2 to 4 week notice period is standard practice and reduces friction. Send a price update email to your trade segment in Klaviyo before the change goes live.
Key actions to take now
- Choose your trade pricing model: percentage off RRP is the right starting point for most merchants. Move to fixed price lists only when your SKU count and margin complexity justify it.
- Install Wholesale Gorilla or Wholesale Club, depending on whether you need flat percentage discounts (Club) or product-level control (Gorilla).
- Create customer tags for each buyer type you plan to serve (retail, distributor, hospitality).
- Build a trade account application form and link to it from your site footer.
- After implementing trade pricing, check your Google Merchant Centre feed to confirm it is not pulling trade prices into Shopping ads.
- Create a trade price notification email template in Klaviyo for future price list updates.
Frequently Asked Questions
Should I display a "log in to see trade pricing" message on product pages? Yes, for products or collections where trade pricing applies. A simple message ("Approved trade customers: log in to see your pricing") is professional and clear. Both Wholesale Gorilla and Wholesale Club can add this message automatically to product pages for non-tagged visitors.
Can I offer different currencies for international trade accounts? On standard Shopify, this requires your store to have Shopify Markets and Shopify Payments enabled. Trade pricing apps typically respect the currency set by Shopify Markets. For complex multi-currency wholesale pricing (different prices per currency, not just exchange-rate conversion), Shopify Plus native price lists handle this far more cleanly.
What discount percentage should I offer as a starting point? A common starting point is 35% off RRP for standard retail trade accounts. This gives retailers enough margin to sell at RRP and still make a reasonable return. Adjust based on your own margin: if your product margin at RRP is 60%, a 35% trade discount leaves you 25% gross margin on wholesale orders. If your margin is 45%, you may need to start at 25% off to remain viable.
How do I handle a trade customer who also wants to buy at DTC prices? In most cases, trade customers buy at trade prices because they are reselling or buying for commercial use. If a trade customer wants to make a personal DTC purchase, treat it as a separate transaction outside your trade account: direct them to your main store without their trade tag applied, or have them use a separate personal email address.
