Rate Shopper
Intro
Rate Shopper compares rates across every connected carrier account when you rate a shipment — two FedEx accounts count as two — flags the cheapest and fastest options, and picks a winner according to your selection policy. Savings versus your default carrier are recorded on every label so you can see what the app is worth.
It also owns the cost side of packaging: the boxes and packing materials you define here are what the Shipments Packing section and the Reports use.
What is inside
| Page | What it does |
|---|---|
| Savings | Total saved, comparisons run, average saving per label, most-picked carriers, recent comparisons |
| Rules | Narrow eligible accounts and services for matching shipments, optionally with their own winner policy |
| Rate Tester | Run a live comparison without buying a label |
| Settings | Enable, selection policy, packaging optimization, auto-select winner, pre-fetch, default carrier for savings, checkout markup, performance |
| Boxes / Packing Materials | Both open Advanced → Packing Materials |
Set up
- Connect at least two carrier accounts under Integration → Carriers — there is nothing to compare with one.
- Open Apps → Rate Shopper → Settings, turn on Enable rate shopping, and choose a Selection policy (below).
- Set Default carrier (for savings) — the carrier you would have used without rate shopping. Savings are measured against it.
- Define your real containers under Advanced → Packing Materials; turn on Optimize packaging if you want the app to try each enabled container.
- Optionally add Rules to keep some shipments on specific accounts or services.
- Check with Rate Tester, then pack a real shipment — the comparison appears in More rates / Compare rates on Labels & rates.
Settings
| Setting | Meaning |
|---|---|
| Enable rate shopping | Master switch. Off = the label screen still quotes the selected service and More rates still works, but nothing is pre-compared, auto-selected or pre-fetched |
| Selection policy · Delivery deadline (days) · Price weight | How the winner is chosen — see below |
| Optimize packaging | Try every enabled container from Packing Materials (up to 6 per comparison) and quote each one; the winning quote carries its box |
| Auto-select winner | Pre-select the winning rate in the label screen (otherwise it is only marked Recommended). Packers can still change it |
| Shop the rate when a shipment is created | Ask the carriers as soon as a shipment is created or its items, address or date change, however far out the delivery date is, and save that comparison on the shipment. A sweep every 30 minutes refreshes shipments due within 2 days, because the quote expires at midnight. The label screen opens with it already priced. Uses the item weights and label / catalog dimensions. Costs carrier API calls for shipments you never open. Needs Enable rate shopping |
| Warn when a label costs more than | A label-cost guardrail for packers. When the Cost Review price on the label screen is above this amount (store currency), Create + Print Label turns red and asks for confirmation before buying — see Labels & rates → Cost limit. Leave empty to turn it off. It only warns; it never blocks a purchase or picks a different service |
| Default carrier (for savings) | The account you would have used anyway; savings are measured against its cheapest quote |
| Markup % / Flat markup | Checkout only — see below |
| Per-carrier timeout (ms) / Cache (minutes) | See Performance |
Shopping on creation runs for Awaiting shipments without a label that are not local pickup, roughly 45 seconds after a change, whatever the delivery date. A 05:00–21:00 sweep refreshes shipments due within 48 hours, because the saved quote expires at midnight. Shipments whose items have no weight are skipped — the screen quotes live instead. The saved comparison is kept on the shipment for that ship date and parcel. It is not written to Savings; only the comparison a packer opens and buys from is.
Selection policy
| Policy | Winner |
|---|---|
| Cheapest price | Lowest total |
| Cheapest meeting a delivery deadline | Lowest total among services that arrive within Delivery deadline (days) |
| Best value (price + speed) | Weighted score — Price weight from 0 (all speed) to 1 (all price) |
Results are always listed cheapest-first; the winner is marked Recommended. Auto-select winner applies it to the shipment automatically and notes Rate Shopper picked … on the Cost Review card; leave it off if packers should confirm.
On the label screen
- Recommended is a suggestion. The packer can pick any other row with Use, or change the service / package / box in Configure Shipment directly — the Rate Shopper picked note then goes away and the Cost Review card names what is actually selected.
- The row matching the current selection is marked Selected in Compare rates, so the packer can always see which quote Create + Print will buy, even when it is not the recommended one. The dialog's Compare buttons let the packer look beyond the automatic pick — their selected service on every account, a specific rule, or everything — without touching the rules. The highlighted entry is the rule that matched (or All accounts & services when none did); see Labels & rates → Compare selector. Only that automatic comparison counts toward savings.
- The comparison is priced for the parcel (weight, size, package, options). Switching only the service does not re-run it; changing the parcel or pressing Refresh does.
The service the customer paid for
The policy never downgrades the service level the customer chose at checkout. StoresBoost works out which carrier service the order's shipping method stands for — from your store's shipping-method mappings, the account's service mappings, the checkout rate code (what Shipping Rates and carrier-calculated rates send), or the method name ("FedEx Priority Overnight") — and, when at least one account priced that service, the winner is picked among those quotes only. Ground can still be flagged Cheapest; the Recommended label goes to the requested service, marked Requested in the table and · requested service on the Recommended row and on the Rate Shopper picked note. If no account priced it, the policy chooses from everything — you can tell because no row carries the Requested badge.
A rule that names services for a matching shipment overrides this: rules are your explicit answer (the note then reads · rule "Name"). A rule that only names accounts keeps the requested service within those accounts.
For this to work the service must be enabled on the carrier account (Settings → Shipping → Carriers → Configuration → Services). Priority Overnight, Standard Overnight and First Overnight are off by default on a new FedEx connection. FedEx Ground and Home Delivery are treated as the same request — enabling either allows both, and residential addresses get Home Delivery.
After a split, each box is matched on the methods its own items paid for (the per-item breakdown from Shipping Rates), not on the order's combined method name — the supplies box does not inherit "Priority Overnight".
Rules
Rules narrow which accounts and services are eligible for matching shipments, and can carry their own winner policy. No rule matches = compare everything.
| Setting | Meaning |
|---|---|
| Name / Priority | Higher priority wins when several rules match |
| Match mode | All conditions (AND) or Any condition (OR) |
| Conditions | Shipping method name / code / service, item, SKU, barcode, HS code, product type, vendor, tag, collection, weight, package, destination country / state, order value, item count. Method fields offer Select or type a method — a picker of the methods seen in your Shopify checkout and past orders (with an in checkout · N orders hint, refreshed every 5 minutes) — or type any value |
| Eligible accounts & services | Add account picks a connected account (shown as Title (account number)), then optionally its services — from the account's enabled list, or a typed code. Leave services empty for all of that account's services; leave the whole section empty to compare all accounts |
| Winner policy | Use store default policy (inherit Settings) or Cheapest price / Cheapest meeting a delivery deadline (with Deliver within (days), 1–60) / Best value (price + speed) (with Price weight (0–1) — 1 = price only, 0 = speed only). Applies whenever this rule matches, including when it falls back to Compare all carriers |
| Fallback if no eligible quote | Compare all carriers or Return nothing |
| Enabled | Off rules are ignored |
The list summarises each rule as N conditions · N eligible accounts (Fedex New, UPS Primary) · Pick: Cheapest price (≤ 3 days). Compare rates on the label screen shows via rule "Name" when a rule applied, and (store default policy) when that rule has no policy of its own.
Typical uses: hazmat SKUs only on a specific account; international only via one account; heavy items excluded from a service; livestock always Cheapest meeting a delivery deadline of 1 day while everything else stays Cheapest price.
Savings
Every comparison a packer buys from stores the winner and what your default carrier would have cost. The Savings page shows Total saved, Comparisons run, Avg saving / label, the carriers that win most often, and the recent comparisons (When, Winner, Service, Box, Winner $, Default $, Saved) for Today, Last 7 / 30 / 90 days, Year to date, or All time — day boundaries follow the store's timezone. Background pre-fetches are not counted.
Packaging spend is not here — see Reports → Packing materials.
Checkout markup
If you use Rate Shopper as a rate source at checkout, Markup % and Flat markup are added to the carrier price before it is shown to the customer. They do not affect the labels you buy.
Performance
- Every account × box lookup runs in parallel; an account that fails or times out appears under Couldn't quote with a plain-English reason (see Carriers → When a carrier refuses to quote) and never blocks the others.
- Per-carrier timeout (ms) (1000–60000) is the most one account may take.
- Comparison quotes are reused until midnight for the same parcel and ship date, whichever screen asked first — the Cost Review price is read from the comparison when it exists, so it appears without a carrier call. Cache (minutes) (0–1440) governs the single-service Cost Review quotes made outside a comparison.
- Shop the rate when a shipment is created (Settings) prices the comparison before the packer opens the shipment and saves it on the shipment.
Rate Tester
Pick an existing Shipment (search by label, customer or tracking number — parcel details prefill) or type Weight (lb), Package, and Length / Width / Height (in), then Compare carriers. You get the same comparison packers see — Recommended / Cheapest / Fastest / Requested badges, Best per account, price deltas and the Couldn't quote list — under a Results (policy) heading.
Who can use it
Included on Enterprise. Permissions View rate shopper (app pages, savings, parcel prefill, requested-service pre-selection, background comparison and auto-select on the label screen) and Manage rate shopper (settings, rules, materials). The Packer role from the ops seeder includes view access.
More rates / Compare rates on the label screen itself is not gated by this app or permission any more: anyone who can buy a label (Fulfill orders) can open it on any plan; without Rate Shopper enabled it ranks by the store default policy and nothing is pre-selected.
Related
- Advanced → Packing Materials — boxes, heat packs, gel packs, and their costs
- Shipments → Labels & rates — where comparisons appear
- Reports — postage and packaging spend over time
- Shipping Rates — the customer-facing price side
Shipping Rates
Control the shipping prices customers see at checkout — profiles built from zones, product groups, triggers, and combination rules, with profile rules and a tester.
Weather
Attach a destination weather forecast to shipments that match your rules — for livestock, plants, perishables, and anything else the weather can hurt.