Documentation

Onboarding

Per Product Shipping is currently in ONBOARDING MODE. Rates will not be live in checkout until enabled in Shopify Settings.

  • Add Per Product Rule
  • Add Rate
  • Register Carrier

Carrier registration steps

  1. Open your app and go to Shipping Rules.
  2. Scroll to the Per product shipping section.
  3. Check status. If it says not registered, click Register carrier.
  4. In Shopify Admin, go to Settings -> Shipping and delivery.
  5. Edit the zone you want, then add/select Per Product Shipping as the rate source.
  6. Save the zone and run a checkout test with a product that has per-variant rules configured.
How to add rates

Go to Shipping Rules and click Add rate.

  • Flat rate: set custom name, optional description, price, and condition.
  • Per Product Shipping: add once; uses per-variant rules you configure in Products.

Flat rate fields

  • Custom rate name: the checkout-visible name for the flat rate.
  • Custom delivery description (optional): helper/marketing text shown under the rate name.
  • Price ($): amount charged for this rule when matched.

Flat rate conditions

  • Based on order price: optional min/max order thresholds control when this flat rate applies.
  • Based on item weight: optional min/max weight thresholds control when this flat rate applies.

Per Product Shipping defaults (Edit Per Product Shipping rule)

  • Default service name: the shipping method name customers see at checkout (example: Standard Shipping).
  • Default service description: optional short helper text shown under the service name at checkout.

When some cart items have no per-variant rule

  • Strict - no rate (hide shipping until all items have rules): returns no per-product shipping rate unless every relevant item has a matching destination rule. Best when you want full control and never want estimated fallbacks.
  • Per-product for configured items + amount for others (one combined rate): adds configured per-product totals, then also adds your fallback amount for items without rules so checkout still shows one combined shipping option.
  • Charge fallback rate only: ignores partial per-product totals and returns only the fallback amount when items are missing rules. Useful when you prefer a single predictable backup charge.
  • Try next rule (e.g. use a flat rate below): skips the per-product result and lets the next lower-priority shipping rule decide the rate (commonly a flat rate).
Priority: drag rows to set order; first matching rule is shown at checkout.
How to add per product shipping
  • In Shipping Rules, register carrier if needed.
  • In Shopify, go to Settings -> Shipping and delivery and add Per Product Shipping to a zone.
  • Add Per Product Shipping once from Add rate.
If enabled but no per-variant rules exist, carts may receive no rate for this rule.
How to add per variant

Go to Products, open a product, select a variant, then add rows in Individual Shipping Rules.

FieldRule
country_code2-letter code like US or *.
state_codeState/region code or *.
postcodeSingle code or wildcard like PE*.
line_costPer line amount.
item_costPer quantity amount.
How to use import csv per variant
  • Select a variant.
  • Download variant template.
  • Upload CSV, click Analyze, then Import.
country_code,state_code,postcode,line_cost,item_cost
Troubleshooting

If you don't see expected fields (like the country dropdown) or your rates don't appear at checkout, try these checks.

Missing / empty country code dropdown in per-product shipping

This usually means Shopify did not fully refresh the shipping zone configuration after you enabled or edited the app shipping rate. Do the following:

  1. In Shopify Admin, go to Settings -> Shipping and delivery.
  2. Open the shipping profile/zone where you added Per Product Shipping.
  3. Click Save for that zone (even if nothing changed).
  4. Wait a few seconds, then refresh the app page where you configure per-product/per-variant rules.
After you re-save the zone, Shopify sends updated zone/rate data back to the storefront, and the app UI should populate the destination controls again.

Per Product Shipping enabled but no rate at checkout

  • Confirm Per Product Shipping was added only once in Shipping Rules.
  • Open Products, select your product, then configure Individual Shipping Rules for each variant.
  • If you set the "missing per-variant" behavior to Strict (none), customers may not see shipping when a destination has no matching per-variant rule.

Bulk import issues

  • Use required columns: product_id, variant_id, country_code, state_code, postcode.
  • Header names must match (including underscores).
  • After fixing your file, run Analyze again to locate the rows that failed.
How to use bulk import etc

Use bulk page /app/import for all products/variants.

Required: product_id,variant_id,country_code,state_code,postcode
Optional: line_cost,item_cost

Analyze first, then import. Optional override replaces existing data for combinations in CSV.