Detergent doesn't dispense.
Water will clean carpets but not very well. For the best results don't put any cleanser in your machine. Soap can clogged up the lines in your machine. When you have soap dispensed or in the water in your machine you are squirting it onto the carpet and sucking it back up at the same time...the soap and water isn't on the carpet long enough to clean well unless you keep going over the same area many times. To clean better it's really important to vacuum thoroughly going slowly in multiple directions to get as much dry, gritty soil and hair and dust out as possible, it's easy to get these soils out when the carpet is dry if your vacuum is working properly. Vacuum, vacuum, vacuum.
Get a spray bottle or sprayer and put hot tap water in it, add the cleaning solution to the hot water and spray enough on the carpets to get the face fibers damp...let the hot water solution sit on the carpets 5 or 10 minutes and then use your machine to clean and rinse the soap, water and loosened soils from the carpet fibers. Repeat if necessary. Your carpets will be cleaner because you allowed adequate dwell time for the soap and water to work on the sticky greasy soils attached to the carpet fibers and stay clean longer because the soap is rinsed out of the carpets. Your carpet cleaning machine will last longer too because the water lines, pumps, spray jets, heaters, etc can't get clogged with soap gunk if you don't put soap in it. The method I'm describing is how the best professional carpet cleaners clean carpets. Hiring a quality carpet cleaner cost more up front but the carpets may stay clean two or three times longer, saving a lot of money in the long run. If you clean your carpets using this dual process method you may do a better job with a small portable home or rented cleaner than hiring the average carpet cleaning professional who is trying to give you the lowest price.