Category: Shipping · Min plan: Pro · Slug: custom-product-shipping
Set custom shipping prices per product — flat rate, per-wilaya pricing, or free shipping for specific products.
Video tutorial
Features
Per-product shipping prices
Free shipping per product
Flat rate or per-wilaya pricing
Highest-price-wins for mixed carts
Copy from store rates
Why use it
DZBuild's default shipping rates are set at the store level in /dashboard/shipping. That's perfect when all your products ship the same way. It breaks down when:
One bulky product costs much more to ship (a 30 kg appliance vs. a 200 g phone case).
One product is offered with free shipping as a campaign (and you don't want to make all products free).
A specific product needs different per-wilaya rates than the rest of your catalog.
This add-on lets you override shipping per product in three ways: flat rate, per-wilaya, or free.
How to activate
Open Dashboard → Add-ons at
/dashboard/addons.Find Custom Product Shipping under Shipping.
Click Activate (Pro plan required). The add-on cannot be activated on the Digital theme.
No sidebar entry is added — open the page from the Settings button on the add-on card, which links to
/dashboard/addons/custom-shipping.
Configuring per-product shipping
Open /dashboard/addons/custom-shipping. It lists every active product, hidden ones included: hiding a product leaves its status active, so it stays in the picker. Draft products are the ones that do not appear and cannot be given an override.
Pick a product. A product with no override automatically follows your store rates.
Choose one of three modes (Flat is preselected when you open a product): - Flat — single price applied to every wilaya for this product. - Per-wilaya — a row per wilaya, each with its own price and a desk price. - Free — shipping is 0 DZD, regardless of wilaya.
Use Copy from store rates to seed the per-wilaya table from your global rates, then tweak.
Save.
To send a product back to store rates, use the remove (trash) button on its card — there is no "use store rates" mode to pick.
The per-wilaya table has 58 rows, or 69 if your store is set to 69-wilaya mode in Shipping settings.
📝 Note — Empty prices use your store rate
If you leave a desk price empty, a desk (stop-desk) order for that product is charged your normal store desk rate for that wilaya, or a higher override from another product in the cart. An empty home price works the same way. Wilayas you leave empty in the per-wilaya table also stay on your store rates. Fill in a price only where this product should cost something different.
Copy from store rates only seeds the form at the moment you click it. Later changes to your store rates do not propagate to products that already have an override.
Mixed carts (highest-price-wins)
When a customer's cart contains products with different shipping rules, the highest-price-wins rule applies:
Cart has Product A (free shipping) + Product B (flat 600 DZD): cart shipping = 600 DZD.
Cart has Product A (flat 800 DZD) + Product B (flat 600 DZD): cart shipping = 800 DZD.
Cart has Product A (per-wilaya, Algiers = 500) + Product B (free): cart shipping = 500 DZD for an Algiers customer.
Cart has Product A (flat 600 DZD) + Product B with no override: the customer pays whichever is higher, the best custom rate or your normal store rate for that wilaya.
Shipping is 0 only when every product in the cart has an override and every one of them is marked Free.
Store-level free shipping always wins: while it is on in your Shipping settings, this add-on stands down entirely.
This prevents shipping abuse where a customer adds a free-shipping item to bypass shipping fees.
The weight surcharge
When every product in the order has an override for the chosen delivery type (a price, or Free), the order is charged the highest of those overrides and the weight surcharge is not added. In a cart that also holds a product on store rates, or an override with no price for that delivery type, the customer pays whichever is higher: the override, or the store rate plus the weight surcharge, which counts the weight of every item in the cart. To keep a heavy item from raising that surcharge, clear its weight field. The shipping estimate on the storefront can still show the surcharge on top of an override, so check the amount on a finished test order.
Turning the add-on off
Deactivating instantly returns every product to your store rates, but the overrides themselves are kept — re-activating restores them exactly as they were.
Tips
Place a test order after configuring overrides. Check that the shipping estimate shown on the storefront matches the amount the finished order is actually charged — they can disagree.
Use Free shipping sparingly as a marketing lever — heavily-discounted products with free shipping convert well, but if everything is free, the value signal disappears.
For per-wilaya, copy from store rates first, then bump only the wilayas where this product really costs more (e.g. southern wilayas for heavy items).
Combine with Limit Orders Per IP so a free-shipping campaign doesn't get hammered by repeat orders from the same IP.