It's been a while since I bought new contact lenses, so I wanted to shop around thoroughly to make sure I got the best price.
I used eBates as my starting point. It gave me nine options for companies to buy contacts from. I narrowed these options down to four based purely on the price of a single box of contact lenses. The cheapest sites for my brand were Lens.com, ContactsAmerica.com, 1800GetLens.com, and JustLenses.com.
To find out the price with shipping, I had to begin a registration process for each site. Suspiciously, each of these four sites has an identical registration page. But the real clue that they are probably all the same company is the identical pricing for shipping of $7.95 and for "handling and insurance" of $6.36.
This hidden handling cost seems sketchy to me. It makes it more difficult to comparison shop across different contact lens websites and it's basically a charge for nothing. The $7.95 shipping charge is also inflated--it doesn't cost that much to ship two boxes of contact lenses, which weigh very little.
After all this comparison shopping, I decided to with 1800Contacts.com, which I've used before. The per-box price isn't the cheapest--it was $9 more per box, in fact--but shipping is free and there is no bogus handling charge. Also, I got 10% back through Shop Discover. If I didn't have a Discover Card, I could have gotten 5% back through eBates.
I paid $114 to place my order with 1800Contacts.com, and I'll get $1.14 in Discover Cash Back. I would have spent $112 at one of the other sites and gotten 5% cash back through eBates, or 56 cents. I actually spent slightly more by using 1800Contacts.com than I could have by using Lens.com, ContactsAmerica.com, 1800GetLens.com, or JustLenses.com, but would rather give my business to a reputable company that offers straightforward pricing. I also thought that if I needed to return my lenses for any reason, I could get a full refund (minus return shipping) since I hadn't paid $15 in bogus charges up front.