GoatLabels GoatLabels
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, FedEx, and DHL each run their own lookup on your parcel — the same weight and zone land in four different cells, which is the whole reason comparing pays.

UPSFedExDHLUSPS 4 lookups
The matrix Service × tier × zone.
Zone found From your origin ZIP.
Modifiers on top Address, 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 wallet Quote equals debit.
All-in quote Modifiers included.
Ledger lines Every label itemised.

The base lookup: service, weight tier, zone

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, and the package size and weight limits page owns the divisors, the thresholds, and the measuring technique.

Zones explained: how distance becomes a number

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 word origin 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 all four carriers per parcel is how you make the zone work for you instead of merely happening to you, and the carrier-by-carrier crossover mechanics live on the cheapest ground shipping services page.

The modifiers: where the quote grows after the base

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 is the shipping surcharges page's territory; 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.

Retail vs commercial tiers: why the same box prices twice

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 the largest controllable gap 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 on the cheap shipping labels page. The table below makes the whole page concrete by decomposing one real parcel at both tiers, side by side.

Rate component Retail tier Commercial tier What is happening
Base lookup: ground service, 3 lb tier, zone 5 $12.75 $9.10 Same cell of the same matrix — service by weight tier by zone — read at two different tiers.
Destination modifier: residential delivery included $0.00–$5.55 Postal-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.00 Zero for most of the year, then switched on between published dates in the fourth quarter.
Account modifier: fuel-linked percentage included included in quote Indexed 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

Four matrices read at once, four finished numbers back.

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. Four carriers run that whole sequence in parallel and hand back one all-in figure each.

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.

2 Billy 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 all four carriers' matrices 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
Four 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.

Shopify, Etsy, WooCommerce, and TikTok Shop 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.

Via AItiles: paste a DM or a screenshot and the same four lookups run — the sales channel never changes which cell your parcel lands in.

Shopify logo Shopify
Etsy logo Etsy
WooCommerce logo WooCommerce
TikTok Shop logo TikTok Shop
Instagram logo Instagram AI Facebook logo Facebook AI
Amazon logo Amazon
eBay logo eBay
Show 15 more Show less
Squarespace logo Squarespace
Wix logo Wix
Walmart logo Walmart
Shopify Plus logo Shopify Plus Soon
Square logo Square
BigCommerce logo BigCommerce
Magento logo Magento
Zapier logo Zapier Soon
NetSuite logo NetSuite Soon
Ecwid logo Ecwid Soon
Temu logo Temu
Shein logo Shein Soon
ChannelAdvisor logo ChannelAdvisor Soon
SkuVault logo SkuVault Soon
Zoho Inventory logo Zoho Inventory Soon
The lookup, done for you

You do not need to read four matrices.
You need the four 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.36 USD
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.

Billy LIVE
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 across all four carriers with no monthly minimum to print — the tier gap this page describes is closed by default, whether you ship two parcels a month or two hundred a night.

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

Four matrices,
quoted side by side

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

Compare rates
UPS UPS $12.48
FedEx FedEx $13.22
DHL DHL $14.10
USPS USPS $11.79
Duties & taxes paid

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 four carriers on mobile

Four 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 four 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.
Four 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 four 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 of the four carriers 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 four all-in numbers back · included on every plan, never a pricier tier.

Four lookups, side by side

The same parcel lands in four different cells.

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, TX 1.4 lb 10×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-reference Void → credit straight back to your wallet Multi-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 four finished numbers. 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, FedEx, and DHL on the same parcel
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.

The largest controllable gap 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 across all four carriers; Pro is a flat monthly plan with unlimited shipments and cheaper label pricing on top of that.

Pro

Most popular
$40 / month
Unlimited shipments — no monthly cap
Label pricing that scales down further as your volume grows
Billy AI on Telegram — quote a parcel without opening the dashboard
API access still free and unlimited

Volume pricing

illustrative
less volume more volume

more volume → lower per-label rates

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, FedEx, and DHL — no carrier account required
50 shipments a month, no monthly minimum to print
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, four lookups — runs unlimited in the web app on Free. Pro adds Billy on Telegram.

Web — every plan Telegram — 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

On Pro we will work with you to beat the label rates you are already getting from

ShippoPirate ShipShipStation
No contracts No carrier account to open Start in seconds
USPS UPS FedEx DHL

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 four 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

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.

4 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

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

Sellers quoting postage from a message

Committing to a price before the cell is known

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

Anyone still paying counter prices

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 — the full mechanics, divisors, and how to measure live on the package size and weight limits page.
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.
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 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
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. No monthly minimum.

Stop reading rate cards.
Start reading quotes.

Enter one real parcel and see the finished number from all four carriers — tier, zone, and every modifier already included.

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