If your shipping isn’t free
If you offer free shipping on all purchases, then ignore this best practice.
Some data
About 21% of US online shoppers abandon orders because they aren’t able to see the total order cost upfront before checking out.
And about 64% of users look for shipping costs on the product page, before deciding whether to add a product to the cart.
Low ticket items
Adding an estimated shipping cost is particularly important for lower-priced products because shipping costs are a high percentage of the product price.
NN/group recommendations
Shoppers strongly disliked unexpected cost increases during the course of their transactions. The surprise of added fees or unexpectedly high delivery rates at the end of the checkout process was often unpleasant enough that users would leave a site altogether
Before committing to the checkout process, users want to have a general idea of the total cost of their purchase
1. Disclose standard taxes and shipping rates at checkout
2. Mention any nonstandard fees early (in the product page)
Clearly provide a flat rate, minimum rate (or range of rates), or rate estimate near the product price, on the product page. For dynamic charges based on location, the best solution should allow users to enter their postal code on the product page and get the exact shipping or special-delivery cost.
Detect the location

A link to view rates
However, shipping costs for large or heavy products are typically very important if additional surcharges and handling fees are added.
Be transparent
I would still recommend to be transparent early on (in the product page) about any fees, including a small standard shipping fee… since the #1 reason for cart abandonment is hidden charges at checkout. (source)
Another study
A different study, with slightly different insights: (source)
In simple terms
- Offer free shipping if you can, or at least free shipping above a minimum amount.
- Disclose shipping costs (and other fees) if not free shipping… early in their shopping process. Don’t hide them in the checkout.