Semi-permanent hair color lasts about four weeks or up to 28 shampoos. Permanent hair color lasts until the colored hair grows out, but recoloring is necessary every four to six weeks as the roots grow out.
To preserve hair color as long as possible, delay shampooing until it's necessary, and wash the hair in the coldest water possible, because hot water damages colored hair, according to Kristen Colòn for Huffington Post. Keeping colored hair out of direct sun also helps prevent color fading, as does using hair products that contain sunscreen. Adding a glaze while shampooing can help prolong the life of hair dye, Colòn states.