Use US dollars. That is what they are used to and prefer. In fact even though we have been there many times and even while not on a cruise we have never even tried to give them local currency and would probably confuse them if we had. <>
I have been to Cozumel about 10 times. They LOVE american money. They hardly every give you change in american money though. They put all their american cash in a draw, pocket or somewhere so they won't have enough american cash to give you. Then they must give you peso
One thing I have noticed is want paper money over coins.
One thing to remember is they won't take torn, worn or marked bills.
Try to take plenty of 1, 5, 10 and 20 dollar bills. More 1's and 5's.
Hope this helps.
By the way i have never been anywhere on a cruise ship where american cash wasn't accepted.
Take nothing higher than a $20 for shopping. The street venders never have change for a $20. If they are selling something for $4 they might not have change for a $5.
Tell them you only have $3 and they will sell it for $3. You know how that goes.