Friday night, 8:45pm, exhausted after a week of being sick and working hard anyway, while I was watching a movie with my wife, I got this email from a customer:
When I click my renewal link for a $4.95 renewal, the full, original 19.95 price is listed instead. What gives?
Fair question. What gives indeed? I swung into action.
This website is paid for by ebook sales. It’s my own small business, which has been running more or less the same way since early 2007. The mechanics of selling and delivery are largely automatic, and sales march on whether I’m paying attention or not. For instance, when my wife was terribly injured while travelling in early 2010, I stopped working almost completely for several weeks, a few emails a day — and the business kept running.
Funny story about trying to not work, though: it was mostly fine for weeks, but one customer freaked out at me because I took more than a day to answer his email. That was the day after I learned my wife was lying in the basement of a Laotian hospital in dire condition, and I was in the midst of planning an emergency flight to Asia. When I asked him to forgive me for the delay in replying, he replied with an accusation that I was making the story about my wife up rather than just admitting I’d ignored his message. Wow. True story.
Thankfully, customers that crazy are super rare, but there’s a more or less never-ending supply of technological and customer service issues to attend to. Even in the middle of a Friday evening. Back to the recent movie-interrupting email…
I offer my customers a lifetime 75% discount on future editions — an unusual and unusually nice feature of my product, I believe. But my customer wasn’t getting the discount option, and my product promise seemed broken. I paused the movie, and hopped up and walked ten steps to the office to deal with it.
My wife has very mixed feelings about these interruptions. On the one hand, I can fly to her rescue in Asia while still earning a living. On the other hand, I interrupt movies on Friday nights. I could have ignored that email. I could have said, “Well, I’ll deal with that one in the morning.” But I didn’t. I never do. It’s a minor annoyance in an otherwise very agreeable job.
It was a 20-minute troubleshoot, harder than most (a longer intermission than usual). My customer had run afoul of rare, weird bug in my order system — complex code that I wrote 4 years ago, and which has worked almost flawlessly ever since. (Seriously, I can count the number of bugs I’ve discovered on one hand.) But the “buy link” that was supposed to give her a discount had broken.
These ecommerce links consist of long chains of data, hundreds of characters long and hard to read. The tail end of the link was corrupted, like a mutation in a strand of DNA, thanks to a shred of unexpected data in her account information. To find it, I had to compare the broken buy link to a healthy one very, very carefully. The “aha!” moment came before long when I realized that the misbehaving link was about 30 characters too short. It was fixed about two minutes later.
I could have just given her the working link, and an apology, and collected my five bucks for the renewal. Instead I gave her a renewal at no charge, to make up for the inconvenience. She wrote back: “You didn’t have to do that.”
No, of course not — but a happy customer is worth more than five bucks. Way more. And then I went back to the movie.