Even water can cause hair dye to come off the hair so shampoo will fade your color over time. Using the right shampoo however can help to slow this process. It is better to use a shampoo designed for colored hair which is sulphate free in order to keep your color for longer.