Gift giving is a true art.
1. You need to understand the person to whom you intend to give the gift.
2. You need to know what they truly want.
3. You must be able to give it to them.
Anything less is a symptom of varying degrees, on your part, of ignorance, distance, or insult.
But if you cannot afford the right gift, telling the person what you would do if you could, justifies everything—as you present that not-so-perfect substitute.