Our Pit Bull had a habit of yakking up almost every day, and the animal hospital down the street made a lot of money finding nothing that would explain why. They suggested we change his food, change his feeding times, spread out his feedings to decrease the amount of acid in his tummy, and finally, just accept that Pit Bulls have sensitive bellies.
Fuck a bunch of that.
We found an intelligent vet that cares about animals, and she suggested that he may have a food allergy. Her first guess was wheat flour, and the plan was to find a dog food and treat that didn't list wheat, see if he stopped puking, and go from there.
It worked - simple as that.
I have no need to bash one company or promote another, I just want to let you know what helped us. We were giving him Milk-Bones (which are wheat based) and found Nutro Ultra (which is brown rice.) We buy it from a chain pet store, and he hasn't stained the carpet since. Problem solved.
Dogs Rule the Night