One or more non-transitory machine-readable media storing instructions which, when executed by one or more hardware processors, cause optimizing a webpage comprising a plurality of website content elements comprising:
- storing a plurality of variants of a first website content element of the plurality of website content elements, and storing a respective weighting for each variant of the plurality of variants of the website content element;
- causing display, within a web page, of (a) a particular variant of the plurality of variants of the first website content element and (b) a second website content element;
- determining a number of times that the particular variant was displayed based at least in part on said display of the first variant within the web page;
- receiving a first user-initiated action directed to the particular variant;
- determining an action count corresponding to a number of user-initiated actions directed to the particular variant based at least in part on the first user-initiated action;
- determining a ratio of (a) the action count corresponding to the number of user-initiated actions directed to the particular variant to (b) the number of times that the particular variant was displayed;
- adjusting the respective stored weighting of the particular variant based on the ratio of (a) the number of user-initiated actions directed to the particular variant to (b) the number of times that the particular variant was displayed;
- selecting the particular variant from among the plurality of variants for displaying the first website content element based on the adjusted respective stored weighting of the particular variant;
- and
- presenting the particular variant for displaying the first website content element.