I don't do it myself, but an EPOS system that I developed some of my clients has this built in at their request. From what I have heard from them it is effective in their sectors.
I hope this helps, Im sure someone will come along soon with personal experience.
Not sure how I will work it with my cart as its not built in but certainly something worth thinking about though. It could be quite time consuming if I have to do it manually.
I used to do it for my bricks and mortar shops and found it worked really well. Customers would literally drag their friends in to shop because this was added to their loyalty.