Shipping rates not showing at checkout › Canada Post rates
Shopify checkout diagnosticsCanada Post rates not showing at checkout
You ship from Canada, you ticked Regular Parcel, Expedited and Xpresspost, and buyers only ever see Expedited. Or Canada Post worked for months and then went quiet. Most of these cases come from one detail of how Shopify offers Canada Post rates, and a few limits that only Canadian stores meet.
“Shopify Shipping doesn't offer Regular Parcel rates unless merchants have connected their own Canada Post account.”
That is how one merchant closed their own Shopify Community thread in 2024, after checking that Canada Post's website offered Regular Parcel for the same address and weight. Another thread, “Standard rates not showing, only Expedited”, ran from 2024 to 2025 with several merchants and no confirmed fix. Start with the question that solved the first one.
Shopify's Canada Post rates, or your own account?
| Shopify's built-in Canada Post rates | Your own Canada Post account | |
|---|---|---|
| Plan | All plans | Included on Advanced and Plus. On Grow, with yearly billing or a monthly fee. Not on Basic or Starter |
| Prices | Based on Shopify's account with Canada Post | Your account, including rates you negotiated with Canada Post |
| Regular Parcel | Not available | Merchants report it shows once their own account is connected |
| Needs | A fulfilment location in Canada | A fulfilment location in Canada and your Canada Post account connected in Settings → Shipping and delivery → Carrier accounts |
Shopify's Canada Post page says it plainly, in its considerations for shipping with Canada Post: “Regular Parcel rates aren't available.” The services it lists for domestic parcels are Expedited Parcel, Xpresspost and Priority. If you use the built-in rates and expect Regular Parcel at checkout, it will not come, whatever you tick. The other built-in carrier for Canadian locations is Purolator.
The causes, one by one
Regular Parcel with built-in rates
As above. Your options: connect your own Canada Post account on a plan that includes third-party carrier-calculated shipping, or offer a flat or tiered rate for the cheaper, slower option you had in mind.
Your own account hits Canada Post's quote limit
This one is specific to Canada Post, and easy to miss. Shopify notes that by default the Canada Post API gives quotes for up to 20 shipping rates per minute. Every buyer who reaches the shipping step needs a quote. If your store gets more than that on a busy day, Shopify says you might need to ask Canada Post for a higher limit; if Canada Post approves it, your account can retrieve up to 400 rates per minute.
When a quote fails and no other rate applies, Shopify shows backup rates. For Canadian stores, Shopify-powered backup rates use Canada Post by default, with the most economical service available. Buyers then see a Canada Post option, just not the one or the price you set up.
The connected account is not the one you think
When you connect, Shopify asks you to check that the Company and Contract information match the account you mean to connect: the rates you get are that account's. A child account without payment permission cannot buy labels; Shopify's fix is to ask the parent account owner for that permission or connect another account. Then use Calculate rates on the carrier to see sample rates for a real parcel and address. Shopify warns these may differ from checkout.
The parcel is outside Canada Post's limits
Canada Post's own limits for Priority, Xpresspost, Expedited Parcel and Regular Parcel are the same:
| Minimum | Maximum | |
|---|---|---|
| Weight | 100 g | 30 kg |
| Length | 230 mm | 2 m |
| Width | 200 mm | 2 m |
| Height | 25 mm | 2 m |
| Length + girth | 3 m |
Shopify's Canada Post page also describes Small Packet and Tracked Packet, to the US and abroad, as services for items under 2 kg. Carriers price your default package with the order's weight, so a default box that is too small, too big or too heavy for a service gets no rate for it. In the “only Expedited” thread, Shopify's Community staff suggested exactly this: the items plus the packaging might exceed the service's limit, and testing carts of different weights.
Shopify adds two packaging rules for its Canada Post labels: envelope package types cannot be used to buy labels (only box and soft package types), and tubes or cylindrical packaging are not supported.
The origin address
Canada Post prices from your fulfilment location. It must be active, with a valid address, and fulfil online orders. Both the origin and the buyer's address must be valid for the carrier. In the same thread, one merchant reported that changing the shipping source to a post office's postal code made rates stop loading entirely. That is a single report, but it shows how sensitive the origin is.
Orders to the United States
Since late August 2025, all Canada Post shipments from Canada to the United States must be sent as DDP (Delivered Duty Paid). Shopify says DDU label purchase is blocked, that duties must be pre-paid, and that each Canada Post shipment to the US includes a $1.99 CAD processing fee. Its list of required actions includes activating duty collection for your US market and reviewing your US zone rates so they reflect DDP carriers. If US buyers see a Canada Post option you cannot buy a label for, or you removed it and left nothing, check that zone.
Managed Markets orders
Shopify says you cannot use Canada Post rates or labels for Managed Markets orders, even with your Canada Post account connected. If you sell abroad through Managed Markets, those buyers need another carrier.
The usual suspects
The rate must exist in the shipping profile of each product and in the buyer's zone, the services must be ticked on the option, and the default package should be a custom box, not another carrier's packaging. Those checks are detailed here.
It worked, then stopped
A merchant in the 2024–2025 thread reported Regular Parcel rates working for about three months and then disappearing, with no change on their side, and support pointing at the configuration. We cannot tell from the thread what happened. Two documented candidates fit that story: quote limits on busy days, and timeouts or errors from the carrier call, which Shopify does not retry. See carrier-calculated shipping not showing.
A quick checklist
- Built-in rates or your own account? Regular Parcel needs your own.
- Own account: plan, connection, Company and Contract, Calculate rates.
- High volume: ask Canada Post about the 20-quotes-per-minute default.
- Default box and weights within 100 g–30 kg and the size limits.
- US zone: DDP set up, a rate you can fulfil.
- A flat rate for destinations where you cannot afford “no option”.
What our store check covers, honestly
The free store check builds a cart with one unit of one product, as an anonymous buyer, with one address per country — Toronto for Canada. When a country has no fixed rate, it also asks for live carrier rates, the way checkout does, and lists the Canada Post or Purolator services that come back, with their prices. If the carrier does not answer within 8 seconds, we report Could not confirm, not a failure.
It will not reproduce a busy-day quote limit, and it tests one address per country, not rural or remote postal codes. When a country already has a flat or tiered rate, we do not ask for carrier rates there. Shopify limits how often a store's carrier rates can be read, so the result may be a reading from the last few hours, with its age shown. It never sees your admin or your Canada Post account. Monitoring emails you when a country loses its delivery options or a known option, such as Regular Parcel, disappears.
Related
Sources: Shopify Help Center, “Activating calculated shipping with Canada Post”, “Shipping with Canada Post”, “Third-party shipping carrier accounts and availability”, “Setting up shipping zones and rates”, “Troubleshooting and testing shipping rates” and “Backup shipping rates”, checked 17 October 2026. Canada Post, “Size and weight restrictions” (parcel services in Canada), checked 17 October 2026. Merchant reports from the Shopify Community.