It's amazing how different boys can be. Some items mentioned are spot on with my boys, some are polar opposite.
Here is our list for our 2 boys:
Ds19
upgraded Samsung phone Galaxy S7
Otterbox case
Samsung fast charging pad
Season pass to our local Six Flags w/Dining Plan
some LLBean flannel pajama pants
3 shirts and down gloves from LLBean (had a great coupon!)
Bose earbuds
old movies he likes (Monte Python, etc.)
tire pressure gauge for his car
Ds16
BMX bike (not a surprise; he picked it out)
Season pass to our local Six Flags w/Dining Plan
LL Bean down gloves
2 sets of Skullcandy earbuds (he goes through them like water)
extra long charger cord for his phone (he always says the ones provided by manufacturer are too short)
2 Nike hoodies
Ralph Lauren baseball style cap
some LLBean flannel pajama pants
LLBean moccasin style slippers (I am considering returning these & getting new skater elbow & knee pads)
Vans sneakers
I also got them a portable Bluetooth speaker (JBL Charge 2+) because they keep "borrowing" mine but those will be from my parents and they'll reimburse me. They're always at a loss as to what to buy.
They really are not into clothes much and we're pretty flexible so if they decide to return something in order to get something else they like, that's fine by me.