Posted in:

The Ultimate Guide to Shipping in Magento 2

After customers shop and place an order at your ecommerce storefront, it’s time to fulfill their order. Today’s consumers want their goods delivered fast, so optimizing the shipping and fulfillment processes is crucial.

Magento offers a wide variety of shipping options and integrations, from in-store pickup to international flat-rate shipping. Many Magento shipping setups require third-party shipping extensions, especially now that the official Magento Shipping service has shut down.

Magento shipping works a little differently in Magento 1 vs. Magento 2. Take a look at our Magento migration guide for more details.

In this article, we’ll look at how to configure shipping in Magento 2. You’ll learn how to set up a shipping strategy with all major carrier companies, enable free shipping, and charge based on dimensional weight.

Basic Setup

Magento 2 can price shipping in four ways:

● Free shipping (you can set a threshold to receive this service)
● Flat rate
● Table rate
● Dimensional weight

Flat Rate Shipping Configuration

Flat rate shipping is the simplest shipping method supported by Magento 2. Start by navigating to Stores > Configuration > Sales > Shipping methods > Flat rate in the Magento admin panel.

Then, follow these steps to set it up:
1. Enable this shipping method by setting the first box to “Yes”.
2. Title and name this method or leave these values at the default.
3. Choose whether the flat rate is applied per item or per order.
4. Set the shipping price.
5. Determine whether the price is a truly flat value or whether it is a percentage of the order/item price.
6. Type an error message if something goes wrong.
7. Select which countries this shipping method applies to.

Finally, save this configuration and test it out in your storefront.

Free Shipping Setup

Free shipping is a great way to entice customers into buying more products. By setting the right free shipping threshold, companies can encourage customers to purchase an extra product or two to reach the shipping threshold.

From the “Shipping Methods” area in the admin panel, click on “Free Shipping”. Follow the steps below to configure it:
1. Enable or disable the shipping method.
2. Give it a title and name, or keep the defaults.
3. Choose a minimum amount to qualify for free shipping.
4. Write an error message or leave the default.
5. Choose which countries are enabled for free shipping.
6. Use the “Sort Order” field to give free shipping a higher priority than other shipping methods so that the UI displays this method above other methods on qualifying orders.

Next, you’ll need to set up a carrier to actually fulfill free shipping orders. Magento already supports UPS, USPS, FedEx, and DHL without any additional integrations.

Using UPS for this example, open the UPS section in the “Shipping Methods” menu. Fill each field required for free shipping support with your company’s information and click Save.

Save your changes and give this new shipping method a test run.

Enable Table Rate Shipping

Compared to flat rate and free shipping, table rate shipping is slightly more complicated. However, it gives both you and your customers a better deal than flat rate shipping.

Open the “Table Rate” section of the “Shipping Methods” area in the Magento 2 admin panel. Follow these instructions to set it up:

1. Fill out the standard fields (like enabling the option, choosing a title, etc.)
2. In the “Conditions” field, choose how you want to calculate the shipping price:
a. Weight vs. Destination: Calculate the shipping cost based on the weight of the package and the distance it needs to travel.
b. Price vs. Destination: Scale the shipping price based on the price of the order.
c. Number of items vs. Destination: Set the shipping price to be proportional to the number of items.
3. Export the current table rate data file as a CSV onto your computer. Open it in Excel or another spreadsheet program and edit the values to meet your needs. Import the table rate data in Magento again.

Afterwards, save your configuration and test the shipping process with a fake order.

Configure Dimensional Weight Shipping

Dimensional weight shipping is the strangest method. It’s calculated based on an estimation of the weight of the package determined by its volume.

Unlike the other shipping methods, the price for shipping with dimensional weight is calculated by the carrier, not by the merchant. Although each of the four default carriers support this method, their exact cost may differ. The merchant is charged for shipping when the carrier picks up the package, not when the customer purchases the product.

To charge customers enough money to cover shipping costs accurately, you have to know the dimensions of the parcel in advance so that the carriers will not charge more or less than you charged your customers.

As with the other shipping methods, simply enable dimensional weight shipping. You can use dimensional weight “in the background” for free or flat-rate shipping as well, so long as you accurately calculate your margins in advance to avoid losing money on each sale.

Connecting Carriers

In the “Shipping Methods” section of your Magento 2 admin panel, you’ll see the four default carriers: UPS, USPS, FedEx, and DHL. The process for setting each one up is very similar:

1. Enable the shipping method and title it.
2. Provide credentials to access the carrier’s backend systems.
a. For DHL, this is the Gateway URL, Access ID, Password, and Account Number.
b. FedEx uses an Account ID, Meter Number, Key, and Password.
c. UPS just requires the Gateway URL.
d. USPS requires a Gateway URL, Secure Gateway URL, User ID, and Password.
3. For each carrier you choose to use, set the following values:
a. How the handling fee is calculated.
b. Weight and size.
c .Which of the carrier’s specific methods are allowed.
d. If free shipping should be enabled.
e. Which countries are allowed.
f. How the shipping method appears in the UI (using “Sort Order”).

4. Dropoff/pickup options, destination options, container types, and other settings can be applied on a per-carrier basis.


With Magento 2’s built-in support for a variety of carriers and shipping methods, getting packages to your customers has never been easier. With the simple configuration outlined in this guide, you’ll be shipping your goods to your customers in no time.

If you or your company needs help with Magento integrations, look no further than Elogic. Contact us to learn more about our Magento services.