Customer Relationship Management (CRM) software is an application software aimed at creating a better relationship for firms with their customers through automating processes, defining staff roles and planning processes. CRM helps firms to anticipate the needs of their current and potential customers. CRM consists of mainly two versions - onsite/in-house CRM and online/hosted/web based CRM. Online CRM is considered a milestone in marketing fields as it helps to maximize a ‘small’ firm’s revenue, customer satisfaction, as well as retention and profitability. It is as advanced as onsite CRM but is cheaper and easier to implement, and is the best choice for small and medium businesses.