Apps

Rate Shopper

Compare every connected carrier on each shipment, pick the winner by policy, track savings, and cost your packaging.

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

PageWhat it does
SavingsTotal saved, comparisons run, average saving per label, most-picked carriers, recent comparisons
RulesNarrow eligible accounts and services for matching shipments, optionally with their own winner policy
Rate TesterRun a live comparison without buying a label
SettingsEnable, selection policy, packaging optimization, auto-select winner, pre-fetch, default carrier for savings, checkout markup, performance
Boxes / Packing MaterialsBoth open Advanced → Packing Materials

Set up

  1. Connect at least two carrier accounts under Integration → Carriers — there is nothing to compare with one.
  2. Open Apps → Rate Shopper → Settings, turn on Enable rate shopping, and choose a Selection policy (below).
  3. Set Default carrier (for savings) — the carrier you would have used without rate shopping. Savings are measured against it.
  4. Define your real containers under Advanced → Packing Materials; turn on Optimize packaging if you want the app to try each enabled container.
  5. Optionally add Rules to keep some shipments on specific accounts or services.
  6. Check with Rate Tester, then pack a real shipment — the comparison appears in More rates / Compare rates on Labels & rates.

Settings

SettingMeaning
Enable rate shoppingMaster 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 weightHow the winner is chosen — see below
Optimize packagingTry every enabled container from Packing Materials (up to 6 per comparison) and quote each one; the winning quote carries its box
Auto-select winnerPre-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 createdAsk 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 thanA 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 markupCheckout 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

PolicyWinner
Cheapest priceLowest total
Cheapest meeting a delivery deadlineLowest 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.

SettingMeaning
Name / PriorityHigher priority wins when several rules match
Match modeAll conditions (AND) or Any condition (OR)
ConditionsShipping 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 & servicesAdd 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 policyUse 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 quoteCompare all carriers or Return nothing
EnabledOff 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.

Rules created before per-account eligibility named a carrier type (fedex, ups). They keep working — they expand to every account of that type — but show This rule still uses a carrier type… Pick a specific account so only that connection is shopped. Re-save them with an account to silence it.

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.