We will be going to both and would like any recommendations for these 2 cities. I don't want cheap I would like hand made, rugs and mosaics
Tangier is not a great tourist place. You won't find good deals on oriental carpets there. I lived in the Middle East for five years and have also been to Morocco. I was not impressed with what I saw for sale in Morocco. If you want to go to Morocco, visit Marrakesh or Fez.
Granada is wonderful, don't miss the Alhambra.
Shopping? I am not much of one, but didn't see anything particularly unique or authentic in Granada. You will definitely want to be careful of the one major 'ethnic' shopping alley Calle Caldereria Nueva....tooted for it's teterias (tea houses).
I suggest you research/google artisans for either city and arrange to buy directly from them. If you have time and something specific in mind, maybe they can arrange something for you.