I have 3 cats 1 dog and a 6 month old puppy. I know about pet stains. I used to use Nature's Miracle, Get Serious, Kids N' Pets, they got pricey after a while. Now I use just plain ol' white vinegar and water. To help clean up stains. It's cheaper but a little bit stinky, but the smell doesn't last long.
I have a few yellow spots on my light beige carpeting. I asked a friend that lays carpet and he told me just to use straight hot water nothing else.
So I tried it on some old (2 years) yellow stains and you know what no more yellow stains and it's been a week. Let the spot dry completely before walking on it. I covered mine with a old vinyl tablecloth so that dirt didnt' soak into the damp spots.
That is just my two cents, on the subject.