Fraud is when you tell a lie to get business. It doesn't really matter if the victim can be blamed because they should have totally known better. Yes, if Walmart advertises ham for an impossibly low price and then proceeds to sell a product that's labeled ham but is actually 95% chicken by volume it's still fraud even if the customer should have known something was up.