Homemade carpet powder to the rescue!! It's cheap & it has not met an odor that it doesn't take care of.
All you need is baking soda & orange essential oil. You can use other essential oils if you like, but I like the orange. You can buy any room scent oil at Wal-Mart.
It is also nice to have an empty Parmesan cheese container, or some other shaker.
Mix the baking soda & several drops of the orange essential oil together in a bowl using a whisk. Then, spoon the mixture into your shaker.
Sprinkle onto your carpets - let it sit for about 15 minutes, then vacuum up.
Simple, thrifty, & works like a charm.