External motor encoder or motor encoder add on


I am currently using a pair of 5V dc motor with a gearbox. An exact example is in this website. http://www.ebay.com/itm/smart-Car-Robot-Plastic-Tire-Wheel-with-DC-3-6v-Gear-Motor-for-arduino-/400985432465

I am currently in need of an encoder for the motor or to the wheel for precise movements.

My DC motor is drive by a L293D driver using pwm. but because it is a dc motor, it does not have accurate movement cause slip.

What i need is advise on a suitable encoder. Or any encoder which i may use.