I stop buying commercial brand to clean my carpet. Currently I am using my homemade Carpet odor remover when vacuuming. It gives me a fresh scent all over my house. I love it and I feel my house is way much better. Here is the recipe for my homemade:
1/2 cup baking soda
1 tablespoon of vinegar
10 drops of essential oil (you can find it at Walmart and the come in different kinds of scents)
You mix everything and just drop a little bit before you vacuum your carpet. Vinegar helps remove tough odor. The best thing about the essential oil is that I can choose any scents I like. This homemade is way cheaper than the commercial brand. Give it a try, let me know how it goes.