First and foremost, do not harass customers for data. Endless form filling is enough to put a consumer off a purchase. Data collection has to be either unintrusive or incentivised. Collect data bit by bit to build up a full picture of your customer gradually.
From orders:
Obtain contact details and begin building a transaction history, whether on or offline (although online makes it easier as data can automatically be entered into a database).
If it is an online transaction, you can add an optional section requesting more information, phrasing it in a way that appeals to the customer. You can also use this technique if a customer has to register an account with you.
Record your customers’ purchases – if you are able to tag their purchase on your system and find out what a customer is buying, you can build a very valuable database of their buying patterns
Analyse the total sales data – you can analyse what products are selling in total (not by individual customer). This data can be used for promotions and marketing plans and also the buying plans for the next period
Analyse the individual customer data – once you have the data at customer level, you can analyse what each customer is buying. This data can be used for promotions and marketing to a specific customer segment; if they bought a product once, they are likely to buy it again
Make the customer feel happy – offer a discount, VIP event or special offers so the customer feels valued and continues to buy from your business give them a free coffee or cake every now and then
Different types of loyalty schemes that you may want to consider: