Bad Food. Your dog's dirt eating could actually be a search for minerals, vitamins or even good probiotic bacteria that he isn't getting in his diet.
"The dog is searching for the minerals that are missing when bones are not fed.
It usually resolves quickly once the diet is improved.