Americans have a collective $21 billion in unspent gift cards