A common misconception about carpet cleaning is that once you clean your carpet for the first time you are destined to clean it more and more over time. I'm not sure if people truly believe this myth... or they just say it to make themselves feel better about not maintaining their floors. Truth be told, the reason most people's carpet gets dirty so quickly after the initial cleaning is because the detergent being used either isn't fully rinsed out or it has resoiling properties.
A few things to consider before your next carpet cleaning...
1. How long has it taken for the carpet to dry after past cleanings? If the answer is more than 2-3 hours then your carpet cleaning service might not have equipment strong enough to fully rinse and remove the soap and dirt that's sitting in the fiber. SOLUTION: Make sure your service cleans their filters regularly and that they have a lot of suction power (CFM) coming through the vacuum tube. If you don't hear that hose "howling" then its very likely you're going to stay wet longer than necessary which will ultimately lead to rapid re-soiling. Also, make sure air-movers (fans) are used to keep the air circulating.
2. Ask what type of detergent and rinse your carpet cleaner is using and have them show it to you. There are many detergents used for basic carpet cleaning that aid in saponification (that's when the soap dislodges the dirt from the fiber). SOLUTION: Whether your carpet is filthy or only slightly dirty you should always stick with a chemistry that crystallizes when it dries. If it doesn't you will most likely leave sticky residue behind which attracts more dirt. A crystalline chemistry will encapsulate the dirt and anything that wasn't removed during the rinse will be suspended and removed during the next vacuuming.