Here is how to make some pretty potent carpet cleaner.
1 Tablespoon White Vinegar
1 Tablespoon Clear Dishwashing Liquid
2 cups warm water
Your first dampen the dirty spots on your carpet with water. I just spritzed them with a water bottle. And then you pour a little baking soda on the stain.
Let baking soda absorb for 10 minutes and then vacuum.
Mix one tablespoon clear dishwashing liquid and one tablespoon white vinegar with two cups of warm water and pour into spray bottle.
Spray the stain and scrub with a scrub brush.
Then blot with a white rag until all the liquid is absorbed.
Now the only problem with this carpet stain remover was it cleaned too well. It cleaned so well that you can tell where the stains were and where I concentrated the baking soda and the vinegar/dishwashing solution. If you are using this homemade cleaner on an older carpet, I would feather out the baking soda and vinegar solution so that the new clean spots blend in with the areas you have not cleaned.