My wife is tough because she doesn't like spending money and never seems to want anything . Add to that the fact that she watches our accounts like a hawk and it is really hard to keep her from finding out what I spent and where.
Similar situation and here is what you can consider doing:
-Use cash. No electronic trail.
-Use a giftcard to the place the gift is from (Amazon, Target, etc). No electronic trail to specific item.
-If the the giftcard gives a strong clue about the gift (like Victoria Secret), then I get one of those Visa moneycards that's accepted almost anywhere. Unfortunately, there is a transaction fee on those so you don't get the full value of the card ($96 of purchases from a $100 moneycard) but sometimes the surprise factor is worth it.
-If I'm getting a gift that a giftcard or cash doesn't work well for (think jewelry), then I've had it where my bro or my parents will pay for it and I'll pay them back after I give the misses the gift.