Mexico, especially small villages or towns ave the best shopping because you can always haggle the prices. There are usually ma and pa shops, local shops, street fairs and markets. The more commercialized the shop looks, the less chance of making a deal. Haggling the shop clerk is a delicate process. The shop clerks expect a bit of bargaining, but they will always give you a steep price at the beginning especially if they know you are American. Mexicans have the stereotype that you are rich because you are Americans or white. Who would not believe that, you are vacationing in their little town, right? It's a good assumption.
So, you need to make it an art to start the haggling process. Make sure it's something you really want to buy, then offer a price dramatically low. You will most likely not get it at the price you offered, they will work on getting you to a higher price but lower then their original offer. Hopefully, after a few back forth bantering, you both will come to a price you agree on. Maybe it will be higher then you wanted to pay but considerably lower then the first price offered by the clerk.