I’ve been having a persistent issue where if a customer orders from Canada, even though I have USPS listed as the only shipping option, my only option is to buy a shipping label from DHL for double the price of what the customer paid when selecting USPS at checkout.
I have double checked my shipping settings and I can’t see what is going wrong. I’m wondering if this is an issue on the Shopify end. How can I resolve this? Lately I’ve been forced to buy all of my Canadian shipping labels directly through USPS which is a pain in the butt.
Hey @Yamino,
Thanks for posting this on Shopify community.
This is a common pain point for Shopify Merchants Shipping internationally. Here is how to fix it. Here are the steps that you can take.
Step 1. Check Your Shopify Shipping Carriers
Go to Settings → Shipping and delivery → Carrier accounts (Shopify Shipping).
See which carriers are enabled for label purchasing.
If USPS is missing for international labels, that explains it.
Step 2. Confirm USPS Canada Availability
USPS does ship to Canada, but Shopify doesn’t always pass those options through.
Check Shopify’s USPS coverage page — they list which USPS services are available through Shopify Shipping.
Step 3. Solutions
Option A: Add USPS as Your Own Carrier Account
If you ship a lot with USPS, you can connect your own USPS account (requires Shopify Advanced or the third-party carrier-calculated shipping add-on).
Then you’ll always see USPS rates/labels for Canada.
Option B: Use a Shipping App
Apps like ShipStation, EasyPost, or Pirate Ship integrate directly and let you buy USPS Canada labels without leaving Shopify.
Pirate Ship in particular gives great USPS international rates and can auto-sync Shopify orders.
Option C: Adjust Checkout Rates
If Shopify only gives you DHL for Canada in the label purchase screen, you may want to disable USPS as a checkout option for Canada until you resolve the carrier issue.
That way you don’t lose money buying labels that cost more than the customer paid.
By following these steps you can ensure to fix your issue.
If this was helpful Mark as Solution and like it.
Thanks
This kind of issue usually comes down to how Shopify is handling USPS for international shipments. Unfortunately, Shopify Shipping doesn’t support USPS label purchases for international orders (like to Canada) unless you’re using a USPS account through an external service. That’s why it’s defaulting to DHL as the only available carrier within Shopify. A couple of options you might consider:
Buy USPS labels directly (as you’ve been doing), i know it’s annoying, but it’s the most straightforward if you want to stick with USPS
Or, use a third-party shipping app that integrates with USPS and lets you purchase international labels without leaving Shopify
If you’re looking for a full tracking + post-purchase experience, an app like ParcelPanel Order Tracking can help manage tracking and order updates, though it doesn’t issue labels directly.
Hope this helps a bit! If it does, feel free to mark it as a solution so others can find it too
This seems to be an issue on Shopify’s end where the label buying system doesn’t respect your checkout settings. Even though USPS is shown to customers, Shopify may still default to DHL when you buy the label.
If you want to avoid this mismatch, you can use our ShipEZ - Shipping Rates & Rules app to fully control and filter which shipping methods appear and are calculated based on your own rules. That way, only USPS is used both at checkout and for rate calculation.