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.
Pica is defined as a state whereby dogs eat things other than Food.
For example, eating dirt would be a pica disorder.