GoatLabels GoatLabels
One toggle. One piece of arithmetic.

Insure it or self-insure it: the per-shipment math


Run it before you flip the toggle.

Insurance is priced per shipment, so decide per shipment: weigh the premium against the item's replacement cost times the realistic chance of loss on that lane, minus what the carrier already covers by default. High-value, low-volume parcels usually clear that bar; cheap, frequent ones rarely do.

Four carriers, one insurance decision each

USPS, UPS, FedEx, and DHL are quoted on every parcel, and the insurance toggle sits on the shipment — so the decision is made where the exposure is, not once in a settings screen.

UPSFedExDHLUSPS all four
Per-shipment toggle Chosen at quote time.
Premium vs exposure The math this page teaches.
Sold, not underwritten The insurer decides claims.

The premium rides inside the all-in number

Fund the wallet with card, Apple Pay, Google Pay, ACH, or crypto — when you insure, the premium is folded into the quoted price and that exact amount leaves the balance.

VisaMastercardAmerican ExpressApple PayGoogle PayBitcoinEthereumTether (USDT)
One balance Premium debits with the label.
Premium on the record Persisted per shipment.
Comparable at quote Insured price beside uninsured.

The break-even formula: premium vs exposure times loss rate

Shipping insurance is one of the few purchases a seller makes where the fair price is genuinely computable. You are buying protection against a loss whose size you know — the replacement cost of the item, minus whatever the carrier already covers by default — and whose probability you can estimate from your own history. Multiply the two and you have the expected loss on that parcel. The premium is worth paying when it is smaller than that expected loss, and not worth paying when it is larger. Everything else on this page is just a way of getting honest inputs into that one comparison.

The formula is easier to use flipped around: divide the quoted premium by your loss rate, and you get the break-even exposure — the uncovered value at which insurance stops being a fee and starts being a fair trade. A premium divided by a one-in-five-hundred loss rate breaks even at five hundred times the premium in uncovered value. Parcels above that line deserve the toggle; parcels below it are quietly subsidising the insurer. What surprises most sellers who run the division for the first time is how high the break-even line sits for an ordinary domestic parcel that gets scanned at acceptance and delivered to a house. Insurance earns its premium on the tails, not on the typical order.

Worked example bands — compiled 2026-08-15. Illustrative arithmetic only, not a rate card: at a loss rate of one parcel in two hundred, a two-dollar premium breaks even at four hundred dollars of uncovered value; at one in a thousand, the same premium needs two thousand dollars of exposure to be a fair trade. Premiums scale with declared value and change without notice, so never reuse these bands as answers — re-run the division with the actual premium shown on your own quote, because the toggle prices each shipment individually. Re-checked with each pricing review by the named marketing owner recorded with this page.

Estimating your real loss rate from your own shipment history

The loss rate is the input sellers guess worst, because memory is a terrible ledger — one painful loss feels like a pattern, and two hundred uneventful deliveries feel like nothing at all. Count instead. A loss, for this arithmetic, is a parcel that never produced a delivery scan or that arrived damaged beyond use; a parcel the tracking says was delivered but the buyer says never came is a different dispute with different remedies, and it belongs to the delivered-but-not-received guide, not to this count. Divide honest losses by total shipments, and keep the division per lane: domestic ground to residential addresses, international economy, and anything routed through a freight forwarder are three different risks that deserve three different rates.

Small histories need one extra tool. If you have shipped three hundred parcels and lost none, your loss rate is not zero — it is merely unknown and probably small. A useful ceiling: with zero losses in a sample, the true rate is very likely below three divided by the number of shipments, so three hundred clean parcels bound the rate near one percent, not at nothing. Use the ceiling when deciding, and replace it with your measured rate as the history grows. Sellers who skip this step self-insure on the assumption that nothing has ever gone wrong, then meet their first loss with no reserve and no premium either.

Self-insuring in practice: the reserve method

Self-insuring is not the same thing as declining insurance. Declining is simply hoping; self-insuring is running the insurance company yourself, with yourself as the only customer. The mechanics take one spreadsheet column. Each time the arithmetic says skip the premium, credit the amount you would have paid into a reserve line. When a parcel is lost, pay the replacement out of the reserve and record the drawdown. The column now does something subtle and valuable: it turns your insurance decision into a falsifiable bet. A reserve that climbs steadily is proof the premiums were overpriced for your book of parcels. A reserve that keeps going negative is proof your loss-rate estimate was optimistic, and the toggle deserves another look.

The two strategies also mix, and the per-shipment toggle is what makes the mix workable. Because GoatLabels prices insurance per shipment rather than as an account setting, you can self-insure the base of cheap, frequent parcels where the reserve method wins, and buy the premium only on the outliers — the one order this month whose replacement cost would wipe out a quarter of reserve growth in a single loss. One honest boundary belongs here: GoatLabels sells the insurance option at label time and records the premium on the shipment, and the insurer underwrites the policy and decides the claim. No label platform pays claims out of its own pocket, and any page that implies otherwise is selling something it does not control.

The parcels that always clear the bar, and the ones that never do

Run the division across a real order book and the answers cluster. Clearing the bar almost every time: one-off high-value items, because a single loss is a material fraction of the month; international parcels on economy services, where handoffs multiply and the loss rate is genuinely higher; anything shipped to a freight forwarder, where the carrier's obligation ends at the forwarder's dock; and fragile goods whose damage rate dwarfs their disappearance rate. Failing the bar almost every time: inexpensive, replaceable, frequently shipped items — the volume that makes the loss rate measurable is the same volume that makes each individual loss ignorable, and a reserve funded by a hundred skipped premiums absorbs the occasional replacement without complaint.

Two adjacent facts complete the decision, and both live elsewhere by design. Carriers include some declared-value coverage by default on some services, which shrinks the uncovered exposure in your formula, and the per-carrier specifics plus the filing process live on the lost-and-damaged claims guide. And the premium is only one line in the landed cost of a label — the habit that keeps the whole number down is quoting all four carriers on every parcel, which is the cheap-labels argument in one sentence, and it costs nothing to adopt because printing has no monthly minimum here.

Where the decision actually happens

Exposure in. Decision out.

The insurance call is only rational if it happens where the numbers are — on the quote, with the premium visible next to the exposure. The flow keeps the arithmetic honest: the parcel arrives with a value, the quote shows the premium, the toggle records the choice, and the shipment carries the premium on its record so your reserve ledger has real data to reconcile against.

1
The parcel and its exposure
Replacement cost, lane, loss history
order_2214

Vintage camera lens, one of one — replacement cost high, buyer overseas, economy service on the shortlist.

The routine order
Cheap, replaceable, shipped weekly
The outlier order
One loss would erase a month of margin
What the quote shows
Declared value
entered per shipment
Premium
priced for this parcel
Toggle
on or off, this label only
All-in price
premium folded in
Quote the parcel, read the premium against the exposure

The break-even division takes seconds once the premium is on screen: premium over loss rate, compared against uncovered value. High and rare insures; cheap and frequent self-insures.

2 Decision support

The toggle, not a policy document.

Billy AI
  • Insurance is chosen per shipment at quote time, never imposed account-wide
  • The premium is folded into the one all-in number before you pay
  • The premium persists on the shipment record for your reserve ledger
  • The insurer underwrites and adjudicates — GoatLabels sells the option
Priced. Chosen. Recorded.
3
A ledger your reserve can reconcile
Every premium, every skip, on the record
Premium debits the wallet
Inside the all-in price, no separate fee stack
$12.47
USPS
Label out, decision archived
Insured and uninsured shipments side by side
$12.47

Self-insurers get the same benefit in reverse: the premiums you declined are visible on past quotes, which is exactly the number your reserve column needs.

The decision travels with the parcel, not the connection

Every storefront's orders, one toggle at a time.

Shopify, Etsy, WooCommerce, and TikTok Shop sync orders into one To Ship queue, and the insurance choice stays on each shipment rather than on the connection — so the cheap repeat item from one channel and the one-off high-value piece from another get judged separately, which is what the break-even division actually requires. Paste an Instagram or Facebook DM instead and the same per-shipment toggle is sitting on that quote too.

Via AItiles: paste a DM or a screenshot — the premium is still priced and chosen per shipment.

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
What the product contributes to the math

The formula is yours.
The honest inputs are ours.

A decision method is only as good as the numbers you feed it. These are the places the product hands you a real number instead of a guess.

One prepaid balance,
premium included

Card, Apple Pay, Google Pay, ACH, and crypto all fund the same wallet, and an insured label debits exactly its quoted all-in amount — premium inside. Nothing about the insurance decision creates a second bill to reconcile later.

Wallet balance
$1,247.36 USD
AI

Billy drafts the label,
you keep the judgment

Paste an order, drop a screenshot, or speak the address and Billy drafts the shipment on every plan. The insurance toggle stays a human decision on the quote — an assistant that silently insured everything would be spending your margin on parcels that never clear the break-even bar.

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

All-in at quote,
so exposure math is clean

The quoted number is the number that leaves the balance. When the premium is folded into one visible price rather than scattered across fees, comparing the insured and uninsured versions of the same label is a subtraction, not an investigation.

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

Four carriers quoted,
every single parcel

USPS, UPS, FedEx, and DHL are priced against the same parcel each time. The carrier choice moves the base price and the lane risk at once, so the insurance division is worth re-running when the winning carrier changes — and here it is on screen when that happens.

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

The same lifecycle,
over REST

The API covers the shipment lifecycle the dashboard uses, with signed webhooks and unlimited calls on every plan — so a seller codifying a decision rule can build against real shipment records instead of exported guesses.

POST /v1/shipments
{
"to": { "name": "Maya" },
"from": { "name": "Alex" },
"service": "ups_ground",
"label_format": "pdf"
}
Webhook delivered
GoatLabels mobile shipments queue showing insured and uninsured labels side by side
Billy drafting a label on mobile with the insurance toggle sitting on the quote

Premium quoted

This shipment only · toggle before you buy

The division, run at the packing bench

Premium over loss rate, on the phone in your hand.

The break-even calculation is one division, and it only helps if you run it where the parcel is. The quote, the premium for that specific shipment, and the toggle all sit on one mobile screen — so deciding takes the few seconds between taping the box and printing the label, rather than a blanket policy you set once and stopped thinking about.

Quote the parcel and read the premium for this shipment, not an account-wide rate.
Divide that premium by the lane's loss rate; insure if the uncovered value clears it.
Flip the toggle for this label only — the next parcel starts the decision from scratch.
The premium is folded into the one all-in price before you pay, so nothing arrives later.
Skipped it? The premium is still on the quote, which is the figure your reserve column needs.
Billy is included, not a paid tier

Billy drafts the label. The toggle stays yours.

Speak the order and Billy builds the shipment, validates the address, and quotes four carriers — but it does not flip the insurance switch for you, and that is deliberate: an assistant that quietly insured everything would spend your margin on the parcels that never clear the break-even bar. Ask what a past shipment cost and it reads the premium back off the record instead. Included on every plan. This is the real product, not a render.

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

Listening

"Did we insure the camera lens?"

On the record

Premium persisted with the shipment

Speaks plain English · drafts from a paste, a screenshot, or your voice · reads the premium back off past shipments · never decides the toggle for you.

Insured and uninsured, side by side

The premium rides inside the all-in number.

When insurance is quoted as its own fee stack, comparing the covered and uncovered versions of the same label becomes an investigation. Here the premium is folded into the single all-in figure for the service you picked, so the difference between the two is a subtraction you can do in your head — which is exactly the input the break-even division has been waiting for.

US → DE 2.6 lbs 12×8×4 in
USPS

USPS

Priority Mail Intl

10–15 days

$7.40

$1.90 of duties and taxes prepaid — a separate line from any insurance premium

all-in · premium inside when the toggle is on

Best balance on this parcel
FedEx

FedEx

Intl Connect Plus

3–5 days

$8.90

$2.20 of duties and taxes prepaid — a separate line from any insurance premium

all-in · premium inside when the toggle is on

DHL

DHL

Express Worldwide

1–2 days

$9.80

$2.50 of duties and taxes prepaid — a separate line from any insurance premium

all-in · premium inside when the toggle is on

No day-after invoice Void → credit straight back to your wallet Multi-currency display
Public API v1

Codify the rule, parcel by parcel.

Once the division has produced a threshold per lane, it stops needing a human at the bench. Drive the same shipment lifecycle from your own script — rate the parcel, apply your rule to the exposure, and buy with the insurance choice attached — so every order is judged the same way instead of by whoever happens to be packing. Unlimited calls on every plan, so re-rating a month of orders to test a rule costs nothing.

The same shipment lifecycle the dashboard uses, over REST and JSON
Insurance stays a per-shipment choice in code, never an account-wide setting
Shipment records carry what each label actually cost — the data a reserve ledger reconciles against
Signed webhooks, real idempotency keys, and unlimited calls on every plan including Free
Read the API docs Get a free API key $0 on every plan
curl https://api.goatlabels.io/api/v1/shipments
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"
}
Pricing that does not distort the arithmetic

No blanket policy to buy. No monthly minimum to print.

A subscription quietly changes the break-even sum, because a fixed monthly cost has to be earned back across whatever you happened to ship that month. Free covers 50 shipments a month with no monthly minimum to print, so the only numbers left in the division are the premium, your loss rate, and the uncovered value. Pro is an optional flat plan that lowers per-label pricing at volume — it never buys coverage, and it never turns insurance into a plan feature.

Pro

Most popular
$40 / month
Unlimited shipments — insurance still chosen one parcel at a time
Cheaper label pricing that scales down as your volume grows
Billy AI on Telegram — draft a label 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

Insure the outliers, self-insure the rest, and owe nothing in the months you ship nothing.

50 shipments a month, no monthly minimum to print
USPS, UPS, FedEx, and DHL rate-shopped on every parcel
Insurance offered per shipment at quote, with the premium inside the all-in price
The premium persisted on the shipment record, for your own reserve ledger
Billy AI unlimited in the web app; REST API with unlimited calls

Billy is not an upsell

The assistant that turns a pasted order into a draft label runs unlimited in the web app on Free, and never flips the insurance toggle on your behalf. 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.

We'll beat your current rates

Bring your invoice — on Pro we work with you to beat the rates you're getting from

ShippoPirateShipShipStation
No contracts No monthly minimum to print No blanket coverage plan
USPS UPS FedEx DHL

Insurance here is an option sold at quote time, with the premium folded into the all-in price and recorded against the shipment. GoatLabels does not underwrite the policy and does not decide the claim — the insurer does, and what filing one involves lives on the lost-and-damaged claims guide. Full pricing details

Where the division lands, by parcel shape

The bar is cleared by the tails, not by the typical order.

Run premium over loss rate across a real order book and the answers cluster into four shapes. These are them, with the strategy each one points at.

Sellers whose outliers dwarf their averages

One-off high-value items

Clears the bar

A single loss on a one-of-a-kind piece is a material fraction of the month, which is precisely the shape a premium is priced for. Because the toggle is per shipment, buying it here commits you to nothing on the hundred cheap parcels sitting around it.

1 toggle per shipment premium inside the quote recorded on the shipment
goatlabels.io/dashboard/shipments
GoatLabels shipments queue showing insured and uninsured shipments side by side

Makers with a base worth self-insuring

Cheap, replaceable, frequently shipped

The volume that makes a loss rate measurable is the same volume that makes each individual loss absorbable. Credit every skipped premium to a reserve column and the strategy turns falsifiable: a reserve that climbs was right, one that keeps running dry was not.

The skipped premium is still on the quote

Which is exactly the number a reserve column is built from

Sellers shipping economy and overseas

The lanes with the most handoffs

can you send it to my forwarder instead?
Different lane, different loss rate — re-run the division

Shops applying a threshold per lane

Where a decision becomes a rule

1

threshold per lane, applied at quote instead of guessed at the bench

The insurance decision, answered

How do I estimate my actual loss rate?
Divide the parcels that were genuinely lost or destroyed — no delivery scan, or arrived unusable — by the total you shipped on that kind of lane, and keep lanes separate: domestic ground to houses and international economy to freight forwarders are different risks. If you have shipped a few hundred parcels without a single loss, treat your rate as bounded rather than zero and use the small-sample ceiling described on this page.
Should I insure every package over a certain value?
A single value threshold is a decent shortcut, but the honest version is a threshold per lane: divide the premium you are quoted by your realistic loss rate on that lane, and insure anything whose uncovered replacement cost sits above the result. A rule that ignores the lane will over-insure your safest parcels and under-insure your riskiest ones.
What does self-insuring mean in practice?
You act as your own insurer: every time you decline the premium, you credit that amount to a reserve column in your own books, and when a parcel is lost you pay the replacement out of that reserve. If the reserve trends upward over months, self-insuring is winning; if it keeps running dry, your loss rate is higher than you assumed and the premium was the better buy.
Does insurance help once tracking shows delivered?
Mostly no — a delivery scan changes the dispute from a lost-parcel claim into a different problem with different remedies, which is exactly why that scenario has its own page: see the delivered-but-not-received guide at /delivered-but-not-received.
Is carrier declared-value coverage the same thing as insurance?
No. Declared-value coverage is the carrier capping its own liability, bundled into some services by default, while insurance is a separate premium you choose to pay for cover above that. What each carrier includes by default, and how you file against either one, lives on the claims guide at /lost-or-damaged-package-claims.
Customers, in their own words

Sellers who decide one parcel at a time.

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
No monthly minimum to print. No blanket policy to buy.

Insure the outliers.
Self-insure the rest.

Quote the parcel across four carriers, read the premium against the exposure, and flip the toggle only when the arithmetic says to.

Sign up in seconds. No card required. Insurance stays a per-shipment choice.