If they have a functional inventory system, they know the weight and dimensions of the product, and all that's needed for destination is a box for postal code.
Believe it or not, the origin is in question as well. Until the complete order is known, we can't make an optimal choice of which warehouse to ship from. We might want to get it to you faster by fulfilling it from the nearest warehouse, but if one of your products isn't in stock there, we may need to change strategy, selecting a different warehouse. That may not be the customer's problem directly, but if we try to hide it, then the difference is going to surface in the seller's expenses, and thus in the price.
This is true. I actually worked with the "service" at Amazon that made these decisions. For a company with a single warehouse, or even multiple warehouses with equivalent inventory selections, you shouldn't face this problem. But with Amazon, where the entire inventory selection couldn't even fit in 20 warehouses, you end up with a terrible NP complete problem whose solution quality can make or break profitability on pretty much any product with less than a 10% gross margin. And I say "service" because you can't really fit into a service oriented architecture when you have solve times in excess of 5 minutes...the "service" is really just a way of dumping problems onto a queue to be passed downstream when done.
Sometimes a postal code is enough, sometimes it will be rejected by carrier APIs, especially in less dense areas like Alaska, where a postal code can span thousands of square miles. Lower 48 should be fine for the most part outside of the Rockies and some parts of the Midwest, but it isn't always obvious to determine. Plus, you get different costs when shipping to business or residential, or single address vs building with multiple addresses, etc.
And weight/dimensions can be determined from a single item but they do not add up linearly with multiple items. Once you've got a 5kg item, adding another may add 5% to the shipping cost. Adding an additional 50g item may add 0%. If it has to ship via air, it could add 5% for a small item, or 500% if it is a large item, independent of weight. Since the first item in your cart typically bears the brunt of the share of shipping cost, they tend to ask for your full cart before estimating shipping, because extrapolating from the first item alone could paint a very misleading picture of how much shipping will cost for multiple items.
There are solutions out there to help with pricing transparency, but they aren't as trivial as you make them out to be and I wouldn't expect a small eCommerce company to know how to do anything outside of directly communicating with carrier APIs.
As long as you present it as an estimation you're fine. The 12 people that you piss off are used to getting screwed and often have alternate arrangements (like a UPS Store box in the nearest big town)
I used to sell recently discontinued stuff in college (mostly Sun and Apple Powerbooks) on eBay, and most of my business was to places where mainstream vendors couldn't or wouldn't ship.
Estimates are not okay, at least in non B2B scenarios if you have a competent lawyer advising you. At a consumer level (where you have to make very serious assumptions about the customer's level of understanding of what an estimate is), you open yourself up to bait and switch claims.
Exacerbating the problem is that there is a huge variability in shipping prices. The parameter space is huge: residential vs business, single-family home vs multi-family building, location relative to shipping/sorting hubs, incidental delivery density (number of unrelated deliveries near you), handling concerns, signature requirements, size/weight X potential lane shipping options (weight dominates costs in ground lane shipping, physical dimensions dominate costs in air shipping). A 50 lb minifridge delivered to a multi-family residential building with a mail room in the same city as the origin warehouse may cost a carrier $1 to deliver. But if it is delivered to rural wyoming it may cost $40 and if it travels via air shipping you can tack on an additional $100. Estimates formed via simplistic assumptions may end up being inaccurate with standard deviations in excess of 100%. At the level of sophistication of the average customer, giving an estimate of $20 when actual costs are $100 screams bait and switch, whereas an estimate of $100 when actual costs are $20 means that the customer never makes it to checkout. If you aren't within a reasonable ~5% of actual, you can't reasonably provide estimates to the customer.
There is a push by carrier customers to provide estimated estimate accuracy for this reason (businesses want to know how accurate an estimate is if they have incomplete information), but ironically that ends up putting the carriers in the same position: data-validated claims about positive/negative bias in estimate accuracy can basically be considered bait and switch in court, even for large B2B customers with very detailed contracts.
The scope of the thread that I was referring to was "small ecommerce companies".
Small companies, depending on your vision of small, are usually pushing this complexity to the carrier via a shipping cost premium or outsourcing fulfillment altogether. I agree that in a B2B scenario, you need to meet whatever standard the contract lays out.
If estimates are not okay and the true cost of shipping cannot be calculated in a short period of time, then why is it okay to display a shipping price during the checkout process right before I click "submit", since this price is presumably an estimate? If presenting an estimate during the checkout process is actually okay, why not display it in the cart before the checkout process?
Getting a shipping estimate doesn't take a lot of time (a few hundred milliseconds at most), and by the time you are in checkout, you should have detailed enough product and destination information to get an extremely accurate estimate from the carrier APIs (which would only change in the event of the vendor misjudging item size or weight or something similar).
You have strong points there, and it is indeed difficult or impossible for small eCommerce companies to do the calculations themselves. That being said, how much do carriers charge clients for API calls? Unless it's a ridiculous amount, if I have a complete cart, I should be able to enter the same info used for actual shipping to do a cost calculation without having to sign up for an account or actually start the checkout process.
I'm not 100% sure about API pricing, but I would imagine they are free to make for businesses that actually ship things. It seems like one of those things you shouldn't skimp on as a carrier.
And yes they should at least offer a no-signup in-cart shipping estimate. Most off the shelf eccommerce sites do. If not, they definitely want to spam your inbox with "come back, we miss you!" messages :)
On the plus side, if you do care about the purchase enough to give them an Email at that point you can probably abandon the cart and get a discount. :)
In those cases where a postal code isn't enough, it seems like the failure case is the status quo. So those people will still have to go through the whole process to get an estimate, but most people won't. Isn't that strictly better?
Zones for shipping costs and time estimates are pretty large, so they could even give rough estimates until you input the exact address. Sales tax can differ from street to street, but even that could probably be guessed to within 1% based on your browser's location.
When I lived in eastern Idaho, geolocation APIs regularly placed my location in Boise, over 300 miles away. They work fine for people in larger cities, but aren't precise outside of that.
Yeah, I live in NJ, but I work at a federal facility with an IP that geolocation places in DC. So I frequently see sites assuming I'm in DC when I access them from work rather than home, even though the two locations are actually three miles apart.
So I certainly prefer when they just ask for a ZIP code.
>, and all that's needed for destination is a box for postal code.
There can also be differences of shipping costs for delivering to a business vs a residential address. I've seen shipping costs go up by $3+ when shipping to a buyer's home address instead of his office. The zipcode isn't granular enough to differentiate that.
I believe 2 factors contribute to the extra costs: 1) UPS trucks don't drive the residential streets as often as the main roadways where all the businesses are located and 2) many failed deliveries and repeated attempts because recipient isn't at home -- which costs more in gas, driver hours, etc
In that case, add a business/home selector or checkbox to the form. It's not that complicated. After all, if the information that I enter when I actually buy the item is precise enough to price the shipping, why can't I enter the exact same info without going through all the cart & registration BS?