Shipping Costs and Margin: A Worked Model

A shipping cost model for small Shopify brands: carrier price by weight and zone, packaging, dimensional weight, and what each order really nets after shipping.

Most stores know what a product costs them and not what an order costs them to send. The two are different numbers, and the gap decides whether a free shipping offer makes money. This page builds a small shipping cost model you can copy into a spreadsheet: the carrier price from the USPS price list for two parcels, the packaging and packing time you add on top, the dimensional weight rule that can turn a light box into an expensive one, and a table of what three order values net after shipping. The prices come from the USPS commercial price list in force on October 4, 2026; the packaging, labor and product cost figures are assumptions for a made-up store, and you replace them. The goal is shipping costs and margin on one page, so that the offer you build later rests on your own numbers.

The formula

Cost to ship an order = carrier price + packaging + packing time

The carrier price depends on weight and on the zone between your origin and the destination. Packaging is the box, filler, tape and label, and packing time is the minutes of labor to pick and pack. Add returns and insurance if you want a complete figure. This page leaves them out so the arithmetic stays visible.

Carrier price: weight and zone

USPS publishes its prices in Notice 123. The commercial USPS Ground Advantage table, effective October 4, 2026, lists a row for 4, 8, 12 and 15.999 ounces and then one row for each whole pound, with a column for each zone from 1 to 9. A parcel is priced at the next row up from its weight, so a parcel of 2 pounds 4 ounces is billed in the 3 pound row. These are list prices before any discount from your label provider; what you actually pay depends on how you buy postage.

A zone is a distance band set from the origin and destination ZIP codes. Using the Postal Service's zone chart tool, effective October 1, 2026, with an origin of ZIP 43215 (Columbus, Ohio), a destination of 60601 in Chicago is zone 3, 33101 in Miami is zone 5, and 90001 in Los Angeles is zone 8. Those are three destinations from one origin; the tool gives the zone for any ZIP pair, and Kansas and Nevada show full spreads from other origins.

Here are the Notice 123 rows for the two parcels used below, in dollars:

Billed weightZone 3Zone 5Zone 8
3 lb9.5412.1216.30
14 lb16.8622.1333.28

The farthest zone costs 71 percent more than zone 3 for the 3 pound row (16.30 divided by 9.54). Distance is a real cost, and it is why a single national free shipping promise has a different price for each shopper.

Dimensional weight: when a light box is billed as a heavy one

Parcels that exceed one cubic foot, which is 1,728 cubic inches, are charged on the greater of actual weight and dimensional weight, as Notice 123 states. The Domestic Mail Manual spells out the steps for a rectangular parcel in section 1.4.2 of DMM 283: measure length, width and height in inches and round each up to the next whole inch, multiply the three, and if the result exceeds 1,728 cubic inches, divide by 139 and round up to the next whole number to get the dimensional weight in pounds. If that number is over 70 pounds, the customer pays the 70 pound price. The rule applies to zones 1 to 9.

Two parcels show what that does. Assume both parcels weigh 3 pounds or less once packed.

  • Parcel A measures 12 by 10 by 6 inches. That is 720 cubic inches, under 1,728, so no dimensional weight applies. Assume it weighs 2 pounds 4 ounces packed, so it is billed in the 3 pound row.
  • Parcel B measures 14 by 12 by 11 inches. That is 1,848 cubic inches. Divided by 139 it is 13.3, rounded up to 14, so the parcel is billed as a 14 pound parcel even though, assumed here, it weighs 3 pounds packed.

Parcel B costs 16.86 dollars in zone 3 against 9.54 for a 3 pound parcel, an extra 7.32 dollars, and 16.98 dollars more in zone 8 (33.28 minus 16.30). Nothing about the product changed; the box did. Moving to a 12 by 10 by 6 box, where the product fits, removes the surcharge. Check the box size before you check the carrier.

Cost per order, with assumptions

Assume the following, all for illustration: packaging costs 1.40 dollars for Parcel A and 2.10 dollars for Parcel B, and packing time is 5 minutes at 18 dollars an hour, which is 1.50 dollars. The cost to ship is:

ParcelZone 3Zone 5Zone 8
A (3 lb row)12.4415.0219.20
B (14 lb billed)20.4625.7336.88

Parcel A in zone 5 is 12.12 + 1.40 + 1.50 = 15.02 dollars. Parcel B in zone 8 is 33.28 + 2.10 + 1.50 = 36.88 dollars.

Net per order at three order values

Now put revenue on top. Assume product cost is 40 percent of the price, and that the shopper pays no shipping. Use Parcel A. The net is the order value, minus product cost, minus the shipping cost from the table.

Order valueProduct costZone 3 netZone 5 netZone 8 net
40 dollars16 dollars11.56 (28.9 percent)8.98 (22.5 percent)4.80 (12.0 percent)
70 dollars28 dollars29.56 (42.2 percent)26.98 (38.5 percent)22.80 (32.6 percent)
110 dollars44 dollars53.56 (48.7 percent)50.98 (46.3 percent)46.80 (42.5 percent)

The percentages are net as a share of order value. At 40 dollars the zone 8 order keeps 12 percent; at 110 dollars it keeps 42.5 percent. Shipping is a nearly fixed amount, so it takes the biggest bite out of the smallest orders. Two simplifications are worth naming: the table holds the parcel constant across order values, while a larger order usually weighs more, and it treats the product cost as a flat share of price. Replace both with your own rows.

Where the free shipping threshold fits

The table says something specific about a free shipping offer: a threshold has to sit where the net, after shipping, is a number you accept. If your smallest acceptable net is about 25 percent of the order value, the 40 dollar order only clears it close to home. The formula for the threshold, and how shoppers react to it, are in free shipping threshold, and profit per order shows how to read the result against your other costs. If you also ship to Alaska and Hawaii, read free shipping to Alaska and Hawaii before you promise one price to the whole country.

What Shopify gives you to charge

Shopify's Help Center lists the rate types you can set: flat rates, order amount rates with conditions on order value, weight rates, and carrier or app calculated rates. It says you can also offer free shipping on any rate you set up, and that you can mark up carrier calculated rates with a handling fee, a flat amount or a percentage, with the percentage calculated before the flat fee. Shopify's built-in carrier integrations are available on all plans, while connecting your own carrier accounts needs specific plans or an additional monthly fee. A handling fee is how a store recovers packaging and packing time without changing the price of the product.

Building shipping tiers

Open the Shipping discount tiers template, which the app describes as "Discounted or free shipping above a cart value." Set the first tier at the order value where your net clears the floor you chose in the table, and a second tier higher up if the net rises enough to afford it. Then place a test order at each tier, to the zone that costs you most, before the offer goes live.

Sources

Build this offer from the “Shipping discount tiers” template.

Requires: Growth plan or higher.