I get good results with Zep all purpose carpet cleaner concentrate. I still like to pre-treat heavy traffic areas first. Best to spray carpet first, let it sit about 15 min. then go over just using agitation and extraction/rinse. Gives the detergent time to actually do it's work. If you use the machine to pre-spray the carpet, turn the motor off so you don't suck up the soap you just sprayed down!