I'm nowhere close to an ecommerce expert, but I work with a bunch of people who can craft a mean retail site and have had my hands in a few of those projects. More than anything else, I live in an age where many of my purchases happen online so I'm familiar with what works and what doesn't.
The first speed bump came because I couldn't even find where to buy a gift card in the first place. It turns out that this site uses a completely separate checkout process for gift cards, meaning that it's hidden away from the rest of the products. Luckily there was a search function, so I was able to track it down. (It's interesting, with how much I google things, that the search function is usually a last resort for me; I usually prefer to navigate to find things.)
Next, I entered the amount I want to purchase the gift card for, entered my billing information, then the shipping information for my mom (easy, easy, easy). At that point, I was essentially done, so you'd think that simply having to search a little longer would not have left a bad taste in my mouth. Unfortunately, when I was done checking out I honestly had no idea whether my mom would be receiving an email with her gift card information, or a physical gift card delivered to the house. When you're shopping for a particular day, it's nice to know what delivery method you're getting so that you can plan accordingly. Had I been doing this last minute on Sunday, then I would have preferred an email, of course. But I was doing this 'not quite last minute,' so a physical gift card would have been nice so as to more closely coincide with Mom's Day.
Now to be fair, let me say that as I'm going back and reliving the process, there IS a note about email v. card during the process, but it's on the first page where you enter the card amount and click a big green button labeled BUY GIFT CARD, so I think I can be forgiven for skimming the text. Even if I had read the explanation it's still a bad way of dealing with gift cards, and here's why:
She gets both. I never got to choose whether my mom got an e-card or a physical card because she automatically gets both. An email is sent almost immediately, with a gift card following slowly behind via mail.
The email she received contained my message along with a lengthy (15 digits) 'card' number and a rather long (8 digits) PIN. The card then arrived a few days later… with a completely different card number and PIN. If she wanted to spend the gift card online all she would need was that initial email, but she wanted to go to the physical store in order to investigate and get just what she wanted. To use the card in-store, she had to log on to the website and, as if she was transferring funds between bank accounts, enter the 15 digit # and 8 digit PIN from the email, then the 15 digit # and 8 digit PIN from the card.
This whole time, I was expecting a call from her because in the confirmation email I received, it was implied that I would have to provide the card # and pin in order for her to activate it.
In the end, my mom got her gift card and will be able to spend it as she sees fit, but the whole process just seems so unnecessarily bloated. I'm no programmer, but I have to believe that it would be easier in the long run to have users choose whether they wanted a physical card sent or an email sent; the option they chose would initiate one of two separate processes. It might mean some extra money off the bat, but it would save money for the production and shipping costs of all those physical cards. More important than any cost, it would make it easier and more intuitive for the end user, which is the real issue. If my mom hadn't expressly asked for a gift card from this store I probably would not have done it at all.
With an ecommerce site, it can be easy to get lost in the back-end, dealing only with the products from the admin. If you're not actively asking your customers for feedback on their experiences, make sure that you're going through the checkout process every once in a while yourself. Is everything working? Are there elements of the process–from browsing to checkout–that are outdated or could be improved upon? With so many options online these days, it doesn't take much to turn off customers and send them searching for somewhere else to shop.