GoatLabelsGoatLabels
Service × weight tier × zone, then the modifiers.

The anatomy of a shipping rate


Once you can read one, you can shrink one.

A shipping rate is a lookup: service, times billable weight tier, times zone — the distance band between origin and destination ZIPs — plus modifiers for the address, the season, and your account. Two sellers pay different totals for the same box because they enter that lookup at different rate tiers.

Four rate matrices, one quote list

USPS, UPS and FedEx each run their own lookup on a domestic parcel (DHL on international lanes), so the same weight and zone land in different cells, which is the whole reason comparing pays.

UPSFedExDHLUSPSlive lookups
The matrixService × tier × zone.
Zone foundFrom your origin ZIP.
Modifiers on topAddress, season, account.

Commercial tier pricing, no account required

Labels here are priced at commercial tiers and paid from a prepaid wallet — card, Apple Pay, Google Pay, ACH, or crypto — as one all-in number.

VisaMastercardAmerican ExpressApple PayGoogle PayBitcoinEthereumTether (USDT)
One walletQuote equals debit.
All-in quoteModifiers included.
Ledger linesEvery label itemised.

Updated

What is the base rate lookup?

Strip every complication away and a shipping rate is a table lookup. Each carrier maintains a matrix per service: rows are weight tiers, columns are zones, and the cell where your parcel's row meets its column is the base price. Three inputs select the cell. The service is your choice. The weight tier is the bracket your parcel's billable weight falls into — note tier, not weight, because a parcel two ounces into the next bracket pays the whole bracket. And the zone is the distance band between where the parcel starts and where it ends up.

The tier detail is worth pausing on, because it is the first place sellers can act on this page. Rates do not slope smoothly with weight; they step. Shaving a parcel from just over a bracket boundary to just under it — lighter box, less void fill — buys the previous cell of the matrix, and that saving repeats on every parcel of that shape you ever ship. Which weight the lookup actually uses is its own subject: carriers bill the greater of actual and dimensional weight, andthe package size and weight limits pageowns the divisors, the thresholds, and the measuring technique.

How do shipping zones work?

Zones are how carriers turn geography into a column index. Rather than pricing every ZIP-to-ZIP pair, each carrier groups distances into bands — nearby destinations in the low zones, cross-country in the high ones — and publishes a chart keyed to the origin. That wordorigin is the part most explanations skip: zones are relative. There is no such thing as an address that is simply zone 7; it is zone 7 from you. A seller in Ohio and a seller in Oregon shipping to the same buyer in Georgia are reading different columns of the same matrix, and their costs differ before either has chosen a box.

Two practical consequences follow. First, averages lie: your true shipping cost depends on where your buyers cluster relative to you, which is why two shops with identical products and boxes can have structurally different shipping economics. Second, zone spread is a comparison lever — carriers do not step their prices across zones identically, so the cheapest carrier in zone 2 is frequently not the cheapest in zone 8. Quoting USPS, UPS and FedEx on every domestic parcel, and DHL on international ones, is how you make the zone work for you instead of merely happening to you, and the carrier-by-carrier crossover mechanics live onthe cheapest ground shipping services page. For one carrier read cell by cell, UPS's published rates by service and zone are compared on UPS shipping rates.

Which modifiers raise the quote?

The base cell is where the price starts, not where it ends. On top of it land modifiers, and they sort cleanly into three families. Address modifiers depend on where the parcel lands: a residential destination, a harder-to-reach delivery area, the classification the carrier assigns to the exact address on the label. Seasonal modifiers are calendar-driven: during peak periods carriers switch on temporary per-parcel fees between published dates, and the same label costs more in December than in May. Account modifiers depend on who is asking — fuel-linked percentages, minimums, and the discounts attached to the account doing the buying. The trigger-by-trigger detail isthe shipping surcharges page'sterritory; what matters here is the shape. A modifier is not a penalty — it is a priced fact about the delivery. The failure mode is only ever learning about it after the sale.

This is also why a quoted-at-purchase, all-in price and a rate card give such different impressions of the same carrier. The rate card shows base cells; the delivery includes the facts. A live quote that resolves the address, applies the calendar, and folds in the account-level percentages is showing you the finished number the rate card cannot.

Why does the same box price differently at retail and commercial tiers?

Everything above — the matrix, the zone, the modifiers — exists at least twice, because carriers publish parallel price levels for the same physical service. The retail tier is what a walk-up customer pays at the counter. Commercial tiers are what accounts, platforms, and resellers pay, and they are lower because the carrier's cost of acquiring that parcel is lower. Nothing about the box, the route, or the delivery van changes. The only variable is which tier the buyer of the label entered the lookup at, and that single fact is one of the largest controllable gaps in small-parcel shipping.

The gap is also the easiest one to close, because tier access no longer requires volume. A label bought through a platform that passes commercial tiers through is priced at those tiers from the first parcel — no carrier account, no negotiation, no minimum. That is precisely what GoatLabels does across USPS, UPS, FedEx, and DHL, with the result shown as one all-in figure; the broader economics of buying labels this way live onthe cheap shipping labels page. How carrier tiers, earned discounts and contracts work is onvolume shipping discounts, explained, and the contract route itself onhow to negotiate UPS and FedEx rates. The table below makes the whole page concrete by decomposing one real parcel at both tiers, side by side.

Rate componentRetail tierCommercial tierWhat is happening
Base lookup: ground service, 3 lb tier, zone 5$12.75$9.10Same cell of the same matrix — service by weight tier by zone — read at two different tiers.
Destination modifier: residential deliveryincluded$0.00–$5.55Postal-network services price residential in; UPS and FedEx add it as a line item, so the badge on the address matters.
Seasonal modifier (off-peak on the verification date)$0.00$0.00Zero for most of the year, then switched on between published dates in the fourth quarter.
Account modifier: fuel-linked percentageincludedincluded in quoteIndexed weekly by the express carriers; a live quote folds it in, a printed rate card cannot.

Worked example — one 3 lb, zone-5 ground parcel, decomposed at both tiers.The figures above are illustrative of a mid-2026 ground shipment and exist to show the shape of the decomposition, not to be your quote: every carrier revises its matrices at least annually and its fuel-linked percentages far more often, and your parcel selects different cells. Verified against the carriers' published retail and commercial rate charts on 2026-08-15; re-checked at each carrier's annual rate announcement by the named marketing owner recorded with this page. For a current number, quote your real parcel — it takes less time than reading a rate card.

The lookup, running

Every carrier's matrix read at once, one finished number per carrier.

Everything this page decomposes happens in the seconds between an order arriving and a price appearing. The packed parcel supplies the weight tier, your origin and the buyer's ZIP supply the zone, the validated address supplies the delivery category, the calendar supplies whatever seasonal component is open, and the account level decides which tier the lookup is read at. Each carrier that serves the lane runs that whole sequence in parallel and hands back one all-in figure: USPS, UPS and FedEx on a domestic parcel, DHL on international lanes.

1
A parcel and a destination in
The only two things the matrix needs
order_5581

Shipping to 214 Ridgeline Rd — it is a house, not a shop, if that changes anything.

Store order
Destination sets the zone column
Marketplace order
Different ZIP, different column
What selects the cell
Service
Your choice, per parcel
Weight tier
The bracket, not the ounces
Zone
Counted from your origin ZIP
Delivery category
Residential or commercial
Paste the order or drop a screenshot

Zones are relative to where you ship from, so the same destination is a different column for a different seller. That lookup happens for you the moment the destination is known — there is no chart to keep on the wall.

2BillyBilly AI

Resolves every input before the lookup runs.

Billy AI
  • Reads a pasted order or a screenshot into a shipment with its weight and dimensions
  • Validates the destination and badges it residential or commercial, because that feeds a modifier
  • Runs the same parcel through every matching carrier's matrix instead of one habitual carrier's
  • Included on every plan, so reading four rate cards is never your job
Tier, zone, and category resolved.
3
All-in numbers, no rate card
Base cell plus every modifier, folded in
Paid from the prepaid wallet
Card, Apple Pay, Google Pay, ACH, or crypto
all-in
USPS
Commercial-tier label bought
The finished number, not the base cell
all-in

A rate card shows base cells; a quote shows the finished price. The exact quoted amount leaves your balance, and a carrier reweigh — the one thing that can still move afterwards — posts as its own ledger entry rather than an unexplained difference.

Same matrix, whatever sold it

The zone is set by the buyer, never by the storefront.

Thirteen store connectors, Shopify, Amazon, eBay, Etsy, TikTok Shop and more, sync into the To Ship queue, and every order is priced by the same lookup: your origin against the buyer's ZIP, the packed parcel's weight tier, the delivery category on the validated address. A platform's own shipping tab may show you a different number, but it is reading a different tier, not a different distance.

Shopify logoShopify
Etsy logoEtsy
WooCommerce logoWooCommerce
TikTok Shop logoTikTok Shop
Amazon logoAmazon
eBay logoeBay
Squarespace logoSquarespace
Wix logoWix
Walmart logoWalmart
Shopify Plus logoShopify PlusSoon
Square logoSquare
BigCommerce logoBigCommerce
Magento logoMagento
Zapier logoZapierSoon
NetSuite logoNetSuiteSoon
Ecwid logoEcwidSoon
Temu logoTemu
Shein logoSheinSoon
ChannelAdvisor logoChannelAdvisorSoon
SkuVault logoSkuVaultSoon
Zoho Inventory logoZoho InventorySoon
Patreon logoPatreon
The lookup, done for you

You do not need to read four matrices.
You need the finished numbers.

Everything this page decomposes — tier, zone, modifiers, account level — is folded into one all-in figure per carrier before you pay a cent.

The quote is the debit,
to the cent

One prepaid wallet, funded by card, Apple Pay, Google Pay, ACH, or crypto, is charged exactly the all-in number you saw at quote time. Every label is its own ledger line, so your real cost per parcel — base plus every modifier — is a fact you can read, not an average you reconstruct from invoices.

Wallet balance
$1,247.36USD
AI

The address resolved
before the lookup runs

Because address modifiers hinge on classification, the destination is validated at quote time and badged residential or commercial before payment. The rate you compare carriers on is computed against the delivery category the carrier will actually apply — not against a guess that gets corrected later.

BillyBillyLIVE
Where's the package to Maya?
It's in transit via UPS. Expected Friday, Aug 7.
UPS
1Z8923A6B05G4123456
In transit
Austin, TX → Dallas, TX
Ask Billy anything...

Commercial tiers,
from parcel one

Labels are priced at commercial tiers on every carrier with no monthly fee on Free (50 shipments a month): the tier gap this page describes is closed from parcel one.

Shipment summary
UPS Ground$12.49
Insurance$0.75
Fuel surcharge$0.32
Total$13.56

Every matrix,
quoted side by side

USPS, UPS and FedEx each run their own lookup on the same domestic weight, dimensions, and destination, with DHL on international lanes, and the finished prices sit next to their delivery windows. The carrier that wins zone 2 rarely wins zone 8; with every column on screen, that stops mattering.

Compare rates
UPSUPS$12.48
FedExFedEx$13.22
DHLDHL$14.10
USPSUSPS$11.79
Duties inside the quote where DDP applies

Rate anatomy,
as an endpoint

The same quote engine is a REST call: send the parcel and destination, get every carrier's all-in figure back in JSON. Unlimited calls on every plan, with signed webhooks for what happens after purchase.

POST /v1/shipments
{
"to": { "name": "Maya" },
"from": { "name": "Alex" },
"service": "ups_ground",
"label_format": "pdf"
}
Webhook delivered
GoatLabels mobile shipments queue showing all-in carrier prices
Billy quoting a weighed parcel against each carrier on mobile

Lookups done

CL-1051 · zone resolved from your origin

Four rate matrices, one thumb

The finished number, on the phone beside the scale.

Nobody cross-references four zone charts standing at a packing table, and nobody should have to. Weigh the packed box, confirm the destination, and read the finished prices with their delivery windows next to them: the entire decomposition on this page, resolved at the moment you actually need it.

Weigh the packed parcel and enter real dimensions — the tier is selected from those, not from the item.
The destination is validated and badged, because the delivery category feeds a modifier on some carriers.
All-in numbers come back with base cell, zone, and modifiers already folded in.
Delivery windows sit next to the prices, so the cheapest service that still hits the date is visible.
Buy from the prepaid balance and the exact quoted figure is what leaves it.
Billy is included, not a paid tier

Say the box and the town. Get the finished prices.

Reading a rate matrix out loud is nobody's idea of a workflow. Hold the mic, say what the parcel weighs and where it is going, and Billy resolves the zone from your origin, validates and classifies the destination, and reads back what each carrier comes to as a single all-in number. It remembers your saved box sizes, so the weight tier is chosen from a real measurement rather than a guess. Included on every plan. This is the real product, not a render.

goatlabels.io/dashboard/shipments — Billy
Billy reading back a parcel's carrier quotes and tracking history over the purchased labels list

Listening

"What does the packed box come to going to Austin?"

Out for delivery

CL-1051 · Austin, TX · commercial tier

Speaks plain English · resolves the zone from your origin ZIP · reads the all-in numbers back · included on every plan, never a pricier tier.

Every lookup, side by side

The same parcel lands in a different cell per carrier.

Each carrier runs its own matrix, so identical weight and identical distance still produce different prices and different delivery windows. These columns show finished figures — base cell, zone, and every applicable modifier already folded in — and the column you pick is what leaves your prepaid balance. Figures are illustrative, in the same register as the worked decomposition above; quote your real parcel for a current number.

Denver, CO → Austin, TX1.4 lb10×7×4 in
Cheapest cell for this parcel
USPS

USPS

Ground Advantage

2–5 days

$7.40

$1.20 of Premium insurance included

all-in · modifiers already folded in

UPS

UPS

Ground

3–4 days

$10.80

$1.20 of Premium insurance included

all-in · modifiers already folded in

FedEx

FedEx

Home Delivery

2–4 days

$11.40

$1.20 of Premium insurance included

all-in · modifiers already folded in

No rate card to cross-referenceAccepted void → credit back to your walletMulti-currency display
Public API v1

The whole lookup, one request.

Everything this page explains (tier, zone, address classification, seasonal and account modifiers) collapses into a single quote call that returns one finished number per carrier. Compare them in code, pick a winner per parcel, and buy with the same key. Unlimited calls on every plan.

One request quotes USPS, UPS and FedEx on a domestic parcel, DHL on international lanes
Each response line is all-in — base, zone, and modifiers already folded
Residential and commercial classification returned with the validated address
OpenAPI 3.1 spec, signed webhooks, idempotency keys — no SDK lock-in
Read the API docs Get a free API key$0 on every plan
curl https://api.goatlabels.io/api/v1/quotes
POST /api/v1/shipments
Authorization: Bearer sk_live_…
Idempotency-Key: ord_8421

{
  "to": { "name": "Joyce", "city": "Berlin", "country": "DE" },
  "parcel": { "weight": 2.6, "weight_unit": "lb" },
  "service": "fedex_intl_priority"
}
Commercial tiers without the account

Two plans. Commercial tiers on both, from parcel one.

One of the largest controllable gaps on this page is which tier the lookup is read at, and closing it used to take volume, an account, and a negotiation. Free covers 50 shipments a month at commercial-tier pricing on every carrier; Pro is a flat monthly plan with unlimited shipments on top of that.

Pro

Most popular
$40/ month
Unlimited shipments — no monthly cap
Unlimited address validation
Billy AI on Telegram Telegram logo — quote a parcel without opening the dashboard
API access still free and unlimited

Rate by plan

illustrative
FreePro

pay for labels, not for seats

Free

$0 / forever

Read the matrix at commercial tiers from the very first parcel, and owe nothing in a quiet month.

Commercial-tier pricing across USPS, UPS and FedEx, plus DHL internationally; no carrier account required
50 shipments a month, no monthly fee
Every quote all-in: base cell, zone, and applicable modifiers already folded in
The address validated and classified before payment, because the category feeds a modifier
REST API with unlimited calls; fund by card, Apple Pay, Google Pay, ACH, or crypto

Billy is not an upsell

The assistant that turns a pasted order into a quoted parcel (weight, dimensions, validated destination, one lookup per carrier) runs unlimited in the web app on Free. Pro adds Billy on Telegram.

Web, every planTelegram logoTelegram, Pro

API free on every plan

GET /api/v1/shipments

200 OK · plan: free

Unlimited calls on Free — still unlimited on Pro.

Bring the rates you read today

Put a real parcel through and compare the side-by-side rate against what that label costs you on

ShippoPirate ShipShipStation
No contractsNo carrier account to openStart in seconds
USPSUPSFedExDHL

Every price here is quoted live from USPS, UPS, FedEx, and DHL as one all-in number with the applicable modifiers already inside it, and that exact amount leaves your prepaid balance. Carriers revise their matrices and their fuel-linked components on their own schedule, so a live quote is the only current number. Full pricing details

Where the anatomy bites hardest

Four sellers reading four different columns.

Same lookup, same wallet, same finished numbers, whether you ship twice a week or twice a minute. These are the four shapes of seller for whom one part of the decomposition dominates everything else.

Sellers sitting just over a weight bracket

TikTok logo Where the tier, not the ounce, decides

Tier, not weight

Rates step rather than slope, so a parcel a couple of ounces into the next bracket pays for the whole bracket. A lighter box or less void fill buys the previous cell, and that saving repeats on every parcel of that shape you ever ship.

3 domestic matrices per parcel all-in figures commercial tiers
goatlabels.io/dashboard/shipments
GoatLabels shipments queue showing all-in carrier prices per parcel

Sellers whose buyers are far away

Etsy logo Where the zone column dominates

Zones are relative to your origin, so two shops with identical products and identical boxes can have structurally different shipping economics. Carriers do not step across zones identically either — the winner near home is frequently not the winner across the country.

The zone is counted from you

No address is simply zone 7 — only zone 7 from somewhere

Instagram logo

Sellers quoting postage from a message

Messenger logo Committing to a price before the cell is known

what would postage be to Austin?
Finished numbers · quoted, not guessed

Anyone still paying counter prices

Shopify logoWooCommerce logo Where the tier is the entire difference

2

price levels for one physical service — retail at the counter, commercial through a platform

Rate anatomy, answered

What are shipping zones and how do I find mine?
A zone is the distance band between the origin ZIP and the destination ZIP, counted from wherever you ship from — so the same destination sits in different zones for different sellers. Each carrier publishes a zone chart keyed to your origin ZIP prefix, and any label tool that quotes live rates has already looked the zone up for you; the number is baked into the price you see.
Why is the same box cheaper for big companies?
Because they enter the rate lookup at a different tier. Carriers publish a retail tier for walk-up customers and commercial tiers for accounts and platforms that aggregate volume, and the discount is applied to the base lookup before any modifier lands. The box, the service, and the zone are identical — the tier is the only variable, which is why buying through a platform that passes commercial tiers through closes most of the gap.
What is billable weight?
The greater of the parcel's actual weight and its dimensional weight, and our UPS billable weight examples page works it out for common box sizes, including rounding and the minimum billable weights on oversized boxes.
Are online label prices different from post office prices?
Usually, yes — a label bought online is typically priced at a commercial tier while the counter charges the retail tier for the same service, and the cheap shipping labels page covers how to make sure you are on the right side of that line.
Why did my quote change between yesterday and today?
Most likely a modifier moved, not the base rate: seasonal fees switch on and off on published dates, and a corrected address can land in a different delivery category — the full trigger list lives on the shipping surcharges explained page.

For billable weight worked out on real box sizes, seeUPS billable weight examples.

Real sellers, real words

Sellers who stopped reading rate cards.

A video took off and I had 80 TikTok Shop orders by morning. I printed every label from my phone on the bus to the post office.
E

Early customer · TikTok

TikTok Shop seller

TikTok logo TikTok Shop
I run my Etsy shop from the kitchen. The AI reads the order, picks the carrier, the label prints. That's the whole workflow now.
E

Early customer · Etsy

Etsy maker

Etsy logo Etsy
The API is what every shipping API pretends to be. Idempotency that actually works.
S

Sasha R.

Staff engineer, marketplace

API user
Commercial tiers. All-in quotes. Free up to 50 shipments a month.

Stop reading rate cards.
Start reading quotes.

Enter one real parcel and see the finished number from each carrier that serves the lane: tier, zone, and every modifier already included.

Sign up in seconds. No card required to see your quotes.

Updated