一般來說,會造成狗狗吃屎的行為,能够略分為動物天性、行為反應和生理反應等三大因素。就動物天性來說,有照顧太小狗、小猫甚至小孩的人都知道,剛出生的小動物不會自己大小便,必須依靠母親一邊舔食一邊大小便,這除了能够保持環境清潔外,更能够防止味道外泄,防止引來別的動物的捕獵,以保護本身安全,囙此,只要狗狗覺得有威脅感時,常會吃掉自己的糞便以新增安全感。
此外,狗狗本身是以超級嗅覺來尋食,並以咬食的管道來檢視這些東西能不能吃,所以,有些狗狗會把屎這類有味道、又能够吃掉的東西定義為食物。若從行為反應來說,主人對狗狗施予錯的訓練,極易讓狗狗產生錯誤的反應。最多見的是當家長看到狗狗在不應大便的地方亂大便時,常會拉住狗狗的頭、強壓它的鼻子去聞大便,再對狗狗一番呵責甚至毆打,主人以為這樣的動作是告訴狗狗不能够亂大便;但對狗狗而言卻多是---主人進門、看到大便、生氣、抓住他、結局是被怒駡或毆打,換作我是狗狗,也會認為唯一能防止被罵或被打的方法,就是湮滅證據---吃掉自己的便便。
在一些狗中,這種行為是由生理反應引起的。尤其是當狗的消化吸收功能失調時,排泄物中會含有大量的蛋白質、碳水化合物等營養物質。鼻子敏感的狗會認為它的排泄物是食物,並吃了它。此外,如果狗有嚴重的胃腸道寄生蟲,它也會影響營養物質的吸收,使其不完全,使其含有大量的營養物質,狗肯定會把它當作食物。
若是狗狗營養不均衡,則可能在饑不擇食的情况下,出現吃大便的行為。有些家長因聽從狗販或他人建議,一天只餵食狗狗一餐,或對狗狗進行限食動作,使狗狗因饑餓而吃便便,而若因食物中缺少纖維、鹽類、鈷或磷等微量元素,造成狗狗沒法某些養份不足,只好回收自己的便便來獲取養份。