The application of techniques to improve the data quality of an organization is traditionally costly since different specific tools are required. Potentially, cloud computing models could offer powerful solutions to reduce costs. However, some challenges remain in the widespread acceptance of cloud computing models because they require the sharing of business critical data. Therefore, services for data quality improvements in the cloud should act in compliance with predefined contracts. This paper extends previous works on the specification, selection and evaluation of service and data contracts. Moreover, a cloud-based architecture for data quality improvement that supports contract-based service selection is proposed. Experimental activities on a real scenario demonstrate the feasibility of the proposed solution.