Math-challenged shopping cart

I have an upcoming had a project at work where I’d benefit from being better versed in a specific technology.  After combing through the library holdings, and needing something longer-lasting than Intralibrary loan, I found some promising reference materials on Amazon for $40 each.  Tech books have a poor payout / useful life ratio, so I enlisted the assistance of Professor Bing.

It pointed me to the publisher’s own site where there was a better deal when ordering multiple titles.  An even bigger discount could be had for electronic copies.  Then I tried to use the shopping programmed by people who can’t add.

Let’s say I wanted two books, The Lorax and One Fish Two Fish Red Fish Blue Fish.  They’re $40 each at Amazon.com, which is a little pricey for what I want to do with them.  The publisher offers hardcopy version for $36 or, I can get electronic version for $25 each.  Though I prefer hardcopy, electronic form will work fine on my iPad.

Sensing a live one, the vendor’s marketing team deploys the upsell: if I buy The Lorax with Hop on Pop, I’ll receive a discount on both.  I don’t have any immediate need for Hop on Pop, but, at this price, aw fooey, sure.  After I add it to the cart, the second upsell is deployed: buy five books, and the electronic editions are 50% off.

In for a penny… I’ll add Fox in Socks, having no idea why I’d want to read about a cable news network’s fashion accessories.  Only when I do so, I inadvertently click on a button that’s for a third paired discount that includes one of the original books I wanted.

On most modern e-commerce sites, I would expect either

  1. The cart is smart enough to figure out that I have selected a bundle and offer only the better of the discounts.
  2. The cart adds a second copy of the book. The appropriate discount is applied to the first copy.

I wasn’t paying attention and thought I’d just add “The Sneetches” and clean up the cart later when I notice the cart does something inexplicable: duplicate items conferred a greater than 100% discount on paired versions.  For you non mathies, they’re paying me to take this book.  If I remove it from the cart, it costs me more. Frankly, I was flummoxed at how a cart could be so utterly broken.

To recap, what I originally wanted, $80 on Amazon:

+

The offer they were trying to steer me towards, regularly $125, but available for $62.50 on the web site:

The Lorax+One Fish, Two Fish, Red Fish, Blue Fish+Hop on Pop+
The Sneetches+Fox in Socks

What their upselling, bad user experience and poor math skills left me with, (for less than a dollar) was:

The Lorax+One Fish, Two Fish, Red Fish, Blue Fish+Hop on Pop +The Very Hungry Caterpillar +The Sneetches +
Fox in Socks +The Sneetches+One Fish, Two Fish, Red Fish, Blue Fish

Rather than place the order, I spent the next half hour trying to find a contact point on the website that wasn’t the general “contact us” form.  I wrote a note advising them there was an issue and offered to walk someone through the steps to reproduce it and a screenshot.  Since I was very curious, I cleared cookies and reproduced the behavior in a variety of ways.  Two days later, I received a canned blurb from their support person, completely discarding the content of my message and lumping it into “clueless customer can’t place an order” bucket.

Because I needed the two basic the books for a project, and was willing to get the expected discount for the others (potential future work), I placed an order.  The confirmation email listed a correctly discounted price of $62.50, which was sort of a let-down, but what I would have ordered anyway.  An hour later, I received a text that my credit card was charged for (less than a dollar).    I held off a few more days before downloading the books.

Wow.

The moral of the story:

  • Don’t make it so freaking difficult for a customer to contact you.
  • If a customer uses the word “excessive” to describe your pricing, it would be in your best interest to read the rest of the sentence.
  • Seriously, the bug is at least three months old.