For many years I bought my beloved shampoos and conditioners from The Body Shop. I didn't mind paying their prices because one bottle lasted me probably 6 months.
Now I have a teen daughter with long, thick hair who uses a LOT of shampoo in comparison

so I had to find something for both of us that's good, but affordable.
In the past several years I've tried lots and lots of different brands from the salon, the drugstore, and elsewhere, and nothing really compared to the Body Shop.
But finally, I found something that comes pretty close: Giovanni brand, which I can purchase right at
WalMart. (Generally costs $7.97 per bottle but is on sale occasionally for $6.97. It's sold elsewhere as well, and online, though prices may vary there. Target's price is over $8.)
Giovanni has several types of products but they also have a clarifying shampoo. I peeked at a few reviews online just now and the ones I saw were good. It is not sold in all WalMart stores, and it is not in the shampoo aisle, it's in the "next" aisle along with some of the "natural" products like Burt's Bees. This is what it looks like:
I think you'll like it!