Use purple shampoo at every wash to keep any brassy tones away, I have a warm brown root with blonde high and low lights and keep the highlights looking cool by using purple shampoo every wash which is probably 5 days a week.
But my hair is only shoulder length, it's very difficult to keep long hair a lighter colour permanently as you will always overlap colour when you are redoing it. Which will eventually make it snap off. Especially when you are changing colours.
It looks much better now though.