US20210109989A1 - Systems and methods for automatically generating and optimizing web pages - Google Patents
Systems and methods for automatically generating and optimizing web pages Download PDFInfo
- Publication number
- US20210109989A1 US20210109989A1 US17/132,509 US202017132509A US2021109989A1 US 20210109989 A1 US20210109989 A1 US 20210109989A1 US 202017132509 A US202017132509 A US 202017132509A US 2021109989 A1 US2021109989 A1 US 2021109989A1
- Authority
- US
- United States
- Prior art keywords
- web page
- performance data
- user
- versions
- web
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
Definitions
- the presently disclosed subject matter relates generally to methods and systems for generating web pages, and, more particularly, to methods and systems for automatically generating and optimizing web page layouts based on performance analytics and user preferred system metrics.
- various testing schemes including A/B, split, and multivariate testing are used on a web page to compare a baseline control web page to a plurality of test web page versions.
- such schemes require web pages to be manually generated by individuals.
- GOOGLE® provides a web site optimizer directs different search requests to different versions of a web page.
- each version of the web page must be manually created and uploaded to a server.
- aspects of the disclosed technology include systems and methods for generating and selecting web page layouts. Consistent with the disclosed embodiments, the methods may include: receiving code associated with a default web page; identifying one or more components of the default web page; identifying attributes of the one or more components of the default web page; associating the one or more components with at least one pre-set component type and at least one pre-set attribute type. Further, one or more web page preferences may be received. The processor may retrieve historical web site performance data. Based on the one or more user web page preferences, the historic web site performance data, and/or the parsed code associated with the default web page, a plurality of web page versions may be generated. The generated plurality of web page versions may be transmitted to respective web page visitors.
- Performance data associated with each of the plurality of web page versions may be collected, and analyzed by the processor.
- the performance data for at least one of the plurality of web page versions may be stored amongst the historical web site performance data. Based on the performance data, one of the plurality of web page versions may be selected as the default web page.
- the default web page is transmitted to each of the web page visitors.
- the historical performance data represents performance data of a plurality of previous web page versions. The historical performance data may be updated based on the performance data.
- the method may further include assigning a weight to each of the plurality of web page versions. The weight may represent a percentage of web site visitors who will receive transmittal of the respective web page version.
- the user may provide performance criteria. The performance criteria may be used to further analyze the performance data.
- the method may include outputting, for display, the performance data for each of the plurality of web page versions.
- Another example embodiment of the present disclosure may include a method for generating and selecting web page layouts based on performance analytics including: receiving data corresponding to a web page; and parsing, by a processor, the data corresponding to a web page. Further, the processor may historical web site performance data. The method may further include generating a plurality of web page versions based on the historical web site performance data and the parsed data corresponding to the web page. The generated plurality of web page versions may be transmitted to respective web page visitors. Performance data associated with each of the plurality of web page versions may be collected and analyzed. Based on the performance data, one of the plurality of web page versions may be selected as a default version of the web page.
- the method may include receiving one or more user web page preferences from a user. Generating the plurality of web page versions may be based on the one or more user web page preferences. According to some embodiments, the default version of the web page is transmitted to each of the web page visitors.
- the historical performance data may represent performance data of a plurality of previous web page versions.
- the method may further include updating the historical performance data based on the performance data.
- parsing the data corresponding to the web page may further include: identifying one or more components of the web page; identifying attributes of the one or more components of the web page; and associating the one or more components with at least one pre-set component type and at least one pre-set attribute type.
- the method may include assigning a weight to each of the plurality of web page versions.
- the weight may represent a percentage of web site visitors who receive transmittal of the respective web page version.
- the method may further include receiving performance criteria from a user. The performance criteria may be used to further analyze the performance data.
- the method may include outputting, for display, the performance data for each of the plurality of web page versions.
- receiving data corresponding to the web page includes receiving the data corresponding to the default version of the web page.
- the system may include one or more processors and a memory in communication with the one or more processors and storing instructions that, when executed by the one or more processors, are configured to cause the system to: receive data corresponding to a default web page; identify one or more components associated with the default web page; identifying attributes of the one or more components of the default web page; and associate the one or more components with at least one pre-set component type and at least one pre-set attribute type.
- the system may further include receiving one or more user web page preferences, and retrieving historical web site performance data.
- the system may generate a plurality of web page versions based on the historic web site performance data, the one or more user web page preferences, and parsed data corresponding to the web page.
- the generated plurality of web page versions may be transmitted to respective web page visitors.
- the system may collect and analyze performance data for the plurality of web page versions.
- the system may store the performance data for at least one of the plurality of web page versions. Based on the performance data, the system may select one of the plurality of web page versions as the default web page.
- the default web page is transmitted to each of the web page visitors.
- the system may receive performance criteria from a user.
- the performance data may be further analyzed based on the performance criteria.
- FIG. 1 is a diagram of an example environment that may be used to implement one or more embodiments of the present disclosure.
- FIG. 2 is an example of a process flow diagram of a method for generating and selecting web page layouts based on performance analytics.
- FIG. 3 is an example timing diagram for generating and selecting web page layouts based on performance analytics.
- FIG. 4 is an example flow chart of a method for generating and selecting web page layouts based on performance analytics.
- FIG. 5 is a process flow diagram of a method for generating and selecting web page layouts based on performance analytics.
- FIG. 6 is a block diagram of an example computer system that may implement certain aspects of the present disclosure.
- a user may select a web page for multivariate testing.
- the user selection may include identifying a uniform resource locator (URL) (e.g., on a user device (e.g., laptop, smartphone)).
- URL uniform resource locator
- a user may provide the URL, user web page preferences, and/or performance criteria to an application associated with the user device.
- the user device transmits the information received at the application to a processor associated with a web server.
- the processor associated with the web server accesses and parses the code associated with the web page.
- the web page may contain components including, as non-limiting examples, banners, input boxes, images, and scripts.
- the processor identifies the components and associates the components with at least one pre-set component type.
- a text box may be associated with a radial text box (a pre-set component type).
- the processor may also retrieve data associated with previous performance of similar versions of the web page.
- the processor may generate a plurality of web page versions based on the web page preferences, the previous performance of similar versions of the web page, and the parsed code of the default web page.
- the plurality of web page versions are then transmitted to respective web site visitors such that each web page version is transmitted only to a certain portion of web site visitors. For instance, a weight may be assigned to each web page version with the weight representing a pre-determined percentage of web site visitors who will receive that version of the web page.
- the performance (e.g., as defined by various web page analytics) of each web page version is analyzed and calculated. For example, the click-through rate for each web page version may be calculated and compared against other web page versions. The results of the comparison along with the associated components may be stored in a database amongst other previous performances of versions of the web page.
- the processor may select a web page version as the default web page according to the web page version having performance data most consistent with user provided performance criteria. For example, the user may select an option such as the average time spent on a web page as a primary performance criteria. In that instance, the web page version having the longest average visit time per user may be selected as the default web page.
- the default web page may be transmitted to all (or a majority/plurality of) future web site visitors.
- FIG. 1 shows an example environment 100 that may implement certain aspects of the present disclosure.
- the environment 100 includes one or more visitor computing devices 110 a , 110 b and 110 c , one or more user devices 120 which include one or more applications and/or application programming interfaces (e.g., APIs) 122 and one or more processors 124 , and one or more web servers 140 including one or more processors 142 and one more databases 144 .
- the visitor computing devices 110 a , 110 b , 110 c , the one or more user devices 120 , and the one or more web servers 140 may communicate over network 130 .
- the one or more computing devices 110 a , 110 b , and 110 c may be a personal computer, a smartphone, a laptop computer, a tablet, or other personal computing device.
- the network 130 may include a network of interconnected computing devices more commonly referred to as the internet.
- the web server 140 may include one or more physical or logical devices (e.g., servers).
- the user device 120 may run and display one or more applications and the related output(s) of one or more applications (APIs) 122 .
- the user device 120 may include a processor 124 which transmits and receives data.
- An example computer architecture that may be used to implement one or more of the computing device 110 a - 110 c the user device 120 and the web server 140 is described below with reference to FIG. 6 .
- the user device 120 may include one or more APIs 122 .
- the one or more applications 122 may receive user input data from a user.
- the user input data may include a URL and/or an IP address of a default web page.
- the user input data may also include the code associated with a web page (e.g., HTML, JavaScript, CSS, CGI, ASP, PHP).
- the user input data may user web page preferences and/or performance criteria.
- the user web page preferences may include, as non-limiting examples, preferred layouts, color schemes, fonts, font sizes, input boxes, frames, web links, images, interactive media, and/or the like.
- the performance criteria may include click analytics (e.g., amount of clicks for a given link, comparative analysis of clicks amongst multiple links), views per page, number of visitors for a given page, average time spent per user on a given page, and/or the like.
- the user device 120 may display, via one or more applications 122 , performance data of a plurality of web page versions.
- the user device 120 may receive the performance data from a processor 142 associated with web server 140 .
- the user device 120 may include one or more processors 124 .
- the one or more processors 124 may receive user inputted data from the one or more applications 122 , and output for transmission, user inputted data, through the network 130 and to the web server 140 .
- the web server 140 receives the user input from the user device 120 through the network 130 .
- a processor 142 associated with web server 140 may receive a user input from the user device 120 .
- the user input may include a default web page URL, code associated with a default web page, user web page preferences, performance criteria, and/or the like.
- the web server 140 does not host the default web page.
- the web server 140 may receive user inputs including a default web page URL, code associated with a default web page, user web page preferences, performance criteria, login credentials for the host server, and/or the like.
- the web server 140 may access the host server with the login credentials.
- the processor 142 associated with the web server 140 may parse the code associated with default web page.
- parsing the code may include identifying one or more components of the default web page. Identifying the components of the web page may further include performing image analysis on a rendered version of the web page. For example, image analysis may include identifying various components of web page the web page by rendering the web page based on visually identifiable attributes (e.g., images or logos), and further associating the attributes with the components.
- visually identifiable attributes e.g., images or logos
- the one or more components of the default web page may include an image, an input box, a frame, a web link, and/or the like.
- the processor 142 may further identify attributes of the one or more components. For example, the processor 142 may identify, as an attribute, the component's color(s) or the maximum number of characters allowed in an identified input box. Additional component attributes may include interactivity (e.g., action that occurs on mouseover such as fade in/out), interaction of different components (e.g., typing in one text box may cause an image box to change pictures).
- the processor 142 may associate the one or more components with the at least one pre-set component type.
- the processor 142 may retrieve historical web site performance data from a database 144 associated with the web server 140 .
- the historical web site performance data may include performance data associated with various modifications to previous web page versions.
- the processor 142 may generate a plurality of web page versions.
- the processor 142 may generate the plurality of web page versions based on one or more user preferences, the historical web site performance data, the parsed code associated with the default web page, and/or the like. For example, if the user wants to try out different types of logos, the processor 142 may loop through each logo. Additionally, the processor 142 may perform clustering on the logo to categorize which group the logo belongs and to optimize use of the logo based on the group. For example, if a user has a logo that includes a dog, a cat, and a skyscraper, the clustering will bind dog and cat to animals, and skyscraper to buildings.
- the processor 142 may analyze, based on historical web site performance data, how logos with animals and buildings have performed. Further, image analysis may be conducted based on an image size and contrast. For instance, if a user has a plurality of dark images, the optimal background might be a light color to complement the images. In some cases, these different factors may be weighted such that generating the plurality of web page versions may vary according to weights associated with (e.g., user or automatically assigned) the user preference(s), search terms, and/or the like. For example, a user may assign the one or more web page preferences a weight of 70% and the historical web site performance data a weight of 30%.
- the processor 142 may transmit, through network 130 and to the one or more computing devices 110 a , 110 b and 110 c , respective versions of the plurality of web page versions to respective web page visitors (i.e., corresponding to the respective visitor computing devices 110 a , 110 b , and 110 c ).
- a weight Prior to transmitting the plurality of web page versions to respective web page visitors, a weight may be assigned to each of the plurality of web page versions, wherein the weight represents a percentage of web site visitors who will receive transmittal of the respective web page version.
- the web server 140 loads the plurality of web page versions on a host server along with instructions to transmit the plurality of web page versions to respective web site visitors.
- the processor 142 may collect performance data associated with each of the plurality of web page versions. Collecting performance data may be accomplished by accumulating data received at the web server 140 from the computing devices 110 a , 110 b , and/or 110 c . In certain embodiments, collecting performance data may involve the web server 140 accessing the host server and retrieving performance data collected by the host server. The performance data may include click-rates, hits, impressions, unique impressions, user engagement, and/or the like. The processor 142 may analyze the performance data associated with each of the plurality of web page versions.
- Analyzing the performance data may include identifying trends or patterns amongst the performance data and the corresponding web page versions, categorizing the performance data of each of the plurality of web page versions based on similarity of the data, comparing the performance data of each of the plurality of web versions against user inputted performance criteria, and/or the like.
- the web server 140 may store the performance data for at least one of the plurality of web page versions amongst the historical web site performance data within the database 144 .
- the processor 142 may select one of the plurality of web page versions as the default web page based on the performance data.
- Selection based on the performance data may involve identifying the web page version having performance data closest to a pre-identified ideal performance data amount, the web page version having performance data closest to user inputted performance criteria, and/or a combination of the two (e.g., optimized or pareto optimized).
- the selected default web page may be transmitted, by the processor 142 , to each of the web page visitors.
- the one or more computing devices 110 a , 110 b , and/or 110 c may receive a respective version of the plurality of web page versions from the web server 140 in response to requesting access to the web page.
- Each of the plurality of web page versions may include code (e.g., HTML, JavaScript, CSS, CGI, ASP, PHP) associated with the web page.
- the one or more computing devices 110 a , 110 b , and/or 110 c may transit, via the network 130 and to the web server 140 , performance data associated with a user interaction with one of the plurality of web page versions.
- Details of the user interaction with the respective web page version may include click-through-rate, links visited within the web site, the total amount of time spent on the web site, the amount of time spent on each page of the web site, and/or the like.
- the one or more computing devices 110 a , 110 b , and/or 110 c may each receive the default web page from the web server 140 .
- user interaction with the default web page may be transmitted, via the network 130 and to the web server 140 , as performance data.
- FIG. 2 illustrates an example process flow diagram of a method for generating and selecting web page layouts based on performance analytics.
- the user device 120 provides the default web page to the web server 140 .
- the application 122 associated with the user device 120 may receive the URL and/or the default web page code.
- Providing the default web page may include providing the web page URL and/or the code associated with the default web page to the web server 140 .
- the user device 120 may transmit, via the processor 124 , the URL and/or the code associated with the default web page to the web server 140 through network 130 .
- the web server 140 may retrieve the code associated with the default web page.
- the web server 140 may analyze web page data of the default web page. Analyzing web page data of the default web page may involve parsing the code of the default web page and identifying aspects of the code. In some embodiments, identifying aspects of the code may include identifying one or more components of the code. For example, the one or more components may include images, text boxes, interactive media, frames, and/or the like. The web server 140 may further identify attributes of the one or more components. An attribute of the one or more components may include a maximum number of characters allowed for a text box component. The web server 140 may associate the identified one or more components with at least one identified attribute. For instance, a component may be recognized as a text box having an attribute of one hundred and forty maximum characters.
- the web server 140 may retrieve historical web site performance data.
- the historical web site performance data may include web analytics associated with previous versions of the default web page.
- the performance data may include specific characteristics of web page versions and/or specific attributes of components of web page versions (e.g., size, color, and/or title of fonts).
- the performance data may include hits, impressions, clicks, click-through-rates, views, unique views, average user engagement time, and/or the like.
- the user may input web page preferences into the user device 120 through the application 122 .
- the application 122 may transmit the user web page preferences to processor 124 , which outputs for transmission the web page preferences to web server 140 .
- User web page preferences may include indications of layouts, color schemes, fonts, font sizes, input boxes, frames, web links, images, interactive media, and/or the like.
- the web server 140 via processor 142 may generate a plurality of web page versions, at 225 . Generating the plurality of web page versions may be based on the parsed code of the default web page, the one or more user web preferences, and/or the historical web site performance data.
- a user may input the weight of each of the aforementioned variables in generating the plurality of web page versions.
- an algorithm may randomly decide the weight of the variables involved in generating the plurality of web page versions.
- a pre-set weight may be assigned to each variable. According to some embodiments, the weight assigned to each variable may vary amongst the plurality of web page versions.
- the web server 140 may output for transmission the plurality of web page versions to the one or more computing devices 110 a , 110 b , and/or 110 c .
- the processor 142 may output for transmission one of the plurality of web page versions to each of the one or more computing devices 110 a , 110 b , and/or 110 c .
- Outputting the plurality of web page versions may involve transmitting respective versions of the plurality of web page versions to each of the one or more computing devices 110 .
- Outputting the plurality of web versions may further involve transmitting code (e.g., HTML, JavaScript, CSS, CGI, ASP, PHP) associated with the respective versions of the plurality of web page versions to each of the one or more computing devices 110 .
- code e.g., HTML, JavaScript, CSS, CGI, ASP, PHP
- a weight may be assigned to each of the plurality of web page versions, wherein the weight represents a percentage of web site visitors receiving transmittal of the respective web page version. Accordingly, the number of web site visitors receiving each of the plurality of web page versions may vary.
- the web server 140 may host the default web page and/or the plurality of web page versions.
- the web server 140 may transmit the code associated with the plurality of web page versions to one or more external servers (e.g., web hosting servers) that host the plurality of web page versions. In this case, the web server 140 indirectly outputs the web page versions to one or more computing devices 110 a . 110 b , and/or 110 c through the one or more external servers.
- the computing devices 110 a , 110 b , and/or 110 c each receive one of the plurality of web page versions.
- the web server 140 collects the performance data of the plurality of web page versions, at 240 .
- collecting the performance data may involve tracking user interactions with the plurality of web page versions. User interactions may occur via engagement with at least one of the plurality of web page versions via the one or more computing device 110 a - c .
- the web server 140 may track a user or users individually and/or collectively.
- the web server 140 may collect, as performance data, the number of visits to each of the plurality of web page versions, the time of engagement per user, and/or the like.
- the web server 140 may communicate with the server(s) responsible for hosting the plurality of web page versions.
- the host server may track the performance data associated with the plurality of web page versions received by the computing devices 110 a , 110 b , and/or 110 c .
- the communication may involve a request by the web server 140 for performance data from the host server.
- the web server 140 may receive performance data from the host server.
- the web server 140 stores the performance data as historical web site performance data.
- the performance data is stored at the database 144 .
- the web server may analyze the performance data of the plurality of web versions, at 250 .
- the processor 142 may analyze the performance data of the plurality of web page versions. Analyzing the performance data may include identifying correlations amongst the data and categorizing the performance data. Categorizing the performance data may be performed according to various performance criteria. The performance criteria may be user inputted and/or received through an algorithm. Accordingly, at least in part based on the performance criteria, the processor 142 selects one of the plurality of web page versions as the default web page, at 255 .
- the processor 142 outputs for transmission the default web page version. Outputting the default web page version may include transmitting the code associated with the default web page to all web site visitors. Therefore, at 265 , the computing devices 110 a , 110 b , and/or 110 c will receive the default web page version.
- FIG. 3 is a timing diagram for generating and selecting web page layouts based on performance analytics according to an example embodiment.
- a user via user device 120 provides the default web page to the web server 140 .
- Providing the default web page may involve the user device 120 outputting for transmission a URL and/or code (e.g., HTML, JavaScript, CSS, CGI, ASP, PHP) associated with the default web page to the web server 140 .
- the processor 142 may analyze web page data associated with the default web page. Analyzing web page data may include parsing, by the processor 142 , the code associated with the default web page.
- Parsing the code associated with the default web page may involve the processor 142 identifying one or more components and attributes of the one or more components of the default web page. Further, the processor 142 may associate the one or more components with at least one pre-set component type and at least one pre-set attribute type. For example, a radial button may be identified as a component with a default value as an attribute.
- the user device 120 receives user web page preferences.
- a user may input user web page preferences via the application 122 associated with the user device 120 .
- User web page preferences may include preferred layouts, color schemes, fonts, font sizes, input boxes, frames, web links, images, interactive media, and/or the like.
- the processor 142 may retrieve historical web site performance data from the database 144 , at 325 .
- the processor 142 based on the parsed web page code, the user web page preferences and/or the historical web site performance data (variables), the processor 142 generates a plurality of web page versions.
- Generating the plurality of web page versions may be performed according to an algorithm with a pre-set weight assigned to each variable and/or by randomly generated weights assigned to each variable. Generating the plurality of web page versions may further involve a user input that assigns weights to each of the variables.
- the processor 142 outputs, for transmission, code associated with one of the plurality of web page versions to the one or more computing device 110 a - c .
- the one or more computing device 110 a - c transmits performance data to the web server 140 , at 340 .
- the performance data may include user engagement with the web page version.
- the performance data may include the web links clicked by the user, the time spent on each page of the web site, interactive media selected by the user, fields where the user entered input, and/or the like.
- Steps 345 and 350 , and 355 and 360 may be performed substantially similar to steps 335 and 340 as described above.
- the user may provide the user device 120 with performance criteria via application 122 .
- the performance criteria may be the web analytics most desirable to the user.
- the user device 120 transmits the performance criteria to the web server 140 .
- the user device 120 transmits the performance criteria to the processor 142 .
- the processor 142 analyzes the performance data. Analyzing the performance data may include identifying correlations and/or categorizing the data.
- the performance data may be stored as historical performance data at the database 144 .
- the processor 142 may select the default web page version from amongst the plurality of web page versions based on the performance data, at 380 . Selecting based on the performance data may include receiving performance criteria from the user device 120 (not shown) and choosing one of the plurality of web page versions as the default web page based on the performance data most closely resembling the performance criteria.
- FIG. 4 is a flow chart of a method for generating and selecting web page layouts based on performance analytics according to an example embodiment.
- the web server 140 receives web page data of a default web page version of a web page.
- the web page data may be provided by a user from user device 120 .
- the web page data may include a URL and/or code associated with the default web page.
- the web page data associated with the default web page is analyzed.
- the web server 140 and/or the processor 142 may analyze the data. Analyzing the data may include parsing the code associated with the default web page to identify one or more components and one or more attributes of the code.
- Analyzing may further include associating the one or more components with at least one pre-set component type and at least one pre-set attribute type.
- a user may provide one or more web page preferences to the user device 120 .
- the user device 120 may output, for transmission, the one or more user web page preferences to the web server 140 .
- the processor 142 retrieves historical web site performance data from the database 144 .
- the historical performance data may include performance data of one or more previous default web pages and/or a plurality of web page versions.
- the processor 142 generates a plurality of web page versions. Generating the plurality of web page versions may be based on any combination of the parsed code of the default web page, the user web page preferences, and/or the historical web site performance data. After generating the plurality of web page versions, at 412 , the processor 142 outputs, for transmission, respective versions of the plurality of web page versions to respective visitors of the web page. Each of the plurality of web page versions may be assigned a weight where the weight represents the percentage of web page visitors who will receive the respective web page version. At 414 , the processor 142 collects performance data associated with each of the plurality of web page versions. In some embodiments, the web server 140 may host each of the plurality of web page versions.
- the performance data associated with each of the plurality of web page versions may be located on the web server 140 .
- each of the plurality of web page versions may be located on a server not associated with web server 140 .
- retrieving performance data may involve communication between the web server 140 and the server hosting the plurality of web page versions.
- the web server 140 may transmit a request for performance data and in response, the host server may transmit the performance data to the web server 140 .
- the processor 142 analyzes the performance data of each of the plurality of web page versions.
- the processor 142 may analyze the performance data based on identified correlations and categorized data. For example, the processor 142 may categorize the plurality of web page versions based on average user engagement time. As another example, the processor 142 may identify, as a correlation, a given layout with providing a higher click-through rate.
- analyzing the performance data may be based on user provided performance criteria. For instance, a user may rank and submit via user device 120 several performance categories to the processor 142 . In response, the processor 142 may categorize the performance data according to the user submitted performance criteria.
- the processor 142 selects one of the plurality of web page versions as the default web page version. Selecting the default web page version may be based on, at least in part, the user submitted performance criteria. According to some embodiments, selecting the default web page version may be based on identifying the one of the plurality of web page versions having a value closest to a pre-determined amount and/or user submitted performance criteria.
- FIG. 5 illustrates an example process flow diagram of a method for generating and selecting web page layouts based on performance analytics.
- the user creates a default web page.
- the user may generate the default web page using an application 122 associated with user device 120 .
- the user may identify the default web page which has been created previously.
- the default web page may be analyzed.
- code associated with the default web page e.g., HTML
- parsed e.g., by the processor 142 associated with web server 140 . Parsing the code associated with the default web page may include identifying one or more components and/or or one more attributes of the default web page.
- the processor 142 may associate the one or more components with at least one pre-set component type and at least one pre-set attribute type.
- the user may input web page preferences into an application 122 associated with the user device 120 .
- the user may input the web page preferences into a web portal associated with the user device 120 .
- the user device 120 may transmit the web page preferences to the web server 140 .
- historical records of web site layout performance are retrieved from the database 144 .
- the database 144 is queried for metadata corresponding to at least one of the previous web page versions at 525 a , 525 b , and/or 525 c .
- Web page versions of the web page are reconstructed based on, at least in part, the default web page and the web site metadata at 530 a , 530 b , and/or 530 c .
- each respective web page version is displayed to a plurality of web site visitors.
- the processor 142 executes the multi-arm bandit algorithm for each of the respective web page versions (e.g., the default web page version and the reconstructed web pages).
- the historical performance data is updated.
- the historical records of web site layout performance may be stored at database 144 .
- the processor 142 may output, for transmission, results associated with each of the web page versions to the user device 120 .
- the user device 120 may display the results via a dashboard, at 550 .
- the web page version with the preferred performance data is set as the default web page.
- the performance data may be a category of user interaction (e.g., time on page, click-through rate, completed purchases) sought to optimize through the web page versions and the multi-arm bandit algorithm.
- the default web page (the winning web page version) may be transmitted to each web site visitor or a majority of web site visitors.
- selecting the default web page version may require a confirmation by the user.
- FIG. 6 is a block diagram of an example computer system 600 that may implement certain aspects of the present disclosure.
- the computer system 600 may include a set of instructions 626 for controlling operation of the computer system 600 .
- the computer system 600 may be connected (e.g., networked) to other machines in a Local Area Network (LAN), an intranet, an extranet, a satellite communications system, or the Internet.
- the computer system 600 may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
- the computer system 600 may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a server, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
- PC personal computer
- PDA Personal Digital Assistant
- STB set-top box
- a cellular telephone a web appliance
- server a server
- network router switch or bridge
- any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
- machine shall also be taken to include any collection of machines (e.g., computers) that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
- the computer system 600 includes a processing device 602 , a main memory 604 (e.g., read-only memory (ROM), flash memory, dynamic random-access memory (DRAM) such as synchronous DRAM (SDRAM), etc.), a static memory 606 (e.g., flash memory, static random-access memory (SRAM), etc.), and a secondary memory 616 (e.g., a data storage device), which communicate with each other via a bus 608 .
- main memory 604 e.g., read-only memory (ROM), flash memory, dynamic random-access memory (DRAM) such as synchronous DRAM (SDRAM), etc.
- DRAM dynamic random-access memory
- SDRAM synchronous DRAM
- static memory 606 e.g., flash memory, static random-access memory (SRAM), etc.
- secondary memory 616 e.g., a data storage device
- the processing device 602 represents one or more general-purpose processing devices such as a microprocessor, a microcontroller, a central processing unit, or the like.
- the processing device 602 may be a reduced instruction set computing (RISC) microcontroller, a complex instruction set computing (CISC) microprocessor, a RISC microprocessor, very long instruction word (VLIW) microprocessor, a processor implementing other instruction sets, or one or more processors implementing a combination of instruction sets.
- the processing device 602 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like.
- the processing device 602 is configured to execute the operations for electronically creating and trading derivative products based on one or more indices relating to volatility.
- the computer system 600 may further include a network interface device 622 , which is connectable to a network 130 .
- the computer system 600 also may include a video display unit 610 , i.e., a display (e.g., a liquid crystal display (LCD), a touch screen, or a cathode ray tube (CRT)), an alphanumeric input device 612 (e.g., a keyboard), a cursor control device 614 (e.g., a mouse), and a signal generation device 620 (e.g., a speaker).
- a display e.g., a liquid crystal display (LCD), a touch screen, or a cathode ray tube (CRT)
- an alphanumeric input device 612 e.g., a keyboard
- a cursor control device 614 e.g., a mouse
- a signal generation device 620 e.g., a speaker
- the secondary memory 616 may include a non-transitory storage medium 624 on which is stored one or more sets of instructions 626 for the computer system 600 representing any one or more of the methodologies or functions described herein.
- the instructions 626 may include instructions for implementing an asset tracking device including a power source and power management system or subsystem for a container or a trailer.
- the instructions 626 for the computer system 600 may also reside, completely or at least partially, within the main memory 604 and/or within the processing device 602 during execution thereof by the computer system 600 , the main memory 604 and the processing device 602 also constituting computer-readable storage media.
- storage medium 624 is shown in an example to be a single medium, the term “storage medium” should be taken to include a single medium or multiple media that store the one or more sets of instructions for a processing device.
- storage medium shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine that cause the machine to perform any one or more of the methodologies of the disclosure.
- storage medium shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media.
- a web site owner seeks to improve the click-through rates for web links on his web site.
- the web site owner inputs the URL of his web site and login credentials associated with the server hosting his web site into an app (e.g., application 122 ) on his laptop (e.g., user device 120 ) that is connected to the internet (e.g., network 130 ).
- the host server e.g., web server 140
- the host server verifies the user credentials and the associated URL.
- the web page code associated with the URL is parsed.
- elements including the web links, images, and text boxes are identified.
- the layout of the elements is also determined by parsing the web page code.
- the web site owner selects a color scheme and a layout.
- the server combines the parsed web page code, the selected color scheme and layout, and previous data associated with the web page to generate several versions of the web page.
- each visitor receives one of the several versions of the web page.
- Each visitor engagement with the several versions of the web page is tracked and stored.
- the server analyzes each version of the web page to determine which has the best click-through rate.
- the web page version with the highest click-through rate is set as the default web page. Accordingly, all web page visitors entering the web page URL will receive the default web page.
- the owner of an e-commerce web site is seeking to increase her checkout rate.
- the owner using her smartphone accesses an app (e.g., application 122 ) for designing and testing alternate versions of a web page.
- an app e.g., application 122
- the user device transmits the inputted data to a server (e.g., web server 140 ).
- the server parses the web page code associated with the owner's web site.
- the server also accesses data associated with previous versions of the owner's web site.
- the server Combining the parsed web page code, the web page design preferences and data associated with previous versions of the owner's web site, the server generates multiple versions of the owner's web site. Now, when respective web site visitors enter the web page URL, each visitor receives one of the multiple versions of the web page. The server collects performance data associated with the multiple versions of the owner's web page. Next, the server selects the version of the web site generating the highest checkout rate as the default web page. Accordingly, all web page visitors entering the web page URL will receive the default web page.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- This application is a continuation of, and claims priority under 35 U.S.C. § 120 to, U.S. patent application Ser. No. 16/204,054, filed Nov. 29, 2018, the entire contents of which is fully incorporated herein by reference.
- The presently disclosed subject matter relates generally to methods and systems for generating web pages, and, more particularly, to methods and systems for automatically generating and optimizing web page layouts based on performance analytics and user preferred system metrics.
- In the related art, various testing schemes including A/B, split, and multivariate testing are used on a web page to compare a baseline control web page to a plurality of test web page versions. However, such schemes require web pages to be manually generated by individuals. For example, GOOGLE® provides a web site optimizer directs different search requests to different versions of a web page. However, each version of the web page must be manually created and uploaded to a server.
- Accordingly, there is a need for improved systems and methods for generating and testing a plurality of web page versions.
- Aspects of the disclosed technology include systems and methods for generating and selecting web page layouts. Consistent with the disclosed embodiments, the methods may include: receiving code associated with a default web page; identifying one or more components of the default web page; identifying attributes of the one or more components of the default web page; associating the one or more components with at least one pre-set component type and at least one pre-set attribute type. Further, one or more web page preferences may be received. The processor may retrieve historical web site performance data. Based on the one or more user web page preferences, the historic web site performance data, and/or the parsed code associated with the default web page, a plurality of web page versions may be generated. The generated plurality of web page versions may be transmitted to respective web page visitors. Performance data associated with each of the plurality of web page versions may be collected, and analyzed by the processor. The performance data for at least one of the plurality of web page versions may be stored amongst the historical web site performance data. Based on the performance data, one of the plurality of web page versions may be selected as the default web page.
- In some embodiments, the default web page is transmitted to each of the web page visitors. According to some embodiments, the historical performance data represents performance data of a plurality of previous web page versions. The historical performance data may be updated based on the performance data. The method may further include assigning a weight to each of the plurality of web page versions. The weight may represent a percentage of web site visitors who will receive transmittal of the respective web page version. The user may provide performance criteria. The performance criteria may be used to further analyze the performance data. In some embodiments, the method may include outputting, for display, the performance data for each of the plurality of web page versions.
- Another example embodiment of the present disclosure may include a method for generating and selecting web page layouts based on performance analytics including: receiving data corresponding to a web page; and parsing, by a processor, the data corresponding to a web page. Further, the processor may historical web site performance data. The method may further include generating a plurality of web page versions based on the historical web site performance data and the parsed data corresponding to the web page. The generated plurality of web page versions may be transmitted to respective web page visitors. Performance data associated with each of the plurality of web page versions may be collected and analyzed. Based on the performance data, one of the plurality of web page versions may be selected as a default version of the web page.
- In some embodiments, the method may include receiving one or more user web page preferences from a user. Generating the plurality of web page versions may be based on the one or more user web page preferences. According to some embodiments, the default version of the web page is transmitted to each of the web page visitors. The historical performance data may represent performance data of a plurality of previous web page versions. The method may further include updating the historical performance data based on the performance data. In some embodiments, parsing the data corresponding to the web page may further include: identifying one or more components of the web page; identifying attributes of the one or more components of the web page; and associating the one or more components with at least one pre-set component type and at least one pre-set attribute type. According to some embodiments, the method may include assigning a weight to each of the plurality of web page versions. The weight may represent a percentage of web site visitors who receive transmittal of the respective web page version. The method may further include receiving performance criteria from a user. The performance criteria may be used to further analyze the performance data. In some embodiments, the method may include outputting, for display, the performance data for each of the plurality of web page versions. According to some embodiments, receiving data corresponding to the web page includes receiving the data corresponding to the default version of the web page.
- Another example embodiment of the present disclosure may include a system for measuring user and system metrics. The system may include one or more processors and a memory in communication with the one or more processors and storing instructions that, when executed by the one or more processors, are configured to cause the system to: receive data corresponding to a default web page; identify one or more components associated with the default web page; identifying attributes of the one or more components of the default web page; and associate the one or more components with at least one pre-set component type and at least one pre-set attribute type. The system may further include receiving one or more user web page preferences, and retrieving historical web site performance data. The system may generate a plurality of web page versions based on the historic web site performance data, the one or more user web page preferences, and parsed data corresponding to the web page. The generated plurality of web page versions may be transmitted to respective web page visitors. The system may collect and analyze performance data for the plurality of web page versions. The system may store the performance data for at least one of the plurality of web page versions. Based on the performance data, the system may select one of the plurality of web page versions as the default web page.
- In some embodiments, the default web page is transmitted to each of the web page visitors. According to some embodiments, the system may receive performance criteria from a user. The performance data may be further analyzed based on the performance criteria.
- Further features of the disclosed design, and the advantages offered thereby, are explained in greater detail hereinafter with reference to specific example embodiments illustrated in the accompanying drawings, wherein like elements are indicated be like reference designators.
- Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and which are incorporated into and constitute a portion of this disclosure, illustrate various implementations and aspects of the disclosed technology and, together with the description, serve to explain the principles of the disclosed technology. In the drawings:
-
FIG. 1 is a diagram of an example environment that may be used to implement one or more embodiments of the present disclosure. -
FIG. 2 is an example of a process flow diagram of a method for generating and selecting web page layouts based on performance analytics. -
FIG. 3 is an example timing diagram for generating and selecting web page layouts based on performance analytics. -
FIG. 4 is an example flow chart of a method for generating and selecting web page layouts based on performance analytics. -
FIG. 5 is a process flow diagram of a method for generating and selecting web page layouts based on performance analytics. -
FIG. 6 is a block diagram of an example computer system that may implement certain aspects of the present disclosure. - Some implementations of the disclosed technology will be described more fully with reference to the accompanying drawings. This disclosed technology may, however, be embodied in many different forms and should not be construed as limited to the implementations set forth herein. The components described hereinafter as making up various elements of the disclosed technology are intended to be illustrative and not restrictive. Many suitable components that would perform the same or similar functions as components described herein are intended to be embraced within the scope of the disclosed electronic devices and methods. Such other components not described herein may include, but are not limited to, for example, components developed after development of the disclosed technology.
- It is also to be understood that the mention of one or more method steps does not preclude the presence of additional method steps or intervening method steps between those steps expressly identified.
- In an example scenario, a user may select a web page for multivariate testing. The user selection may include identifying a uniform resource locator (URL) (e.g., on a user device (e.g., laptop, smartphone)). For example, a user may provide the URL, user web page preferences, and/or performance criteria to an application associated with the user device. The user device transmits the information received at the application to a processor associated with a web server. The processor associated with the web server accesses and parses the code associated with the web page. The web page may contain components including, as non-limiting examples, banners, input boxes, images, and scripts. The processor identifies the components and associates the components with at least one pre-set component type. For example, a text box (a component) may be associated with a radial text box (a pre-set component type). The processor may also retrieve data associated with previous performance of similar versions of the web page. The processor may generate a plurality of web page versions based on the web page preferences, the previous performance of similar versions of the web page, and the parsed code of the default web page. The plurality of web page versions are then transmitted to respective web site visitors such that each web page version is transmitted only to a certain portion of web site visitors. For instance, a weight may be assigned to each web page version with the weight representing a pre-determined percentage of web site visitors who will receive that version of the web page.
- The performance (e.g., as defined by various web page analytics) of each web page version is analyzed and calculated. For example, the click-through rate for each web page version may be calculated and compared against other web page versions. The results of the comparison along with the associated components may be stored in a database amongst other previous performances of versions of the web page. The processor may select a web page version as the default web page according to the web page version having performance data most consistent with user provided performance criteria. For example, the user may select an option such as the average time spent on a web page as a primary performance criteria. In that instance, the web page version having the longest average visit time per user may be selected as the default web page. The default web page may be transmitted to all (or a majority/plurality of) future web site visitors.
- Reference will now be made in detail to exemplary embodiments of the disclosed technology, examples of which are illustrated in the accompanying drawings and disclosed herein. Wherever convenient, the same references numbers will be used throughout the drawings to refer to the same or like parts.
-
FIG. 1 shows anexample environment 100 that may implement certain aspects of the present disclosure. The components and arrangements shown inFIG. 1 are not intended to limit the disclosed embodiments as the components used to implement the disclosed processes and features may vary. As shown inFIG. 1 , in some implementations theenvironment 100 includes one or more 110 a, 110 b and 110 c, one orvisitor computing devices more user devices 120 which include one or more applications and/or application programming interfaces (e.g., APIs) 122 and one ormore processors 124, and one ormore web servers 140 including one ormore processors 142 and onemore databases 144. The 110 a, 110 b, 110 c, the one orvisitor computing devices more user devices 120, and the one ormore web servers 140 may communicate overnetwork 130. As non-limiting examples, the one or 110 a, 110 b, and 110 c may be a personal computer, a smartphone, a laptop computer, a tablet, or other personal computing device. Themore computing devices network 130 may include a network of interconnected computing devices more commonly referred to as the internet. Theweb server 140 may include one or more physical or logical devices (e.g., servers). Theuser device 120 may run and display one or more applications and the related output(s) of one or more applications (APIs) 122. Theuser device 120 may include aprocessor 124 which transmits and receives data. An example computer architecture that may be used to implement one or more of thecomputing device 110 a-110 c theuser device 120 and theweb server 140 is described below with reference toFIG. 6 . - In certain implementations according to the present disclosure, the
user device 120 may include one ormore APIs 122. The one ormore applications 122 may receive user input data from a user. In some embodiments, the user input data may include a URL and/or an IP address of a default web page. The user input data may also include the code associated with a web page (e.g., HTML, JavaScript, CSS, CGI, ASP, PHP). The user input data may user web page preferences and/or performance criteria. The user web page preferences may include, as non-limiting examples, preferred layouts, color schemes, fonts, font sizes, input boxes, frames, web links, images, interactive media, and/or the like. The performance criteria may include click analytics (e.g., amount of clicks for a given link, comparative analysis of clicks amongst multiple links), views per page, number of visitors for a given page, average time spent per user on a given page, and/or the like. According to some embodiments, theuser device 120 may display, via one ormore applications 122, performance data of a plurality of web page versions. Theuser device 120 may receive the performance data from aprocessor 142 associated withweb server 140. Theuser device 120 may include one ormore processors 124. The one ormore processors 124 may receive user inputted data from the one ormore applications 122, and output for transmission, user inputted data, through thenetwork 130 and to theweb server 140. - Turning to the
web server 140, in some embodiments, theweb server 140 receives the user input from theuser device 120 through thenetwork 130. According to some embodiments, aprocessor 142 associated withweb server 140 may receive a user input from theuser device 120. The user input may include a default web page URL, code associated with a default web page, user web page preferences, performance criteria, and/or the like. In other embodiments, theweb server 140 does not host the default web page. In those embodiments, theweb server 140 may receive user inputs including a default web page URL, code associated with a default web page, user web page preferences, performance criteria, login credentials for the host server, and/or the like. Theweb server 140 may access the host server with the login credentials. Theprocessor 142 associated with theweb server 140 may parse the code associated with default web page. In some embodiments, parsing the code may include identifying one or more components of the default web page. Identifying the components of the web page may further include performing image analysis on a rendered version of the web page. For example, image analysis may include identifying various components of web page the web page by rendering the web page based on visually identifiable attributes (e.g., images or logos), and further associating the attributes with the components. - The one or more components of the default web page may include an image, an input box, a frame, a web link, and/or the like. The
processor 142 may further identify attributes of the one or more components. For example, theprocessor 142 may identify, as an attribute, the component's color(s) or the maximum number of characters allowed in an identified input box. Additional component attributes may include interactivity (e.g., action that occurs on mouseover such as fade in/out), interaction of different components (e.g., typing in one text box may cause an image box to change pictures). In some embodiments, after identifying the one or more components and the at least one pre-set component type, theprocessor 142 may associate the one or more components with the at least one pre-set component type. According to some embodiments, theprocessor 142 may retrieve historical web site performance data from adatabase 144 associated with theweb server 140. The historical web site performance data may include performance data associated with various modifications to previous web page versions. - In some embodiments, the
processor 142 may generate a plurality of web page versions. Theprocessor 142 may generate the plurality of web page versions based on one or more user preferences, the historical web site performance data, the parsed code associated with the default web page, and/or the like. For example, if the user wants to try out different types of logos, theprocessor 142 may loop through each logo. Additionally, theprocessor 142 may perform clustering on the logo to categorize which group the logo belongs and to optimize use of the logo based on the group. For example, if a user has a logo that includes a dog, a cat, and a skyscraper, the clustering will bind dog and cat to animals, and skyscraper to buildings. To optimize the preceding, theprocessor 142 may analyze, based on historical web site performance data, how logos with animals and buildings have performed. Further, image analysis may be conducted based on an image size and contrast. For instance, if a user has a plurality of dark images, the optimal background might be a light color to complement the images. In some cases, these different factors may be weighted such that generating the plurality of web page versions may vary according to weights associated with (e.g., user or automatically assigned) the user preference(s), search terms, and/or the like. For example, a user may assign the one or more web page preferences a weight of 70% and the historical web site performance data a weight of 30%. In this example, when theprocessor 142 generates the plurality of web page versions, the one or more web page preferences will factor in more heavily than the historical web site performance data. Accordingly, the resulting plurality of web page versions will have features more consistent with the one or more web page preferences than the historical web site performance data. Theprocessor 142 may transmit, throughnetwork 130 and to the one or 110 a, 110 b and 110 c, respective versions of the plurality of web page versions to respective web page visitors (i.e., corresponding to the respectivemore computing devices 110 a, 110 b, and 110 c). Prior to transmitting the plurality of web page versions to respective web page visitors, a weight may be assigned to each of the plurality of web page versions, wherein the weight represents a percentage of web site visitors who will receive transmittal of the respective web page version. In certain embodiments, thevisitor computing devices web server 140 loads the plurality of web page versions on a host server along with instructions to transmit the plurality of web page versions to respective web site visitors. - According to some embodiments, the
processor 142 may collect performance data associated with each of the plurality of web page versions. Collecting performance data may be accomplished by accumulating data received at theweb server 140 from the 110 a, 110 b, and/or 110 c. In certain embodiments, collecting performance data may involve thecomputing devices web server 140 accessing the host server and retrieving performance data collected by the host server. The performance data may include click-rates, hits, impressions, unique impressions, user engagement, and/or the like. Theprocessor 142 may analyze the performance data associated with each of the plurality of web page versions. Analyzing the performance data may include identifying trends or patterns amongst the performance data and the corresponding web page versions, categorizing the performance data of each of the plurality of web page versions based on similarity of the data, comparing the performance data of each of the plurality of web versions against user inputted performance criteria, and/or the like. In some embodiments, theweb server 140 may store the performance data for at least one of the plurality of web page versions amongst the historical web site performance data within thedatabase 144. Theprocessor 142 may select one of the plurality of web page versions as the default web page based on the performance data. Selection based on the performance data may involve identifying the web page version having performance data closest to a pre-identified ideal performance data amount, the web page version having performance data closest to user inputted performance criteria, and/or a combination of the two (e.g., optimized or pareto optimized). The selected default web page may be transmitted, by theprocessor 142, to each of the web page visitors. - In some embodiments, the one or
110 a, 110 b, and/or 110 c may receive a respective version of the plurality of web page versions from themore computing devices web server 140 in response to requesting access to the web page. Each of the plurality of web page versions may include code (e.g., HTML, JavaScript, CSS, CGI, ASP, PHP) associated with the web page. The one or 110 a, 110 b, and/or 110 c may transit, via themore computing devices network 130 and to theweb server 140, performance data associated with a user interaction with one of the plurality of web page versions. Details of the user interaction with the respective web page version may include click-through-rate, links visited within the web site, the total amount of time spent on the web site, the amount of time spent on each page of the web site, and/or the like. In some embodiments, the one or 110 a, 110 b, and/or 110 c may each receive the default web page from themore computing devices web server 140. According to some embodiments, user interaction with the default web page may be transmitted, via thenetwork 130 and to theweb server 140, as performance data. -
FIG. 2 illustrates an example process flow diagram of a method for generating and selecting web page layouts based on performance analytics. According to some embodiments, at 205, theuser device 120 provides the default web page to theweb server 140. Theapplication 122 associated with theuser device 120 may receive the URL and/or the default web page code. Providing the default web page may include providing the web page URL and/or the code associated with the default web page to theweb server 140. Theuser device 120 may transmit, via theprocessor 124, the URL and/or the code associated with the default web page to theweb server 140 throughnetwork 130. In instances where only the web page URL is provided by theuser device 120 to theweb server 140, theweb server 140 may retrieve the code associated with the default web page. At 210, theweb server 140 may analyze web page data of the default web page. Analyzing web page data of the default web page may involve parsing the code of the default web page and identifying aspects of the code. In some embodiments, identifying aspects of the code may include identifying one or more components of the code. For example, the one or more components may include images, text boxes, interactive media, frames, and/or the like. Theweb server 140 may further identify attributes of the one or more components. An attribute of the one or more components may include a maximum number of characters allowed for a text box component. Theweb server 140 may associate the identified one or more components with at least one identified attribute. For instance, a component may be recognized as a text box having an attribute of one hundred and forty maximum characters. - At 215, the
web server 140 may retrieve historical web site performance data. The historical web site performance data may include web analytics associated with previous versions of the default web page. The performance data may include specific characteristics of web page versions and/or specific attributes of components of web page versions (e.g., size, color, and/or title of fonts). The performance data may include hits, impressions, clicks, click-through-rates, views, unique views, average user engagement time, and/or the like. The user may input web page preferences into theuser device 120 through theapplication 122. At 220, theapplication 122 may transmit the user web page preferences toprocessor 124, which outputs for transmission the web page preferences toweb server 140. User web page preferences may include indications of layouts, color schemes, fonts, font sizes, input boxes, frames, web links, images, interactive media, and/or the like. Theweb server 140 viaprocessor 142 may generate a plurality of web page versions, at 225. Generating the plurality of web page versions may be based on the parsed code of the default web page, the one or more user web preferences, and/or the historical web site performance data. A user may input the weight of each of the aforementioned variables in generating the plurality of web page versions. In some embodiments, an algorithm may randomly decide the weight of the variables involved in generating the plurality of web page versions. In some embodiments, a pre-set weight may be assigned to each variable. According to some embodiments, the weight assigned to each variable may vary amongst the plurality of web page versions. - At 230, the
web server 140 may output for transmission the plurality of web page versions to the one or 110 a, 110 b, and/or 110 c. In some embodiments, themore computing devices processor 142 may output for transmission one of the plurality of web page versions to each of the one or 110 a, 110 b, and/or 110 c. Outputting the plurality of web page versions may involve transmitting respective versions of the plurality of web page versions to each of the one ormore computing devices more computing devices 110. Outputting the plurality of web versions may further involve transmitting code (e.g., HTML, JavaScript, CSS, CGI, ASP, PHP) associated with the respective versions of the plurality of web page versions to each of the one ormore computing devices 110. A weight may be assigned to each of the plurality of web page versions, wherein the weight represents a percentage of web site visitors receiving transmittal of the respective web page version. Accordingly, the number of web site visitors receiving each of the plurality of web page versions may vary. According to some embodiments, theweb server 140 may host the default web page and/or the plurality of web page versions. In other embodiments, theweb server 140 may transmit the code associated with the plurality of web page versions to one or more external servers (e.g., web hosting servers) that host the plurality of web page versions. In this case, theweb server 140 indirectly outputs the web page versions to one ormore computing devices 110 a. 110 b, and/or 110 c through the one or more external servers. - At 235, the
110 a, 110 b, and/or 110 c each receive one of the plurality of web page versions. Thecomputing devices web server 140 collects the performance data of the plurality of web page versions, at 240. When theweb server 140 hosts the plurality of web page versions, collecting the performance data may involve tracking user interactions with the plurality of web page versions. User interactions may occur via engagement with at least one of the plurality of web page versions via the one ormore computing device 110 a-c. Theweb server 140 may track a user or users individually and/or collectively. Theweb server 140 may collect, as performance data, the number of visits to each of the plurality of web page versions, the time of engagement per user, and/or the like. When theweb server 140 does not host the plurality of web page versions, theweb server 140 may communicate with the server(s) responsible for hosting the plurality of web page versions. The host server may track the performance data associated with the plurality of web page versions received by the 110 a, 110 b, and/or 110 c. The communication may involve a request by thecomputing devices web server 140 for performance data from the host server. In response, theweb server 140 may receive performance data from the host server. - At 245, the
web server 140 stores the performance data as historical web site performance data. In some embodiments, the performance data is stored at thedatabase 144. The web server may analyze the performance data of the plurality of web versions, at 250. According to some embodiments, theprocessor 142 may analyze the performance data of the plurality of web page versions. Analyzing the performance data may include identifying correlations amongst the data and categorizing the performance data. Categorizing the performance data may be performed according to various performance criteria. The performance criteria may be user inputted and/or received through an algorithm. Accordingly, at least in part based on the performance criteria, theprocessor 142 selects one of the plurality of web page versions as the default web page, at 255. At 260, theprocessor 142 outputs for transmission the default web page version. Outputting the default web page version may include transmitting the code associated with the default web page to all web site visitors. Therefore, at 265, the 110 a, 110 b, and/or 110 c will receive the default web page version.computing devices -
FIG. 3 is a timing diagram for generating and selecting web page layouts based on performance analytics according to an example embodiment. At 310, a user viauser device 120 provides the default web page to theweb server 140. Providing the default web page may involve theuser device 120 outputting for transmission a URL and/or code (e.g., HTML, JavaScript, CSS, CGI, ASP, PHP) associated with the default web page to theweb server 140. At 315, theprocessor 142 may analyze web page data associated with the default web page. Analyzing web page data may include parsing, by theprocessor 142, the code associated with the default web page. Parsing the code associated with the default web page may involve theprocessor 142 identifying one or more components and attributes of the one or more components of the default web page. Further, theprocessor 142 may associate the one or more components with at least one pre-set component type and at least one pre-set attribute type. For example, a radial button may be identified as a component with a default value as an attribute. - At 320, the
user device 120 receives user web page preferences. In some embodiments and not shown, a user may input user web page preferences via theapplication 122 associated with theuser device 120. User web page preferences may include preferred layouts, color schemes, fonts, font sizes, input boxes, frames, web links, images, interactive media, and/or the like. Theprocessor 142 may retrieve historical web site performance data from thedatabase 144, at 325. At 330, based on the parsed web page code, the user web page preferences and/or the historical web site performance data (variables), theprocessor 142 generates a plurality of web page versions. Generating the plurality of web page versions may be performed according to an algorithm with a pre-set weight assigned to each variable and/or by randomly generated weights assigned to each variable. Generating the plurality of web page versions may further involve a user input that assigns weights to each of the variables. At 335, theprocessor 142 outputs, for transmission, code associated with one of the plurality of web page versions to the one ormore computing device 110 a-c. The one ormore computing device 110 a-c transmits performance data to theweb server 140, at 340. The performance data may include user engagement with the web page version. For instance, the performance data may include the web links clicked by the user, the time spent on each page of the web site, interactive media selected by the user, fields where the user entered input, and/or the like. 345 and 350, and 355 and 360 may be performed substantially similar toSteps 335 and 340 as described above.steps - The user may provide the
user device 120 with performance criteria viaapplication 122. The performance criteria may be the web analytics most desirable to the user. In some embodiments and as shown at 365, theuser device 120 transmits the performance criteria to theweb server 140. According to some embodiments, theuser device 120 transmits the performance criteria to theprocessor 142. At 370, theprocessor 142 analyzes the performance data. Analyzing the performance data may include identifying correlations and/or categorizing the data. At 375, the performance data may be stored as historical performance data at thedatabase 144. Theprocessor 142 may select the default web page version from amongst the plurality of web page versions based on the performance data, at 380. Selecting based on the performance data may include receiving performance criteria from the user device 120 (not shown) and choosing one of the plurality of web page versions as the default web page based on the performance data most closely resembling the performance criteria. -
FIG. 4 is a flow chart of a method for generating and selecting web page layouts based on performance analytics according to an example embodiment. At 402, theweb server 140 receives web page data of a default web page version of a web page. The web page data may be provided by a user fromuser device 120. The web page data may include a URL and/or code associated with the default web page. At 404, the web page data associated with the default web page is analyzed. Theweb server 140 and/or theprocessor 142 may analyze the data. Analyzing the data may include parsing the code associated with the default web page to identify one or more components and one or more attributes of the code. Analyzing may further include associating the one or more components with at least one pre-set component type and at least one pre-set attribute type. In some embodiments, a user may provide one or more web page preferences to theuser device 120. At 406, theuser device 120 may output, for transmission, the one or more user web page preferences to theweb server 140. At 408, theprocessor 142 retrieves historical web site performance data from thedatabase 144. The historical performance data may include performance data of one or more previous default web pages and/or a plurality of web page versions. - At 410, the
processor 142 generates a plurality of web page versions. Generating the plurality of web page versions may be based on any combination of the parsed code of the default web page, the user web page preferences, and/or the historical web site performance data. After generating the plurality of web page versions, at 412, theprocessor 142 outputs, for transmission, respective versions of the plurality of web page versions to respective visitors of the web page. Each of the plurality of web page versions may be assigned a weight where the weight represents the percentage of web page visitors who will receive the respective web page version. At 414, theprocessor 142 collects performance data associated with each of the plurality of web page versions. In some embodiments, theweb server 140 may host each of the plurality of web page versions. Accordingly, the performance data associated with each of the plurality of web page versions may be located on theweb server 140. In other embodiments, each of the plurality of web page versions may be located on a server not associated withweb server 140. In those embodiments, retrieving performance data may involve communication between theweb server 140 and the server hosting the plurality of web page versions. Theweb server 140 may transmit a request for performance data and in response, the host server may transmit the performance data to theweb server 140. - At 416, the
processor 142 analyzes the performance data of each of the plurality of web page versions. Theprocessor 142 may analyze the performance data based on identified correlations and categorized data. For example, theprocessor 142 may categorize the plurality of web page versions based on average user engagement time. As another example, theprocessor 142 may identify, as a correlation, a given layout with providing a higher click-through rate. In some embodiments, analyzing the performance data may be based on user provided performance criteria. For instance, a user may rank and submit viauser device 120 several performance categories to theprocessor 142. In response, theprocessor 142 may categorize the performance data according to the user submitted performance criteria. At 418, based on the performance data, theprocessor 142 selects one of the plurality of web page versions as the default web page version. Selecting the default web page version may be based on, at least in part, the user submitted performance criteria. According to some embodiments, selecting the default web page version may be based on identifying the one of the plurality of web page versions having a value closest to a pre-determined amount and/or user submitted performance criteria. -
FIG. 5 illustrates an example process flow diagram of a method for generating and selecting web page layouts based on performance analytics. At 505, the user creates a default web page. The user may generate the default web page using anapplication 122 associated withuser device 120. In some cases, the user may identify the default web page which has been created previously. - At 510, the default web page may be analyzed. For example, code associated with the default web page (e.g., HTML) may be parsed (e.g., by the
processor 142 associated with web server 140). Parsing the code associated with the default web page may include identifying one or more components and/or or one more attributes of the default web page. Theprocessor 142 may associate the one or more components with at least one pre-set component type and at least one pre-set attribute type. - At 515, the user may input web page preferences into an
application 122 associated with theuser device 120. In some embodiments, the user may input the web page preferences into a web portal associated with theuser device 120. Theuser device 120 may transmit the web page preferences to theweb server 140. At 520, historical records of web site layout performance are retrieved from thedatabase 144. Thedatabase 144 is queried for metadata corresponding to at least one of the previous web page versions at 525 a, 525 b, and/or 525 c. Web page versions of the web page are reconstructed based on, at least in part, the default web page and the web site metadata at 530 a, 530 b, and/or 530 c. At 535 a, 535 b, and/or 535 c each respective web page version is displayed to a plurality of web site visitors. At 540, theprocessor 142 executes the multi-arm bandit algorithm for each of the respective web page versions (e.g., the default web page version and the reconstructed web pages). - At 545, based on the measured web analytics, the historical performance data is updated. In some embodiments, the historical records of web site layout performance may be stored at
database 144. Theprocessor 142 may output, for transmission, results associated with each of the web page versions to theuser device 120. Theuser device 120 may display the results via a dashboard, at 550. At 555, the web page version with the preferred performance data is set as the default web page. For example, the performance data may be a category of user interaction (e.g., time on page, click-through rate, completed purchases) sought to optimize through the web page versions and the multi-arm bandit algorithm. Subsequently, the default web page (the winning web page version) may be transmitted to each web site visitor or a majority of web site visitors. According to some embodiments, selecting the default web page version may require a confirmation by the user. -
FIG. 6 is a block diagram of anexample computer system 600 that may implement certain aspects of the present disclosure. Thecomputer system 600 may include a set ofinstructions 626 for controlling operation of thecomputer system 600. In some implementations, thecomputer system 600 may be connected (e.g., networked) to other machines in a Local Area Network (LAN), an intranet, an extranet, a satellite communications system, or the Internet. Thecomputer system 600 may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. Thecomputer system 600 may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a server, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while asingle computer system 600 is illustrated, the term “machine” shall also be taken to include any collection of machines (e.g., computers) that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. - The
computer system 600 includes aprocessing device 602, a main memory 604 (e.g., read-only memory (ROM), flash memory, dynamic random-access memory (DRAM) such as synchronous DRAM (SDRAM), etc.), a static memory 606 (e.g., flash memory, static random-access memory (SRAM), etc.), and a secondary memory 616 (e.g., a data storage device), which communicate with each other via abus 608. - The
processing device 602 represents one or more general-purpose processing devices such as a microprocessor, a microcontroller, a central processing unit, or the like. As non-limiting examples, theprocessing device 602 may be a reduced instruction set computing (RISC) microcontroller, a complex instruction set computing (CISC) microprocessor, a RISC microprocessor, very long instruction word (VLIW) microprocessor, a processor implementing other instruction sets, or one or more processors implementing a combination of instruction sets. Theprocessing device 602 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. Theprocessing device 602 is configured to execute the operations for electronically creating and trading derivative products based on one or more indices relating to volatility. - The
computer system 600 may further include anetwork interface device 622, which is connectable to anetwork 130. Thecomputer system 600 also may include avideo display unit 610, i.e., a display (e.g., a liquid crystal display (LCD), a touch screen, or a cathode ray tube (CRT)), an alphanumeric input device 612 (e.g., a keyboard), a cursor control device 614 (e.g., a mouse), and a signal generation device 620 (e.g., a speaker). - The
secondary memory 616 may include anon-transitory storage medium 624 on which is stored one or more sets ofinstructions 626 for thecomputer system 600 representing any one or more of the methodologies or functions described herein. For example, theinstructions 626 may include instructions for implementing an asset tracking device including a power source and power management system or subsystem for a container or a trailer. Theinstructions 626 for thecomputer system 600 may also reside, completely or at least partially, within themain memory 604 and/or within theprocessing device 602 during execution thereof by thecomputer system 600, themain memory 604 and theprocessing device 602 also constituting computer-readable storage media. - While the
storage medium 624 is shown in an example to be a single medium, the term “storage medium” should be taken to include a single medium or multiple media that store the one or more sets of instructions for a processing device. The term “storage medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine that cause the machine to perform any one or more of the methodologies of the disclosure. The term “storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. - Throughout the specification and the claims, the following terms take at least the meanings explicitly associated herein, unless the context clearly dictates otherwise. The term “or” is intended to mean an inclusive “or.” Further, the terms “a,” “an,” and “the” are intended to mean one or more unless specified otherwise or clear from the context to be directed to a singular form.
- In this description, numerous specific details have been set forth. It is to be understood, however, that implementations of the disclosed technology may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description. References to “one embodiment,” “an embodiment,” “some embodiments,” “example embodiment,” “various embodiments,” “one implementation,” “an implementation,” “example implementation,” “various implementations,” “some implementations,” etc., indicate that the implementation(s) of the disclosed technology so described may include a particular feature, structure, or characteristic, but not every implementation necessarily includes the particular feature, structure, or characteristic. Further, repeated use of the phrase “in one implementation” does not necessarily refer to the same implementation, although it may.
- As used herein, unless otherwise specified the use of the ordinal adjectives “first,” “second,” “third,” etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
- While certain implementations of the disclosed technology have been described in connection with what is presently considered to be the most practical and various implementations, it is to be understood that the disclosed technology is not to be limited to the disclosed implementations, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
- This written description uses examples to disclose certain implementations of the disclosed technology, including the best mode, and also to enable any person skilled in the art to practice certain implementations of the disclosed technology, including making and using any devices or systems and performing any incorporated methods. The patentable scope of certain implementations of the disclosed technology is defined in the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.
- The following example use cases describe examples of particular implementations of the present disclosure. These are intended solely for explanatory purposes and not for purposes of limitation. In one case, a web site owner seeks to improve the click-through rates for web links on his web site. The web site owner inputs the URL of his web site and login credentials associated with the server hosting his web site into an app (e.g., application 122) on his laptop (e.g., user device 120) that is connected to the internet (e.g., network 130). The host server (e.g., web server 140) receives the URL and the login credentials. Next, the host server verifies the user credentials and the associated URL. After verification, the web page code associated with the URL is parsed. By parsing the web page code, elements including the web links, images, and text boxes are identified. The layout of the elements is also determined by parsing the web page code. In response to the application prompting the web site owner for web page preferences, the web site owner selects a color scheme and a layout. The server combines the parsed web page code, the selected color scheme and layout, and previous data associated with the web page to generate several versions of the web page. Now, when respective web site visitors enter the web page URL, each visitor receives one of the several versions of the web page. Each visitor engagement with the several versions of the web page is tracked and stored. The server then analyzes each version of the web page to determine which has the best click-through rate. The web page version with the highest click-through rate is set as the default web page. Accordingly, all web page visitors entering the web page URL will receive the default web page.
- In another example case, the owner of an e-commerce web site is seeking to increase her checkout rate. The owner using her smartphone (e.g., user device 120) accesses an app (e.g., application 122) for designing and testing alternate versions of a web page. On the app, she fills out a form indicating the URL of her web site, web page design preferences (e.g., layout, color scheme), and performance criteria (e.g., improved checkout rate). After entering the information, the user device transmits the inputted data to a server (e.g., web server 140). Once logged in, the server parses the web page code associated with the owner's web site. The server also accesses data associated with previous versions of the owner's web site. Combining the parsed web page code, the web page design preferences and data associated with previous versions of the owner's web site, the server generates multiple versions of the owner's web site. Now, when respective web site visitors enter the web page URL, each visitor receives one of the multiple versions of the web page. The server collects performance data associated with the multiple versions of the owner's web page. Next, the server selects the version of the web site generating the highest checkout rate as the default web page. Accordingly, all web page visitors entering the web page URL will receive the default web page.
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/132,509 US20210109989A1 (en) | 2018-11-29 | 2020-12-23 | Systems and methods for automatically generating and optimizing web pages |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/204,054 US10891351B2 (en) | 2018-11-29 | 2018-11-29 | Systems and methods for automatically generating and optimizing web pages |
| US17/132,509 US20210109989A1 (en) | 2018-11-29 | 2020-12-23 | Systems and methods for automatically generating and optimizing web pages |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/204,054 Continuation US10891351B2 (en) | 2018-11-29 | 2018-11-29 | Systems and methods for automatically generating and optimizing web pages |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20210109989A1 true US20210109989A1 (en) | 2021-04-15 |
Family
ID=70849166
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/204,054 Active US10891351B2 (en) | 2018-11-29 | 2018-11-29 | Systems and methods for automatically generating and optimizing web pages |
| US17/132,509 Abandoned US20210109989A1 (en) | 2018-11-29 | 2020-12-23 | Systems and methods for automatically generating and optimizing web pages |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/204,054 Active US10891351B2 (en) | 2018-11-29 | 2018-11-29 | Systems and methods for automatically generating and optimizing web pages |
Country Status (1)
| Country | Link |
|---|---|
| US (2) | US10891351B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190347315A1 (en) * | 2018-05-08 | 2019-11-14 | International Business Machines Corporation | Methods and systems for rendering web pages with restricted features |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210200943A1 (en) * | 2019-12-31 | 2021-07-01 | Wix.Com Ltd. | Website improvements based on native data from website building system |
| JP7492869B2 (en) * | 2020-06-30 | 2024-05-30 | 株式会社メルカリ | Terminal device, screen display system, display method and program |
| CN113220297A (en) * | 2021-05-08 | 2021-08-06 | 北京汇钧科技有限公司 | Webpage style dynamic generation method and device, storage medium and electronic equipment |
| US11966449B2 (en) * | 2022-08-26 | 2024-04-23 | Capital One Services, Llc | Systems and methods for generating custom content |
Citations (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6809741B1 (en) * | 1999-06-09 | 2004-10-26 | International Business Machines Corporation | Automatic color contrast adjuster |
| US20050246653A1 (en) * | 2004-04-30 | 2005-11-03 | International Business Machines Corporation | Providing accessibility compliance within advanced componentry |
| US20060064339A1 (en) * | 2004-09-13 | 2006-03-23 | Technology Transfer Office, Brigham Young University | Methods and systems for conducting internet marketing experiments |
| US20070192164A1 (en) * | 2006-02-15 | 2007-08-16 | Microsoft Corporation | Generation of contextual image-containing advertisements |
| US20070271501A1 (en) * | 2006-05-22 | 2007-11-22 | Google Inc. | Encoding and Displaying Default Landing Page Content |
| US20070271511A1 (en) * | 2006-05-22 | 2007-11-22 | Chirag Khopkar | Starting landing page experiments |
| US20080046562A1 (en) * | 2006-08-21 | 2008-02-21 | Crazy Egg, Inc. | Visual web page analytics |
| US20080092060A1 (en) * | 2006-10-17 | 2008-04-17 | Jordan Berg | System and method for capturing website user feedback |
| US20080176543A1 (en) * | 2006-12-08 | 2008-07-24 | Vivianne Gravel | System and method for optimisation of media objects |
| US20080189156A1 (en) * | 2007-02-06 | 2008-08-07 | Digital River, Inc. | Site Optimizer |
| US20090063377A1 (en) * | 2007-08-30 | 2009-03-05 | Yahoo! Inc. | System and method using sampling for allocating web page placements in online publishing of content |
| US20090265374A1 (en) * | 2008-03-24 | 2009-10-22 | Log Corp. | Method For Generating Access Statistic Data On Individual Visitor To Web Site |
| US20100064281A1 (en) * | 2008-07-22 | 2010-03-11 | Kimball Dean C | Method and system for web-site testing |
| US20100121801A1 (en) * | 2008-11-07 | 2010-05-13 | Roy H Scott | Enhanced matching through explore/exploit schemes |
| US20120047430A1 (en) * | 2010-08-18 | 2012-02-23 | Accenture Global Services Gmbh | Orthogonal transformation of web pages |
| US20120278741A1 (en) * | 2011-03-01 | 2012-11-01 | Justin Garrity | Method and system for configuring web analysis and web testing |
| US8645411B1 (en) * | 2011-03-31 | 2014-02-04 | Intuit Inc. | Method and system for generating a modified website |
| US20140215323A1 (en) * | 2013-01-26 | 2014-07-31 | Apollo Group, Inc. | Element detection and inline modification |
| US20140337694A1 (en) * | 2013-05-13 | 2014-11-13 | Lior Haramaty | Method for automatically optimizing the effectiveness of a website |
| US20150066597A1 (en) * | 2013-09-05 | 2015-03-05 | Kobo Incorporated | Profit-based layout determination for webpage implementation |
| US9087035B1 (en) * | 2011-03-31 | 2015-07-21 | Intuit Inc. | Website creation and management based on web analytics data |
| US20150220492A1 (en) * | 2013-02-22 | 2015-08-06 | Swoop Inc. | Systems and methods for integrating dynamic content into electronic media |
| US20150286742A1 (en) * | 2014-04-02 | 2015-10-08 | Google Inc. | Systems and methods for optimizing content layout using behavior metrics |
| US20150317405A1 (en) * | 2012-12-13 | 2015-11-05 | Thunderhead Limited | Web Page Variation |
| US20150378575A1 (en) * | 2014-06-26 | 2015-12-31 | International Business Machines Corporation | User interface element adjustment using web analytics |
| US20160189176A1 (en) * | 2014-12-28 | 2016-06-30 | Nice-Systems Ltd. | Systems and methods for response rate determination and offer selection |
| US9477648B1 (en) * | 2014-02-28 | 2016-10-25 | Intuit Inc. | Optimized web application user experience |
| US20170046110A1 (en) * | 2015-08-11 | 2017-02-16 | Optimizely, Inc. | Determining variations of content to provide to users in variation testing of content |
| US20170329747A1 (en) * | 2016-05-11 | 2017-11-16 | SiteHelix, Inc. | System and method for optimizing electronic document layouts |
| US20180341975A1 (en) * | 2017-05-23 | 2018-11-29 | Streamlet Data | Methods for web optimization and experimentation |
| US10248628B2 (en) * | 2017-08-15 | 2019-04-02 | Hybris Ag | Statistical approach for testing multiple versions of websites |
| US20190102362A1 (en) * | 2017-09-29 | 2019-04-04 | Oracle International Corporation | System and method for extracting website characteristics |
| US10534851B1 (en) * | 2014-12-19 | 2020-01-14 | BloomReach Inc. | Dynamic landing pages |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8166155B1 (en) * | 2006-03-14 | 2012-04-24 | Amazon Technologies, Inc. | System and method for website experimentation |
| US8140376B2 (en) | 2006-09-12 | 2012-03-20 | Strongmail Systems, Inc. | System and method for optimization of viral marketing efforts |
| US20080140591A1 (en) * | 2006-12-12 | 2008-06-12 | Yahoo! Inc. | System and method for matching objects belonging to hierarchies |
| US20080162699A1 (en) * | 2006-12-29 | 2008-07-03 | John Gaffney | Selectively Apportioning User Web Traffic |
| US7805580B2 (en) * | 2007-01-08 | 2010-09-28 | International Business Machines Corporation | Method and system for determining optimal data layout using blind justice |
| US8234632B1 (en) * | 2007-10-22 | 2012-07-31 | Google Inc. | Adaptive website optimization experiment |
| US7966564B2 (en) * | 2008-05-08 | 2011-06-21 | Adchemy, Inc. | Web page server process using visitor context and page features to select optimized web pages for display |
| US8839093B1 (en) * | 2011-01-12 | 2014-09-16 | Optimizely, Inc. | Systems and methods for website optimization |
| JP6066096B2 (en) | 2011-02-22 | 2017-01-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method, system, and computer program for on-page manipulation and real-time replacement of content |
| US20140026066A1 (en) * | 2012-07-23 | 2014-01-23 | Yahoo! Inc. | User interaction-based website optimization |
| US9442729B2 (en) * | 2013-05-09 | 2016-09-13 | Intel Corporation | Minimizing bandwidth to track return targets by an instruction tracing system |
| US10592377B2 (en) * | 2013-07-15 | 2020-03-17 | Centurylink Intellectual Property Llc | Website performance tracking |
| US20150095756A1 (en) * | 2013-10-01 | 2015-04-02 | Zijad F. Aganovic | Method and apparatus for multi-loop, real-time website optimization |
| WO2015116610A1 (en) * | 2014-01-29 | 2015-08-06 | 3M Innovative Properties Company | Conducting multivariate experiments |
| US9756888B2 (en) * | 2014-07-14 | 2017-09-12 | Tsu-Kung Ku | Power-ventilated soft headgear |
| US9996513B2 (en) * | 2014-09-12 | 2018-06-12 | International Business Machines Corporation | Flexible analytics-driven webpage design and optimization |
-
2018
- 2018-11-29 US US16/204,054 patent/US10891351B2/en active Active
-
2020
- 2020-12-23 US US17/132,509 patent/US20210109989A1/en not_active Abandoned
Patent Citations (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6809741B1 (en) * | 1999-06-09 | 2004-10-26 | International Business Machines Corporation | Automatic color contrast adjuster |
| US20050246653A1 (en) * | 2004-04-30 | 2005-11-03 | International Business Machines Corporation | Providing accessibility compliance within advanced componentry |
| US20060064339A1 (en) * | 2004-09-13 | 2006-03-23 | Technology Transfer Office, Brigham Young University | Methods and systems for conducting internet marketing experiments |
| US20070192164A1 (en) * | 2006-02-15 | 2007-08-16 | Microsoft Corporation | Generation of contextual image-containing advertisements |
| US20070271501A1 (en) * | 2006-05-22 | 2007-11-22 | Google Inc. | Encoding and Displaying Default Landing Page Content |
| US20070271511A1 (en) * | 2006-05-22 | 2007-11-22 | Chirag Khopkar | Starting landing page experiments |
| US20080046562A1 (en) * | 2006-08-21 | 2008-02-21 | Crazy Egg, Inc. | Visual web page analytics |
| US20080092060A1 (en) * | 2006-10-17 | 2008-04-17 | Jordan Berg | System and method for capturing website user feedback |
| US20080176543A1 (en) * | 2006-12-08 | 2008-07-24 | Vivianne Gravel | System and method for optimisation of media objects |
| US20080189156A1 (en) * | 2007-02-06 | 2008-08-07 | Digital River, Inc. | Site Optimizer |
| US20090063377A1 (en) * | 2007-08-30 | 2009-03-05 | Yahoo! Inc. | System and method using sampling for allocating web page placements in online publishing of content |
| US20090265374A1 (en) * | 2008-03-24 | 2009-10-22 | Log Corp. | Method For Generating Access Statistic Data On Individual Visitor To Web Site |
| US20100064281A1 (en) * | 2008-07-22 | 2010-03-11 | Kimball Dean C | Method and system for web-site testing |
| US20100121801A1 (en) * | 2008-11-07 | 2010-05-13 | Roy H Scott | Enhanced matching through explore/exploit schemes |
| US8375297B2 (en) * | 2010-08-18 | 2013-02-12 | Accenture Global Services Limited | Orthogonal transformation of web pages |
| US20120047430A1 (en) * | 2010-08-18 | 2012-02-23 | Accenture Global Services Gmbh | Orthogonal transformation of web pages |
| US20120278741A1 (en) * | 2011-03-01 | 2012-11-01 | Justin Garrity | Method and system for configuring web analysis and web testing |
| US8645411B1 (en) * | 2011-03-31 | 2014-02-04 | Intuit Inc. | Method and system for generating a modified website |
| US9087035B1 (en) * | 2011-03-31 | 2015-07-21 | Intuit Inc. | Website creation and management based on web analytics data |
| US20150317405A1 (en) * | 2012-12-13 | 2015-11-05 | Thunderhead Limited | Web Page Variation |
| US20140215323A1 (en) * | 2013-01-26 | 2014-07-31 | Apollo Group, Inc. | Element detection and inline modification |
| US20150220492A1 (en) * | 2013-02-22 | 2015-08-06 | Swoop Inc. | Systems and methods for integrating dynamic content into electronic media |
| US20140337694A1 (en) * | 2013-05-13 | 2014-11-13 | Lior Haramaty | Method for automatically optimizing the effectiveness of a website |
| US20150066597A1 (en) * | 2013-09-05 | 2015-03-05 | Kobo Incorporated | Profit-based layout determination for webpage implementation |
| US9477648B1 (en) * | 2014-02-28 | 2016-10-25 | Intuit Inc. | Optimized web application user experience |
| US20150286742A1 (en) * | 2014-04-02 | 2015-10-08 | Google Inc. | Systems and methods for optimizing content layout using behavior metrics |
| US20150378575A1 (en) * | 2014-06-26 | 2015-12-31 | International Business Machines Corporation | User interface element adjustment using web analytics |
| US10534851B1 (en) * | 2014-12-19 | 2020-01-14 | BloomReach Inc. | Dynamic landing pages |
| US20160189176A1 (en) * | 2014-12-28 | 2016-06-30 | Nice-Systems Ltd. | Systems and methods for response rate determination and offer selection |
| US20170046110A1 (en) * | 2015-08-11 | 2017-02-16 | Optimizely, Inc. | Determining variations of content to provide to users in variation testing of content |
| US20170329747A1 (en) * | 2016-05-11 | 2017-11-16 | SiteHelix, Inc. | System and method for optimizing electronic document layouts |
| US20180341975A1 (en) * | 2017-05-23 | 2018-11-29 | Streamlet Data | Methods for web optimization and experimentation |
| US10248628B2 (en) * | 2017-08-15 | 2019-04-02 | Hybris Ag | Statistical approach for testing multiple versions of websites |
| US20190102362A1 (en) * | 2017-09-29 | 2019-04-04 | Oracle International Corporation | System and method for extracting website characteristics |
Non-Patent Citations (1)
| Title |
|---|
| W3C,"G18: Ensuring Contrast Ratio of 4.5:1 Exists Between Texts (and Images of Text) and Background," Archived 07/19/2017, WayBack Machine, 6 pages total. * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190347315A1 (en) * | 2018-05-08 | 2019-11-14 | International Business Machines Corporation | Methods and systems for rendering web pages with restricted features |
Also Published As
| Publication number | Publication date |
|---|---|
| US20200175088A1 (en) | 2020-06-04 |
| US10891351B2 (en) | 2021-01-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12177521B2 (en) | Methods and systems for recommendations based on user-supplied criteria | |
| US20210109989A1 (en) | Systems and methods for automatically generating and optimizing web pages | |
| US12354029B2 (en) | Dynamic website content optimization | |
| KR102219344B1 (en) | Automatic advertisement execution device, method for automatically generating campaign information for an advertisement medium to execute an advertisement and computer program for executing the method | |
| US8326777B2 (en) | Supplementing a trained model using incremental data in making item recommendations | |
| RU2725659C2 (en) | Method and system for evaluating data on user-element interactions | |
| US20150058331A1 (en) | Search result ranking using machine learning | |
| WO2006013571A1 (en) | System and method for ranking and recommending products or services by parsing natural-language text and converting it into numerical scores | |
| US9268859B2 (en) | Method and system for customizing a web site | |
| US20180137589A1 (en) | Contextual personalized list of recommended courses | |
| US11126785B1 (en) | Artificial intelligence system for optimizing network-accessible content | |
| US20250173756A1 (en) | Systems and methods for dynamic link redirection | |
| US20180137587A1 (en) | Contextual personalized list of recommended courses | |
| US20220075840A1 (en) | Deep learning approach to mitigate the cold-start problem in textual items recommendations | |
| US20250054028A1 (en) | Systems and methods for dynamic link redirection | |
| US9734529B1 (en) | Method, system, and computer readable medium for selection of catalog items for inclusion on a network page | |
| KR20190108624A (en) | Systems and Methods for Improved Online Research | |
| CN117573998A (en) | Web system for displaying browser multi-tab pages | |
| US11341565B2 (en) | Search system that provides personalized results | |
| US20250322214A1 (en) | Self-criticizing artificial intelligence system | |
| US20160260151A1 (en) | Search engine optimization for category web pages | |
| CN120687672A (en) | Object recommendation method, device, electronic device, storage medium, and program product | |
| AU2016204641A1 (en) | Infer a users interests and intentions by analyzing their interaction and behavior with content accessed in the past, present & future | |
| WO2025226534A1 (en) | Systems and methods for knowledge answering engine | |
| CN119671662A (en) | Information display method, device, computer equipment and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: CAPITAL ONE SERVICES, LLC, VIRGINIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PHAM, VINCENT;REEL/FRAME:054739/0667 Effective date: 20181126 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PRE-INTERVIEW COMMUNICATION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |