I've been buying from Zenni since 2008. Here are the things I've learned over the years.
1. Get your eyes examined. Get your current prescription. Very Important. Don't assume your vision has not changed. One eye exam per year is free according to the law. Take advantage of it.
While at the optometrist,
2. Get your pupillary distance measured. Use the tool that looks somewhat like a set of binoculars. Ask the sales people to measure your PD (pupillary distance). Write it down. There is usually an optical shop attached to the optometrists office where you can get this done the same day as your exam. Yes, you can measure your PD yourself and get decent results, but you can also mis-measure and not get it right.
3. Find a frame that correctly fits you. Go to an optical shop and browse frames (like the one attached to the opticians office while you are waiting for your exam.) I also like to go to a Wal Mart since you don't get attacked by sales people and they are also quite accommodating if you need to get your PD measured. Try on a bunch of frames to find a style you like, then zero in on the proper size. There are numbers stamped on the temple arm that gives you the frame size. The format is three numbers, like 52-18-135. Those numbers correspond to lens width - nose bridge width - temple arm length.
The most common mistake people make is to get lenses that are too wide. The pupils of your eyes should be centered within the side-to-side width of the lens. You should not have your pupils positioned far off-center in the width of the lens (a millimeter or two is OK.) Another mistake is buying frames that have temple arms that are too short. If they are too short they won't reach behind your ears and your glasses will not be secured to your head. You can always adjust longer temple arms to fit, but you can't make short temple arms fit. Another boo-boo is to get frames that have temple arms that rub against the side of your face.
Naturally if you have a set of glasses that fit you very well you could simply look for frames with the same measurements. But it might be instructive to start fresh.
4. Take a picture of yourself wearing a style that you like and that properly fits you. Immediately after taking each selfie, take a picture of the temple arms showing the frame sizes. Now you have a record for an eyeglass frame you like and its size. If you feel like you are mooching by trying on frames in the store with no intention of buying there, assuage your guilt by buying some lens cleaner and/or a microfiber cleaning cloth. I've found that buying some lens cleaner and immediately asking to have them measure your PD is a good way to get this measurement.
5. Go on the Zenni site and use their search tool to find frames that fit your face. I always start by plugging in the temple arm length, then the lens width. Then I put in the lens style, i.e. rectangular, round, etc. That winnows down the choices quite a bit. Now look for a similar style to the ones you liked in the store.
6. Figure out how to upload a photo of your face without glasses so you can use their frame visualization tool. It's worth the hassle because you can see how the glasses will look on your face.
7. Be aware that many glasses do not have adjustable nose pads. I find adjustable nose pads to be helpful in making the frames fit your face, but once you know what size you wear you can order frames without adjustable nose pads with confidence.
8. Be sure to check the weight of the frames. I prefer lightweight frames so it's an important parameter to me.
There is a slight learning curve to buying glasses online but once you learn the tricks you will save tons of money.