Three parts to this puzzle. Miss one, and nothing works.
Part 1: Whe you first buy the mask, ya goitta get rid of the silicone coating. Nice and shiny while its on the store display, but unless you go nucular on this coating, you'll never have a clear mask. This is the job or the toothpaste everyone talks about, or better yet, soft scrub. Clean it, rinse, then clean it a couple of more times.
Part 2: Before each dive: Use the stuff. Sure you can buy magic stuff for $7-8 per ounce, and when yo read the label it says Do Not Get in or Near Your Eyes! But baby shampoo or even Joy dishwashing liquid is just as good. Each and every dive.
Part 3: When do I use it? Here is the sneaky part. For baby shampoo or other goop to work, it has to be applied while the lens is dry, and better yet, a while before you dive. Way too many people dip the mask into the mask bucket on the boat, and THEN apply the goop. Too Late - there's no surface for the goop to cling to. If you are diving on Saturdfay morning, apply the goop Friday pm, and let it dry. Just before you dive on Saturday, wash it out, and your mask will stay crystal clear.
Remember to use all three parts, and you'll never have a foggy mask!