1. A computer system for selecting a version of a webpage to present to a user, the computer system comprising: one or more computer processors, one or more computer readable storage media, and program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising: program instructions to receive an indication of a user accessing the webpage, wherein the webpage includes a plurality of versions of the webpage, wherein the webpage is comprised of one or more modules, and wherein each version of the plurality of versions of the webpage comprises a different layout of the one or more modules; program instructions to retrieve a predefined goal associated with the webpage, wherein the predefined goal includes a higher number of sales, higher dollar amount per sale, length of time a user is on the webpage, and number of reviews written; program instructions to monitor usage information of the user accessing the plurality of versions of the webpage, based on the predefined goal associated with the webpage, wherein the usage information includes: cursor location, mouse clicks, idle time, HTML pages loaded, data accessed, widgets used, types of devices used to access the webpage, and presence of user interface artifacts; program instructions to generate a report that includes a collection of user characteristics, web analytics, and the monitored usage information; program instructions to store the monitored usage information of the plurality of versions of the webpage and the generated report; program instructions to receive a request to access the webpage from a device; program instructions to receive information about the device, wherein the information about the device includes: a device type, an Internet Protocol (IP) address, cookies, and a web browsing history; program instructions to access the monitored usage information of the plurality of versions of the webpage; program instructions to determine the version of the webpage of the plurality of versions of the webpage to present at the device, based on the information about the device, the predefined goal associated with the webpage, the monitored usage information, the generated report and user satisfaction information for the plurality of versions of the webpage, wherein the user satisfaction information comprises survey responses from the monitored accesses to the plurality of versions of the webpage; and program instructions to cause the determined versions of the webpage to be presented.