IME you need to stop (as much as you can) from letting your feet get wet. For me, (and most of these are going to be personal), as everyone’s different and has differents points at which their feet get cold (natch)
from 8-4 degs, I can get away with regular SPD (I use Giro) and Sealskins, they’re a lot better and more robust than they used to be (like bags) and have a variety of sizes (from ankle to knee) the longer the better frankly ,and knits (both weight and wool mix) It’s sounds stupid and obvious, but making sure your feet are both warm and dry at the beginning of the ride, and not pulling on cold shoes does delay the on-set of cold feet for a good 1/2 hour for me.
Any lower than 4 degs, then it’s winter boots time, I use Northwave Celsius, they let very little water in, and with a good pair of warm wool socks, can delay soggy feet for hours, and if it’s dry-ish than my feet won’t get cold at all. I can pair them up with Sealskins if it’s biblical, but in those sorts of conditions, you’re going to be v lucky not to get sodden toes eventually.