Why you shouldn’t buy gift cards as presents

An AI generated image of a Christmas tree with lots of presents and gift cards underneath it by a window.

When you need to buy a present for someone, and aren’t sure what to get them, gift cards seem like a good idea. With Christmas coming up, I’m going to explain why they’re not always the best idea.

They’re less flexible than cash

If you spend £10 to buy a £10 gift card, all you have done is taken £10 of cash, which can be spent anywhere, and converted it into a sort of pseudo-currency that can only be used at one shop. You can’t use a gift voucher for John Lewis at M&S for example.

Whilst multi-retailer gift cards like Love2Shop and One4All exist, they still limit you to a small range of retailers. And you can usually only spend them at large chain stores, so your recipient won’t be able to spend them at a local, independent shops. Let’s face it, Amazon is likely to be around for a long time, but independent shops would probably appreciate your custom.

They can only be used to purchase things

This might seem obvious, but you can only use gift cards to buy more things. You can’t use gift cards to pay bills, or repay debt, for example. And I mean, you really can’t – if someone claims to be HM Revenue & Customs and asks you to pay your tax bill with iTunes Gift Cards, then it’s a scam.

For someone who may be drowning in credit card debt, receiving some money that they can use to pay that off may be more meaningful. At worst, you could end up spending your money on a gift card that can only be used to buy something at a shop where the cost of getting there is higher than the value of the card.

They could also be worthless. If you’re an Android phone user, then you’re not going to get much out of an iTunes gift card, for example. You could try a web site that exchanges gift cards, where you can sell an unwanted gift card for cash. However, you’ll probably get less than its value back, and obscure gift cards may not sell for much.

They expire

Most gift cards expire after 12 months. We’ve had this problem before; a relative bought our (now) seven-year-old a gift card for a well-known toy shop chain. As their birthday is close to Christmas, we saved it to buy a gift the following year, but by the time we came to use it, it had expired. Meanwhile, cash never expires.

If the retailer goes bust, they may become worthless

We’ve recently seen the demise of Wilko in the UK, and other large chain stores like Debenhams, Jessops, Comet, Woolworths, Burtons have all disappeared in recent years. Usually, when these companies go bankrupt and call in administrators, their gift cards immediately become worthless. At best, you can sign up as a creditor of the company in the hope that you may get a fraction of the value of the gift card back.

Some people have lost serious money because of this in the past. Debenhams used to offer a wedding list service, and so those that had people buy them Debenhams gift cards as wedding presents may have lost out on hundreds of pounds.

What to do instead

Buying presents can be tricky, and I don’t think anyone wants to buy something that’ll just end up listed on eBay on Boxing Day. But maybe have a conversation with the person who you are buying a gift for first. Surprises can be nice, but so can knowing that you’re getting a thing that you actually want for Christmas. Christmas lists for Santa needn’t just be for children; you could keep a list in a note-taking app, for example, so that if anyone asks you what you want, you can tell them straight-away.

Or you could just give people cash. If all you are doing is swapping the same amount of money for a card which is restricted to one retailer and expires, then you’re taking choice away from your recipient. With cash, your recipient could use that money for:

  • the weekly food shop
  • to pay off a credit card
  • buy something nice from a small independent shop.

An Amazon gift card won’t allow the recipient to do any of those things.

If you don’t want to put bank notes or coins in the post, you can send a cheque. Despite rumblings from the banking industry a few years ago, most banks will still let you send and receive cheques. Indeed, most banking apps will let you scan cheques, so you can scan them on Christmas Day without waiting for a branch to open. Alternatively, you could send an IOU in a card, and then do a BACS transfer on Christmas Day. That’s if you already know their bank details, of course.

When is it appropriate to send gift cards?

So, now that I have written this, you may be surprised to hear that I am planning to send gift cards to some relatives this Christmas. But this is only because said relatives have specifically asked for them. And that’s fine – you could ask for gift cards as a contribution to a big purchase, for example. Just be careful that you choose a retailer that isn’t at imminent risk of bankruptcy. Money Saving Expert News is usually a good place to get news about retailers that are, or are at risk of entering administration, and their policy on accepting gift cards.

You can also sometimes buy gift cards at a discount. My employer offers Pluxee as an employee benefit, which sells gift cards at a typical 4% discount – but sometimes more. M&S is 6.5%, which means that you can buy a £25 gift card for £23.38.

If your employer doesn’t offer something similar, but you have a mortgage, then Sprive is worth considering. With Sprive, the discounts are smaller (about 3%) but the money you save is taken off your mortgage. If you decide to sign up to Sprive, use my referral code ‘HTWH65PM’ to get an additional £5 off your mortgage.

If you’re buying Amazon gift cards, it’s worth checking your personalised promotions page (sponsored link). Sometimes, Amazon offers additional discounts available if you buy gift cards in bulk.

Christmas Day is three weeks today. If you haven’t already finished your Christmas shopping, maybe reach out to your gift recipients to find out what they want. Just be aware of the last posting days for gifts.

Mounting a USB hard drive on startup on Ubuntu Core

A photo of a Raspberry Pi 4 connected to a USB external hard drive

As you’ll be aware from my regular posts about it, I have a Raspberry Pi 4 running Ubuntu Core, which acts as a server for Home Assistant, Plex and Calibre-Web. Here’s how I’ve set it up to mount an external USB hard drive on boot up.

As it’s a Raspberry Pi, the operating system and binaries set on a microSD card, which in this case is a mere 16 GB. Whilst the me of 20 years ago would have been astounded at the concept of something so tiny holding so much data, 16 GB isn’t much nowadays. So, I have a 1 TB external USB hard drive for storing the media files for Plex and Calibre-Web.

Ubuntu Core doesn’t automatically mount USB storage devices on startup unless you tell it to, and the instructions for doing so are different when compared with a regular Linux distro.

There’s no fstab

Most Linux distros, including regular Ubuntu, include fstab for managing file systems and mounting devices. But Ubuntu Core is designed to be a lightweight distro to act as firmware for Internet of Things devices, and so it doesn’t include many tools that are common in other Linux distros. fstab is one such tool which is missing.

You can, of course, just mount a USB drive manually with the following:

sudo mkdir /media/data
sudo mount /dev/sda1 /media/data

But this won’t persist when the computer restarts. After a bit of searching, I found a solution on StackExchange; it’s for Ubuntu Core 16, but works on 22 as well.

How to tell systemd to mount your USB hard drive

It should go without saying that you should back up your system before doing any of this. If you make a mistake and systemd stops working, your device could become unbootable.

Firstly, you’ll need to run sudo blkid to list all of the file systems that Ubuntu Core can see. Find the one that starts with ‘/dev/sda1’ and make a note of the long hexadecimal string that comes after UUID – it’ll probably look something like ‘2435ba65-f000-234244ac’. Copy and save this, as this identifies your USB hard drive.

Next, you’ll need to create a text file. Ubuntu Core only seems to offer the Vi text editor, which I haven’t bothered to learn to use properly. My favoured text editor is nano, but it’s not available on Ubuntu Core. Therefore, my recommendation is to create a file on another device and FTP it across. The file should be called media-data.mount; it’s really important the file name matches the intended mount point. For example, if you’re instead planning to mount the USB hard drive to /mnt/files, this text file would need to be called mnt-files.mount.

Here’s the template for the file:

[Unit]
Description=Mount unit for data

[Mount]
What=/dev/disk/by-uuid/[Your UUID]
Where=/media/data
Type=ext4

[Install]
WantedBy=multi-user.target

You’ll need to paste in the UUID for your USB hard drive where it says ‘[Your UUID]’. You’ll also need to match the file system type; I have my external USB hard drive formatted as ext4 for maximum compatibility with Linux, but yours may use ExFAT or NTFS.

This file needs to be saved to /etc/systemd/system/media-data.mount . You can either use vi to create and save this file directly or FTP it across and copy it over.

There are three further commands to run in turn:

sudo systemctl daemon-reload
sudo systemctl start media-data.mount
sudo systemctl enable media-data.mount

If you’ve done this correctly, then the next time you restart your device, your USB hard drive should mount automatically. If not, then you should receive some surprisingly helpful error messages explaining what you’ve done wrong.

There’s another guide at Wimpy’s World which has some additional detail and helped me get this working.