WO2022003403A1 - Identifying script errors in an online retail platform and quantifying such errors - Google Patents

Identifying script errors in an online retail platform and quantifying such errors Download PDF

Info

Publication number
WO2022003403A1
WO2022003403A1 PCT/IB2020/056271 IB2020056271W WO2022003403A1 WO 2022003403 A1 WO2022003403 A1 WO 2022003403A1 IB 2020056271 W IB2020056271 W IB 2020056271W WO 2022003403 A1 WO2022003403 A1 WO 2022003403A1
Authority
WO
WIPO (PCT)
Prior art keywords
performance metric
user device
impact
script
performance
Prior art date
Application number
PCT/IB2020/056271
Other languages
French (fr)
Inventor
Ali-Firat KILIC
Original Assignee
Content Square SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Content Square SAS filed Critical Content Square SAS
Priority to PCT/IB2020/056271 priority Critical patent/WO2022003403A1/en
Priority to EP20737585.8A priority patent/EP4176352A1/en
Publication of WO2022003403A1 publication Critical patent/WO2022003403A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3438Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Definitions

  • the disclosure generally relates to monitoring browsing activity and particularly to identifying script errors in an online retail platform.
  • the Internet is a collection of disparate computer systems which use a common protocol to communicate with each other.
  • a common use of the Internet is to access World Wide Web (web) pages. Web pages are typically stored on a server and remotely accessed by a client over the Internet using a web browser.
  • a website is a collection of web pages.
  • a website typically includes a home page and a hierarchical order of follow-on web pages that are accessible through the home page.
  • the web pages are connected to each other using hypertext links.
  • the links allow a user to browse web pages of a web site by selecting the links between the web pages.
  • Distinct websites may be respectively identified by respective distinctly associated Internet domain names.
  • Scripts such as JavaScript
  • JavaScript are interpreted by a web browser when a webpage is loaded.
  • a webpage may include a number of scripts.
  • a script may run with errors, thereby disabling some of the functionality of the webpage. Such errors may be due to programming errors, unsupported architectures, and the like.
  • Script execution errors also referred to as exceptions, may be displayed on the webpage as an error message, such as “image cannot be loaded,” or as indications by the web browser.
  • exceptions may be displayed on the webpage as an error message, such as “image cannot be loaded,” or as indications by the web browser.
  • a user has little to do with such errors, as the user is not required to perform any action.
  • script errors may lead to loss of revenue, for example, in e- commerce websites, increased frustration for users interacting with a website, or both. For example, when a script-executed function for placing an item in a cart does not work, a conversion will not happen and the user will be frustrated.
  • Certain embodiments disclosed herein include a method for quantifying impact of script error exceptions on performance of an online retail platform.
  • the method comprises: selecting at least one performance metric for a webpage, wherein the selected performance metric has an impact due to at least one script error exception encountered on the webpage visited by a first user device; retrieving a normal value for each of the at least one selected performance metric for the webpage visited by a second user device; retrieving an abnormal value for each of the at least one selected performance metric for the webpage visited by the second user device; comparing the abnormal value to the normal value of a respective selected performance metric; and determining a performance impact score based on the comparison, wherein the performance impact score is indicative of a reduction in a performance metric of each of the least one selected performance metric.
  • Certain embodiments disclosed herein also include a non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising: selecting at least one performance metric for a webpage, wherein the selected performance metric has an impact due to at least one script error exception encountered on the webpage visited by a first user device; retrieving a normal value for each of the at least one selected performance metric for the webpage visited by a second user device; retrieving an abnormal value for each of the at least one selected performance metric for the webpage visited by the second user device; comparing the abnormal value to the normal value of a respective selected performance metric; and determining a performance impact score based on the comparison, wherein the performance impact score is indicative of a reduction in a performance metric of each of the least one selected performance metric.
  • Certain embodiments disclosed herein also include a system for quantifying impact of script error exceptions on performance of an online retail platform, comprising: a processing circuitry; and a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to: select at least one performance metric for a webpage, wherein the selected performance metric has an impact due to at least one script error exception encountered on the webpage visited by a first user device; retrieve a normal value for each of the at least one selected performance metric for the webpage visited by a second user device; retrieve an abnormal value for each of the at least one selected performance metric for the webpage visited by the second user device; compare the abnormal value to the normal value of a respective selected performance metric; and determine a performance impact score based on the comparison, wherein the performance impact score is indicative of a reduction in a performance metric of each of the least one selected performance metric.
  • Figure 1 shows a network diagram utilized to describe the various embodiments of the invention.
  • Figure 2 is a flowchart illustrating a method for collecting script exceptions by a tracking tag according to one embodiment
  • Figure 3 is a flowchart illustrating a method for determining business impact of script errors according to one embodiment.
  • Figure 4 is a flowchart illustrating a method for prioritizing script exceptions according to one embodiment.
  • Figure 5 is an example screenshot showing the displayed processed information on a first dashboard.
  • Figure 6 is an example screenshot showing the displayed processed information on a second dashboard.
  • Figure 7 is a block diagram of a system utilized to process and analyze script exceptions according to an embodiment.
  • Fig. 1 shows an example diagram of a network system 100 utilized to describe the various embodiments.
  • the network system 100 includes one or more user devices, 110-1 through 110-N (hereinafter referred to as “user device” 110 or “user devices” 110), at least one web server 120, and an analytic system 130, all connected to a network 140.
  • the analytic system 130 may be adapted to process and analyze at least script activity information provided by the user devices 110.
  • the analytic system 130 is further configured to gather, process, and analyze engagement data related to the engagement of users of user devices 110 interacting with a website hosted by the web server 120.
  • a website includes an e-commerce website, i.e., any website that offers goods, services, or both.
  • the network 140 provides interconnectivity between the various components of the system.
  • the network 140 may be, but is not limited to, a wireless, cellular or wired network, a local area network (LAN), a wide area network (WAN), a metro area network (MAN), the Internet, the worldwide web (WWW), similar networks, and any combination thereof.
  • the network 140 may be a full- physical network, including exclusively of physical hardware, a fully-virtual network, including only simulated or otherwise virtualized components, or a hybrid physical-virtual network, including both physical and virtualized components.
  • the network 140 may be configured to encrypt data, both at rest and in motion, and to transmit encrypted, unencrypted, or partially-encrypted data.
  • the network 140 may be configured to connect to the various components of the system 100 via wireless means such as, as examples and without limitation, Bluetooth long-term evolution (LTE), Wi-Fi, other, like, wireless means, and any combination thereof, via wired means such as, as examples and without limitation, ethernet, universal serial bus (USB), other, like, wired means, and any combination thereof. Further, the network 140 may be configured to connect with the various components of the system 100 via any combination of wired and wireless means.
  • a user device 110 may be any computing device allowing a user to at least download web-pages, display web-pages, and interact with web-pages.
  • a user device 110 may be, but is not limited to, a smart phone, a tablet computer, a personal computer, a laptop computer, a netbook computer, an electronic reader, and the like.
  • a user device may be installed with a web browser 112, such as Safari®, Firefox®, Internet Explore®, Chrome®, and the like.
  • the processor of the user device 110 runs an operating system that may include, without limitation, iOS®, Android®, Unix®, Windows®, and the like.
  • the browser 112 may include any mobile application executable over the user device 110 and/or an extension of the browser 112.
  • Such an application is typically downloaded from a central repository (not shown) which may be, for example and without limitation, AppStore® by Apple Computers®, Google® Play®, and the like.
  • the web server 120 can host a website accessed through a browser 112.
  • the web server 120 may also execute an application that provides functionality and content to a mobile application executed over a user device 110.
  • the teachings disclosed herein can be utilized to identify script errors, to quantify such errors, and to generate other analytics data that is based on scripts of either the web pages of a website displayed over a browser 112 or the content displayed over a mobile application. Without limiting the scope of the disclosed embodiment and merely for the sake of simplicity, the description hereinbelow will be made with reference to the browser 112. It should be further noted that the disclosed teachings are not limited to scripts retrieved from one server.
  • the browser 112 can render display content retrieved from a plurality of servers, web servers, application servers, or any combination thereof.
  • Any webpage visited by a user device 110 and provided by the web server 120 includes a tracking tag.
  • the tracking tag when interpreted by a browser 112, executes a piece of code, such as a script, configured to track an interaction of a user with the web page. This includes a URL visited, any element in the page clicked on, or hovered over, by the user, and the like.
  • the tracking tag may be configured to capture, or otherwise intercept, script execution errors (hereinafter referred to as “error exceptions”). Each error exception is reported with the URL, a page on which the URL was executed, a line error, and a script name. As will be demonstrated below, a script can run without error on one browser, but may be run with errors on another browser.
  • the analytic system 130 depicted in detail with respect to Fig. 7, below, is a system configured to execute instructions, organize information, and otherwise process data.
  • the analytic system 130 may be configured to execute the methods described hereinbelow, other, like, methods, and any combination thereof.
  • the analytic system 130 may include various processing, memory, networking, and other components allowing the analytic system 130 to execute instructions and provide data processing.
  • the analytic system 130 may be implemented as physical hardware, as software virtualizing physical hardware, or as a combination of physical and virtualized components.
  • the analytic system 130 is configured to receive browsing activity from any user device, such as the user device 110, processing the tracking tag.
  • the browsing activity includes script exceptions, such as error exceptions, and interaction information of the user with any tracked webpage.
  • An error exception such as an error message
  • An error exception may be, for example, an electronic notification that is generated by, for example, JavaScript, when an error occurs in the script that runs a web page using a certain browser. For example, when an error occurs, JavaScript stops and generates an error message.
  • the error exception is indicative of a script error that is associated with at least one script of a first website.
  • the first website may be, for example, a retail website, such as a Nike® website, an Amazon® website, and the like.
  • the error exception may be received from at least one user device, such as the device 110-1 , that browses through the first website.
  • An error exception may include the script name generated the error, the error code line, and the URL.
  • the error may indicate, for example, the name of the script that throws the error, i.e., generated the error, is JavaScript, the code line indicating that an “add to cart” button is not working properly, and the URL indicating the specific web page at which the error occurred.
  • the script such as JavaScript, may create an error object that includes a name and message.
  • the interaction information of the browsing activity may include mouse movements, scrolling of web page, resizing of browser window, click events, keyboard use with any element of a webpage, and the like, as well as any combination thereof.
  • the interaction information may further include, without limitation, information regarding page URL, referrer, load time, IP address, browser type, screen resolution, page views, and the like.
  • the interaction information may be processed by the system 130 to determine one or more performance metrics.
  • performance metrics include, for example, a number of clicks made during the user’s visit in the web page, a click rate, a conversion rate, and the like.
  • the performance metrics determined for each website, webpage, or both are tracked by the analytic system 130 and may be saved in a database 150, connected to the network 140.
  • browsing activity that includes error exceptions is marked as abnormal performance metrics, while other metrics are marked as normal.
  • the analytic system 130 is configured to aggregate error exceptions for each webpage, such as a URL, on a tracked website.
  • the aggregation may be further based on, for example, a script name, a browser type, functions (i.e. , error type), and the like.
  • error exceptions are related to the same website. That is, error exceptions that are associated with a first website are aggregated separately from error exceptions that are associated with a second website. For example, fifty (50) error exceptions are received and aggregated by the analytic system 130.
  • fifteen error exceptions indicate that the script is a JavaScript that runs on Safari® browser, that the error is that “BUY” button does not work properly (i.e., error type), and that the error occurs in a Timberland® website at the “mens-boots” web page, providing, for example, the specific URL indicating the specific web page at which the error occurred.
  • 45 error exceptions indicate that the script is a JavaScript that runs on Chrome® browser, that the error is that the “add to cart” button does not work properly (i.e., error type), and that the error occurs in the Timberland® website at the “kids-sandals” web page, providing, for example, a specific URL indicating the specific web page at which the error occurred.
  • 25 error exceptions indicate that the script is a JavaScript that runs on Chrome® browser, that the error is that images are not displayed properly (i.e., error type), and that the error occurs in a Timberland® website at the “womens-best-sellers” web page, providing, for example, a specific URL indicating the specific web page at which the error occurred.
  • all fifty exceptions are aggregated based on their properties.
  • the analytic system 130 is further configured to analyze the aggregated error exceptions to determine a performance impact score.
  • the performance impact score indicates an impact level of aggerated error exceptions, for the same page, on at least one performance metric of the first website.
  • performance metric may be, for example, a conversion rate, a click-through rate, a number of pageviews, a cart abandonment rate, and the like.
  • the analysis may include comparing at least one performance metric that is associated with at least one script, in which the at least one error exception was detected, to an identical performance metric of a plurality of scripts that do not demonstrate error exceptions.
  • the performance impact score may be an integer number from “0” to “5”, where “0” is the lowest score indicating that the at least one error exception, such as a script error, has no impact on one or more of the performance metrics, and where a performance impact score of “five” indicates the highest performance impact, i.e., a negative impact.
  • two hundred error exceptions may indicate that an “add to cart” button is not working properly in a specific web page at Amazon® website and that the conversion rate, an example of a performance metric that is associated with these two hundred visits is 0%.
  • the analytic system 130 compares the 0% conversion rate, an example of a performance metric, that is associated with the scripts in which error occurred to a conversion rate, or other, identical performance metric, that is associated with scripts that do not demonstrate error exceptions, such as script errors.
  • the conversion rate of the properly working code such as code wherein no error exception is identified
  • the analytic system 130 is configured to determine, based on the result of the analysis, the performance impact score that is indicative of a level of impact of the at least one error exception on at least one performance metric of the first website.
  • the analytic system 130 is configured to determine a business impact score, indicating a business impact level of the at least one error exception based on the determined performance impact score or scores.
  • the business impact score may be a ranking from “A” to “C,” where “C” is the lowest score, indicating that a determined performance impact has no business impact, and where “A” indicates the highest business impact, such as a negative impact. For example, when a performance impact score of “5” has been determined with respect to 1 ,000 error exceptions collected form the same website, the business impact score, or ranking, may be “A.”
  • the determination of the business impact score may be achieved based on analysis of the determined performance impact score or scores.
  • the analytic system 130 is configured to prioritize each of the at least one error exception based on the determined business impact score related thereto. That is, a first error exception, such as a script error exception indicating that a “buy” button is not working properly, may have a greater negative business impact than a second error exception, such as a script error exception indicating that the company’s logo is not displayed properly.
  • a first error exception such as a script error exception indicating that a “buy” button is not working properly
  • a second error exception such as a script error exception indicating that the company’s logo is not displayed properly.
  • Fig. 2 is an example flowchart 200 of a method for collecting script error exceptions (hereinafter referred to as “error exceptions”) and for sending the script error exceptions to a designated server, according to one embodiment.
  • error exceptions script error exceptions
  • a tracking tag which may be implemented by or as a tracking script or the like, is downloaded to a web page that was downloaded to the browser that is utilized by the user device.
  • the tracking tag may be part of the web page content retrieved from the web server or may be embedded in a mobile application.
  • the downloaded tracking tag is saved in a tangible memory of the user device and executed thereon.
  • the tracking tag is realized as JavaScript.
  • the tracking tag enables tracking and monitoring of script activity of one or more web pages of a website and, therefore, allows for determination of whether an error exception has been detected.
  • a notification regarding at least one error exception is captured by the tracking tag.
  • the notification may be an electronic message the contains data, such as script error exception data, regarding one or more script error that occurred.
  • script error exception data is extracted from the notification.
  • the script error exception data may include, for example, a script name, an error type, a URL at which the error occurred, and the like.
  • the script error exception data is sent over a network, such as the network 140, to a designated server, such as the analytic system 130, for further usage.
  • Fig. 3 shows an example flowchart 300 illustrating a method for analyzing aggregated script error exceptions (hereinafter referred to as “error exceptions”), and for determining one or more impacts of the script error exceptions, according to one embodiment.
  • error exceptions aggregated script error exceptions
  • the method is performed by the analytic system 130.
  • At S310 at least one performance metric for a specific webpage is selected.
  • the selected performance metric is to determine the impact of the error exception on this metric. For example, if the selected metric is a number of clicks on an “subscribe” element, the determination would be how the error exceptions reduce the number of clicks.
  • Other examples for performance metrics include, without limitation, a conversion rate, a click-through rate, a number of pageviews, a cart abandonment, and the like.
  • the value for the selected performance metric for the webpage is retrieved from, for example, a database, such as the database 150 shown in Fig. 1 .
  • the performance metric’s value is logged for one or more webpages where error exceptions have not occurred and one or more webpages where error exceptions occurred.
  • the former represents a normal metric’s value of a normal activity for the webpage, the website, or both, and the latter represents abnormal activity.
  • the webpage having a URL “myservices.com,” includes a “subscribe” button for which a call-for-action for is rendered by an execution of script.
  • the script may run without errors on a Chrome® browser but with errors on an Explorer® browser.
  • normal performance metric values such as a number of clicks, will be logged for user access using the Chrome® browser, and abnormal performance metric values will be logged for user access using the Explorer® browser.
  • the performance metrics’ values are retrieved for each selected performance metric.
  • the normal performance metric’s value is compared to the respective abnormal value.
  • a performance impact score of the at least one error exception is determined.
  • the performance impact score indicates an impact level of the at least one error exception on at least one performance parameter of a first website.
  • the performance impact score may be an integer number from “0” to “5”, where “0” is the lowest score indicating that the at least one error exception (e.g., such as a script error exception, has no impact on one or more of the performance metrics.
  • a performance impact score of “5” indicates the highest performance impact, which may be, in an embodiment, usually a negative impact.
  • the normal metric’s value may be normalized to 100 and the abnormal metric’s value may be a percentage of that normalized value. For example, if the number of clicks in a webpage that operates without errors is 1000 and the number of clicks on a page that operates with script errors is 200, the impact score would be two percent, 2% (e.g, or a 98% performance reduction).
  • a business impact score of the at least one error exception is determined based on the determined performance impact score.
  • the business impact score indicates a business impact level of the at least one error exception based on the determined performance impact score or scores.
  • the business impact score may be a ranking from “A” to “C,” where “C” is the lowest score indicating that determined performance impact has no business impact, and where “A” indicates the highest business impact, which may be, in some embodiments, usually a negative impact.
  • a monetary value is determined based on the business impact score.
  • the monetary value may include loss of revenue due to error exceptions. For example, if the impact score is 2% reduction, a revenue reduction of 98% may also be demonstrated.
  • Fig. 4 shows an example flowchart 400 illustrating a method for prioritizing script error exceptions (hereinafter referred to as “error exceptions”), according to one embodiment.
  • the method is performed by the analytic system 130.
  • a business impact score of each of the at least one script error exception is extracted from, for example, a database, such as the database 150, shown in Fig. 1 .
  • the business impact score of each of the at least one error exception is analyzed.
  • the analysis may include comparing all business impact scores to determine the priority.
  • each of the at least one error exception is prioritized according to the business impact score related thereto. That is, a first error exception, such as a script error indicating that a “buy” button is not working properly, may have a greater negative business impact than a second script error, such as a script error indicating that the company’s logo is not displayed properly. For example, a first error exception for which a relatively high business impact score was determined may get a higher priority compared to a second error exception for which a relatively low business impact score was determined.
  • Fig. 5 is an example screenshot showing the displayed processed information on a first dashboard 500.
  • the dashboard 500 summarizes the processed script error exceptions data.
  • the dashboard includes a header in which a number of visits (e.g., 746,250) that were impacted by a number of script errors (e.g., 47) is indicated.
  • the dashboard 500 further indicates that, over the last 30 days the 47 script errors occurred, in 21 URL’s, in 37 pages, in two browsers, in one operating system (OS), in two type of devices, and in 87 countries.
  • OS operating system
  • a first left column depicts the errors’ type
  • the following right column depicts the number of visits with errors
  • the next following right column depicts the number of lost conversions
  • the next following right column depicts the impact on a predetermined goal.
  • One column before the last right column is a column that depicts a value that reflects the missed opportunity, such as how much money was lost due to a specific script error.
  • Fig. 6 is another example screenshot showing the displayed processed information on a second dashboard 600.
  • the dashboard 600 indicates that over the last thirty days the total number of visits was 85,000, that the number of visits with errors was 31 ,000, that the number of lost conversions was 24,600, that the impact on the predetermined goal is four percent, and that the amount that reflects the money that was lost due to the script errors, such as missed opportunities, is USD $4,587.
  • the dashboard 600 further indicates that, over the last thirty days, 1 ,588 visits were impacted by eight script errors.
  • the dashboard 600 further includes that the columns that show detailed information regarding each type of error, such as the error name, the number of visits with error, the number of lost conversions, the impact on a predetermined goal, and missed opportunities.
  • FIG. 7 is an example schematic diagram of an analytic system 130, according to an embodiment.
  • the analytic system 130 includes a processing circuitry 710 coupled to a memory 720, a storage 730, and a network interface 740.
  • the components of the analytic system 130 may be communicatively connected via a bus 750.
  • the processing circuitry 710 may be realized as one or more hardware logic components and circuits.
  • illustrative types of hardware logic components include field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), Application-specific standard products (ASSPs), system-on-a-chip systems (SOCs), graphics processing units (GPUs), tensor processing units (TPUs), general-purpose microprocessors, microcontrollers, digital signal processors (DSPs), and the like, or any other hardware logic components that can perform calculations or other manipulations of information.
  • FPGAs field programmable gate arrays
  • ASICs application-specific integrated circuits
  • ASSPs Application-specific standard products
  • SOCs system-on-a-chip systems
  • GPUs graphics processing units
  • TPUs tensor processing units
  • DSPs digital signal processors
  • the memory 720 may be volatile, such as random access memory (RAM), and the like, non-volatile, such as read only memory (ROM), flash memory, and the like, or a combination thereof.
  • RAM random access memory
  • ROM read only memory
  • flash memory and the like, or a combination thereof.
  • software for implementing one or more embodiments disclosed herein may be stored in the storage 730.
  • the memory 720 is configured to store such software.
  • Software shall be construed broadly to mean any type of instructions, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Instructions may include code, such as in source code format, binary code format, executable code format, or any other suitable format of code. The instructions, when executed by the processing circuitry 710, cause the processing circuitry 710 to perform the various processes described herein.
  • the storage 730 may be magnetic storage, optical storage, and the like, and may be realized, for example, as flash memory or another memory technology, compact disk-read only memory (CD-ROM), Digital Versatile Disks (DVDs), or any other medium which can be used to store the desired information.
  • flash memory compact disk-read only memory
  • DVDs Digital Versatile Disks
  • the network interface 740 allows the analytic system 130 to communicate with the various components, devices, and systems described herein for the purpose of identifying and quantifying script errors, and for other, related, purposes.
  • the various embodiments disclosed herein can be implemented as hardware, firmware, software, or any combination thereof.
  • the software is preferably implemented as an application program tangibly embodied on a program storage unit or computer readable medium consisting of parts, or of certain devices and/or a combination of devices.
  • the application program may be uploaded to, and executed by, a machine comprising any suitable architecture.
  • the machine is implemented on a computer platform having hardware such as one or more central processing units (“CPUs”), a memory, and input/output interfaces.
  • CPUs central processing units
  • the computer platform may also include an operating system and microinstruction code.
  • the various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU, whether or not such a computer or processor is explicitly shown.
  • various other peripheral units may be connected to the computer platform, such as an additional data storage unit and a printing unit.
  • a non-transitory computer readable medium is any computer readable medium except for a transitory propagating signal.
  • the phrase “at least one of” followed by a listing of items means that any of the listed items can be utilized individually, or any combination of two or more of the listed items can be utilized. For example, if a system is described as including “at least one of A, B, and C,” the system can include A alone; B alone; C alone; A and B in combination; B and C in combination; A and C in combination; or A, B, and C in combination.

Abstract

A system and method for quantifying impact of script error exceptions on performance of an online retail platform. A method includes selecting at least one performance metric for a webpage, wherein the selected performance metric has an impact due to at least one script error exception encountered on the webpage visited by a first user device; retrieving a normal value for each of the at least one selected performance metric for the webpage visited by a second user device; retrieving an abnormal value for each of the at least one selected performance metric for the webpage visited by the second user device; comparing the abnormal value to the normal value of a respective selected performance metric; and determining a performance impact score based on the comparison, wherein the performance impact score is indicative of a reduction in a performance metric of each of the least one selected performance metric.

Description

IDENTIFYING SCRIPT ERRORS IN AN ONLINE RETAIL PLATFORM AND
QUANTIFYING SUCH ERRORS
TECHNICAL FIELD
[001] The disclosure generally relates to monitoring browsing activity and particularly to identifying script errors in an online retail platform.
BACKGROUND
[002] The Internet is a collection of disparate computer systems which use a common protocol to communicate with each other. A common use of the Internet is to access World Wide Web (web) pages. Web pages are typically stored on a server and remotely accessed by a client over the Internet using a web browser. [003] A website is a collection of web pages. A website typically includes a home page and a hierarchical order of follow-on web pages that are accessible through the home page. The web pages are connected to each other using hypertext links. The links allow a user to browse web pages of a web site by selecting the links between the web pages. Distinct websites may be respectively identified by respective distinctly associated Internet domain names.
[004] Scripts, such as JavaScript, are interpreted by a web browser when a webpage is loaded. A webpage may include a number of scripts. A script may run with errors, thereby disabling some of the functionality of the webpage. Such errors may be due to programming errors, unsupported architectures, and the like. Script execution errors, also referred to as exceptions, may be displayed on the webpage as an error message, such as “image cannot be loaded,” or as indications by the web browser. However, a user has little to do with such errors, as the user is not required to perform any action.
[005] As such, the errors are not reported to the developers or owners of the website in real-time. To encounter such errors, a developer may be required to test and debug every script on each computing platform, such as a browser type, a browser version, an operating system type, and the like. This is a tedious task, and with the rapid changes in websites, it may be an impractical task. [006] Furthermore, script errors may lead to loss of revenue, for example, in e- commerce websites, increased frustration for users interacting with a website, or both. For example, when a script-executed function for placing an item in a cart does not work, a conversion will not happen and the user will be frustrated.
[007] It would therefore be advantageous to provide a solution that would overcome the deficiencies noted above.
SUMMARY
[008] A summary of several example embodiments of the disclosure follows. This summary is provided for the convenience of the reader to provide a basic understanding of such embodiments and does not wholly define the breadth of the disclosure. This summary is not an extensive overview of all contemplated embodiments, and is intended to neither identify key or critical elements of all embodiments nor to delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more embodiments in a simplified form as a prelude to the more detailed description that is presented later. For convenience, the term “certain embodiments” may be used herein to refer to a single embodiment or multiple embodiments of the disclosure.
Certain embodiments disclosed herein include a method for quantifying impact of script error exceptions on performance of an online retail platform. The method comprises: selecting at least one performance metric for a webpage, wherein the selected performance metric has an impact due to at least one script error exception encountered on the webpage visited by a first user device; retrieving a normal value for each of the at least one selected performance metric for the webpage visited by a second user device; retrieving an abnormal value for each of the at least one selected performance metric for the webpage visited by the second user device; comparing the abnormal value to the normal value of a respective selected performance metric; and determining a performance impact score based on the comparison, wherein the performance impact score is indicative of a reduction in a performance metric of each of the least one selected performance metric. [009] Certain embodiments disclosed herein also include a non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising: selecting at least one performance metric for a webpage, wherein the selected performance metric has an impact due to at least one script error exception encountered on the webpage visited by a first user device; retrieving a normal value for each of the at least one selected performance metric for the webpage visited by a second user device; retrieving an abnormal value for each of the at least one selected performance metric for the webpage visited by the second user device; comparing the abnormal value to the normal value of a respective selected performance metric; and determining a performance impact score based on the comparison, wherein the performance impact score is indicative of a reduction in a performance metric of each of the least one selected performance metric.
[010] Certain embodiments disclosed herein also include a system for quantifying impact of script error exceptions on performance of an online retail platform, comprising: a processing circuitry; and a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to: select at least one performance metric for a webpage, wherein the selected performance metric has an impact due to at least one script error exception encountered on the webpage visited by a first user device; retrieve a normal value for each of the at least one selected performance metric for the webpage visited by a second user device; retrieve an abnormal value for each of the at least one selected performance metric for the webpage visited by the second user device; compare the abnormal value to the normal value of a respective selected performance metric; and determine a performance impact score based on the comparison, wherein the performance impact score is indicative of a reduction in a performance metric of each of the least one selected performance metric.
BRIEF DESCRIPTION OF THE DRAWINGS [011] The subject matter of the disclosure is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages will become apparent and more readily appreciated from the following detailed description taken in conjunction with the accompanying drawings, in which:
[012] Figure 1 shows a network diagram utilized to describe the various embodiments of the invention.
[013] Figure 2 is a flowchart illustrating a method for collecting script exceptions by a tracking tag according to one embodiment
[014] Figure 3 is a flowchart illustrating a method for determining business impact of script errors according to one embodiment.
[015] Figure 4 is a flowchart illustrating a method for prioritizing script exceptions according to one embodiment.
[016] Figure 5 is an example screenshot showing the displayed processed information on a first dashboard.
[017] Figure 6 is an example screenshot showing the displayed processed information on a second dashboard.
[018] Figure 7 is a block diagram of a system utilized to process and analyze script exceptions according to an embodiment.
DETAILED DESCRIPTION
[019] It is important to note that the embodiments disclosed herein are only examples of the many advantageous uses of the innovative teachings herein. In general, statements made in the specification of the present application do not necessarily limit any of the various claimed embodiments. Moreover, some statements may apply to some inventive features but not to others. In general, unless otherwise indicated, singular elements may be in plural and vice versa with no loss of generality. In the drawings, like numerals refer to like parts through several views. [020] Fig. 1 shows an example diagram of a network system 100 utilized to describe the various embodiments. The network system 100 includes one or more user devices, 110-1 through 110-N (hereinafter referred to as “user device” 110 or “user devices” 110), at least one web server 120, and an analytic system 130, all connected to a network 140. The analytic system 130 may be adapted to process and analyze at least script activity information provided by the user devices 110. The analytic system 130 is further configured to gather, process, and analyze engagement data related to the engagement of users of user devices 110 interacting with a website hosted by the web server 120. In an example embodiment, such a website includes an e-commerce website, i.e., any website that offers goods, services, or both.
[021] The network 140 provides interconnectivity between the various components of the system. The network 140 may be, but is not limited to, a wireless, cellular or wired network, a local area network (LAN), a wide area network (WAN), a metro area network (MAN), the Internet, the worldwide web (WWW), similar networks, and any combination thereof. The network 140 may be a full- physical network, including exclusively of physical hardware, a fully-virtual network, including only simulated or otherwise virtualized components, or a hybrid physical-virtual network, including both physical and virtualized components. Further, the network 140 may be configured to encrypt data, both at rest and in motion, and to transmit encrypted, unencrypted, or partially-encrypted data. The network 140 may be configured to connect to the various components of the system 100 via wireless means such as, as examples and without limitation, Bluetooth long-term evolution (LTE), Wi-Fi, other, like, wireless means, and any combination thereof, via wired means such as, as examples and without limitation, ethernet, universal serial bus (USB), other, like, wired means, and any combination thereof. Further, the network 140 may be configured to connect with the various components of the system 100 via any combination of wired and wireless means. [022] A user device 110 may be any computing device allowing a user to at least download web-pages, display web-pages, and interact with web-pages. A user device 110 may be, but is not limited to, a smart phone, a tablet computer, a personal computer, a laptop computer, a netbook computer, an electronic reader, and the like. A user device may be installed with a web browser 112, such as Safari®, Firefox®, Internet Explore®, Chrome®, and the like. The processor of the user device 110 runs an operating system that may include, without limitation, iOS®, Android®, Unix®, Windows®, and the like. It should be noted that the browser 112 may include any mobile application executable over the user device 110 and/or an extension of the browser 112. Such an application is typically downloaded from a central repository (not shown) which may be, for example and without limitation, AppStore® by Apple Computers®, Google® Play®, and the like. [023] The web server 120 can host a website accessed through a browser 112. The web server 120 may also execute an application that provides functionality and content to a mobile application executed over a user device 110. The teachings disclosed herein can be utilized to identify script errors, to quantify such errors, and to generate other analytics data that is based on scripts of either the web pages of a website displayed over a browser 112 or the content displayed over a mobile application. Without limiting the scope of the disclosed embodiment and merely for the sake of simplicity, the description hereinbelow will be made with reference to the browser 112. It should be further noted that the disclosed teachings are not limited to scripts retrieved from one server. The browser 112 can render display content retrieved from a plurality of servers, web servers, application servers, or any combination thereof.
[024] Any webpage visited by a user device 110 and provided by the web server 120 includes a tracking tag. The tracking tag, when interpreted by a browser 112, executes a piece of code, such as a script, configured to track an interaction of a user with the web page. This includes a URL visited, any element in the page clicked on, or hovered over, by the user, and the like. In an embodiment, the tracking tag may be configured to capture, or otherwise intercept, script execution errors (hereinafter referred to as “error exceptions”). Each error exception is reported with the URL, a page on which the URL was executed, a line error, and a script name. As will be demonstrated below, a script can run without error on one browser, but may be run with errors on another browser. [025] The analytic system 130, depicted in detail with respect to Fig. 7, below, is a system configured to execute instructions, organize information, and otherwise process data. The analytic system 130 may be configured to execute the methods described hereinbelow, other, like, methods, and any combination thereof. As described with respect to Fig. 7, below, the analytic system 130 may include various processing, memory, networking, and other components allowing the analytic system 130 to execute instructions and provide data processing. The analytic system 130 may be implemented as physical hardware, as software virtualizing physical hardware, or as a combination of physical and virtualized components.
[026] According to the disclosed embodiment, the analytic system 130 is configured to receive browsing activity from any user device, such as the user device 110, processing the tracking tag. In an embodiment, the browsing activity includes script exceptions, such as error exceptions, and interaction information of the user with any tracked webpage.
[027] An error exception, such as an error message, may be, for example, an electronic notification that is generated by, for example, JavaScript, when an error occurs in the script that runs a web page using a certain browser. For example, when an error occurs, JavaScript stops and generates an error message. The error exception is indicative of a script error that is associated with at least one script of a first website. The first website may be, for example, a retail website, such as a Nike® website, an Amazon® website, and the like. The error exception may be received from at least one user device, such as the device 110-1 , that browses through the first website. An error exception may include the script name generated the error, the error code line, and the URL. For example, when JavaScript is interpreted by Chrome®, a specific web browser, an error occurs. The error may indicate, for example, the name of the script that throws the error, i.e., generated the error, is JavaScript, the code line indicating that an “add to cart” button is not working properly, and the URL indicating the specific web page at which the error occurred. It should be noted that, upon identification of an error, the script, such as JavaScript, may create an error object that includes a name and message.
[028] The interaction information of the browsing activity may include mouse movements, scrolling of web page, resizing of browser window, click events, keyboard use with any element of a webpage, and the like, as well as any combination thereof. The interaction information may further include, without limitation, information regarding page URL, referrer, load time, IP address, browser type, screen resolution, page views, and the like.
[029] The interaction information may be processed by the system 130 to determine one or more performance metrics. Such metrics include, for example, a number of clicks made during the user’s visit in the web page, a click rate, a conversion rate, and the like. The performance metrics determined for each website, webpage, or both are tracked by the analytic system 130 and may be saved in a database 150, connected to the network 140. In some embodiments, browsing activity that includes error exceptions is marked as abnormal performance metrics, while other metrics are marked as normal.
[030] In an embodiment, the analytic system 130 is configured to aggregate error exceptions for each webpage, such as a URL, on a tracked website. The aggregation may be further based on, for example, a script name, a browser type, functions (i.e. , error type), and the like. It should be noted that error exceptions are related to the same website. That is, error exceptions that are associated with a first website are aggregated separately from error exceptions that are associated with a second website. For example, fifty (50) error exceptions are received and aggregated by the analytic system 130. According to the same example, fifteen error exceptions indicate that the script is a JavaScript that runs on Safari® browser, that the error is that “BUY” button does not work properly (i.e., error type), and that the error occurs in a Timberland® website at the “mens-boots” web page, providing, for example, the specific URL indicating the specific web page at which the error occurred. According to the same example, 45 error exceptions indicate that the script is a JavaScript that runs on Chrome® browser, that the error is that the “add to cart” button does not work properly (i.e., error type), and that the error occurs in the Timberland® website at the “kids-sandals” web page, providing, for example, a specific URL indicating the specific web page at which the error occurred. According to the same example, 25 error exceptions indicate that the script is a JavaScript that runs on Chrome® browser, that the error is that images are not displayed properly (i.e., error type), and that the error occurs in a Timberland® website at the “womens-best-sellers” web page, providing, for example, a specific URL indicating the specific web page at which the error occurred. According to the same example, all fifty exceptions are aggregated based on their properties.
[031] In an embodiment, the analytic system 130 is further configured to analyze the aggregated error exceptions to determine a performance impact score. The performance impact score indicates an impact level of aggerated error exceptions, for the same page, on at least one performance metric of the first website. As noted above, performance metric may be, for example, a conversion rate, a click-through rate, a number of pageviews, a cart abandonment rate, and the like.
[032] In one embodiment, the analysis may include comparing at least one performance metric that is associated with at least one script, in which the at least one error exception was detected, to an identical performance metric of a plurality of scripts that do not demonstrate error exceptions. The performance impact score may be an integer number from “0” to “5”, where “0” is the lowest score indicating that the at least one error exception, such as a script error, has no impact on one or more of the performance metrics, and where a performance impact score of “five” indicates the highest performance impact, i.e., a negative impact. For example, two hundred error exceptions may indicate that an “add to cart” button is not working properly in a specific web page at Amazon® website and that the conversion rate, an example of a performance metric that is associated with these two hundred visits is 0%. According to the same example, the analytic system 130 compares the 0% conversion rate, an example of a performance metric, that is associated with the scripts in which error occurred to a conversion rate, or other, identical performance metric, that is associated with scripts that do not demonstrate error exceptions, such as script errors. According to the same example, the conversion rate of the properly working code, such as code wherein no error exception is identified, may be 4.3%a four-and-a-half percent conversion rate, which may be which is a high conversion rate relative to comparable conversion rates, and, therefore, the performance impact score may be relatively high, such as 5, indicating that the impact of the error exception is high.
[033] In an embodiment, the analytic system 130 is configured to determine, based on the result of the analysis, the performance impact score that is indicative of a level of impact of the at least one error exception on at least one performance metric of the first website.
[034] In a further embodiment, the analytic system 130 is configured to determine a business impact score, indicating a business impact level of the at least one error exception based on the determined performance impact score or scores. The business impact score may be a ranking from “A” to “C,” where “C” is the lowest score, indicating that a determined performance impact has no business impact, and where “A” indicates the highest business impact, such as a negative impact. For example, when a performance impact score of “5” has been determined with respect to 1 ,000 error exceptions collected form the same website, the business impact score, or ranking, may be “A.” The determination of the business impact score may be achieved based on analysis of the determined performance impact score or scores.
[035] In an embodiment, the analytic system 130 is configured to prioritize each of the at least one error exception based on the determined business impact score related thereto. That is, a first error exception, such as a script error exception indicating that a “buy” button is not working properly, may have a greater negative business impact than a second error exception, such as a script error exception indicating that the company’s logo is not displayed properly. The process of prioritizing the error exceptions is described in greater detail below with respect to Fig. 4.
[036] Fig. 2 is an example flowchart 200 of a method for collecting script error exceptions (hereinafter referred to as “error exceptions”) and for sending the script error exceptions to a designated server, according to one embodiment. [037] At S210, a tracking tag, which may be implemented by or as a tracking script or the like, is downloaded to a web page that was downloaded to the browser that is utilized by the user device. The tracking tag may be part of the web page content retrieved from the web server or may be embedded in a mobile application. The downloaded tracking tag is saved in a tangible memory of the user device and executed thereon. In one embodiment, the tracking tag is realized as JavaScript. The tracking tag enables tracking and monitoring of script activity of one or more web pages of a website and, therefore, allows for determination of whether an error exception has been detected.
[038] At S220, a notification regarding at least one error exception, such as script error exception, is captured by the tracking tag. The notification may be an electronic message the contains data, such as script error exception data, regarding one or more script error that occurred.
[039] At S230, script error exception data is extracted from the notification. The script error exception data may include, for example, a script name, an error type, a URL at which the error occurred, and the like.
[040] At S240, the script error exception data is sent over a network, such as the network 140, to a designated server, such as the analytic system 130, for further usage.
[041] Fig. 3 shows an example flowchart 300 illustrating a method for analyzing aggregated script error exceptions (hereinafter referred to as “error exceptions”), and for determining one or more impacts of the script error exceptions, according to one embodiment. In an embodiment the method is performed by the analytic system 130.
[042] At S310, at least one performance metric for a specific webpage is selected. The selected performance metric is to determine the impact of the error exception on this metric. For example, if the selected metric is a number of clicks on an “subscribe” element, the determination would be how the error exceptions reduce the number of clicks. Other examples for performance metrics include, without limitation, a conversion rate, a click-through rate, a number of pageviews, a cart abandonment, and the like. [043] At S320, the value for the selected performance metric for the webpage is retrieved from, for example, a database, such as the database 150 shown in Fig. 1 . The performance metric’s value is logged for one or more webpages where error exceptions have not occurred and one or more webpages where error exceptions occurred. The former represents a normal metric’s value of a normal activity for the webpage, the website, or both, and the latter represents abnormal activity. For example, the webpage having a URL “myservices.com,” includes a “subscribe” button for which a call-for-action for is rendered by an execution of script. The script may run without errors on a Chrome® browser but with errors on an Explorer® browser. As such, normal performance metric values, such as a number of clicks, will be logged for user access using the Chrome® browser, and abnormal performance metric values will be logged for user access using the Explorer® browser. The performance metrics’ values are retrieved for each selected performance metric.
[044] At S330, for each selected performance metric, the normal performance metric’s value is compared to the respective abnormal value.
[045] At S340, a performance impact score of the at least one error exception is determined. The performance impact score indicates an impact level of the at least one error exception on at least one performance parameter of a first website. The performance impact score may be an integer number from “0” to “5”, where “0” is the lowest score indicating that the at least one error exception (e.g., such as a script error exception, has no impact on one or more of the performance metrics. A performance impact score of “5” indicates the highest performance impact, which may be, in an embodiment, usually a negative impact. As another example, the normal metric’s value may be normalized to 100 and the abnormal metric’s value may be a percentage of that normalized value. For example, if the number of clicks in a webpage that operates without errors is 1000 and the number of clicks on a page that operates with script errors is 200, the impact score would be two percent, 2% (e.g, or a 98% performance reduction).
[046] At S350, a business impact score of the at least one error exception is determined based on the determined performance impact score. The business impact score indicates a business impact level of the at least one error exception based on the determined performance impact score or scores. As noted above, the business impact score may be a ranking from “A” to “C,” where “C” is the lowest score indicating that determined performance impact has no business impact, and where “A” indicates the highest business impact, which may be, in some embodiments, usually a negative impact.
[047] At S360, a monetary value is determined based on the business impact score. The monetary value may include loss of revenue due to error exceptions. For example, if the impact score is 2% reduction, a revenue reduction of 98% may also be demonstrated.
[048] At S370, the errors, the business impact score, and the monetary value are displayed. An example screenshot showing the displayed information is shown in Figs. 5 and 6.
[049] Fig. 4 shows an example flowchart 400 illustrating a method for prioritizing script error exceptions (hereinafter referred to as “error exceptions”), according to one embodiment. In an embodiment, the method is performed by the analytic system 130.
[050] At S410, a business impact score of each of the at least one script error exception is extracted from, for example, a database, such as the database 150, shown in Fig. 1 .
[051] At S420, the business impact score of each of the at least one error exception is analyzed. The analysis may include comparing all business impact scores to determine the priority.
[052] At S430, each of the at least one error exception is prioritized according to the business impact score related thereto. That is, a first error exception, such as a script error indicating that a “buy” button is not working properly, may have a greater negative business impact than a second script error, such as a script error indicating that the company’s logo is not displayed properly. For example, a first error exception for which a relatively high business impact score was determined may get a higher priority compared to a second error exception for which a relatively low business impact score was determined. It should be noted that it may be desirable to fix a first script error that causes damages to a website (i.e., from the perspective of a company that owns the website) before fixing a second script error that causes less damage than the first script error. Therefore, there is a need for prioritizing each of the at least one error exception according to its business impact score.
[053] Fig. 5 is an example screenshot showing the displayed processed information on a first dashboard 500. The dashboard 500 summarizes the processed script error exceptions data. The dashboard includes a header in which a number of visits (e.g., 746,250) that were impacted by a number of script errors (e.g., 47) is indicated. The dashboard 500 further indicates that, over the last 30 days the 47 script errors occurred, in 21 URL’s, in 37 pages, in two browsers, in one operating system (OS), in two type of devices, and in 87 countries. Below the header, a first left column depicts the errors’ type, the following right column depicts the number of visits with errors, the next following right column depicts the number of lost conversions, the next following right column depicts the impact on a predetermined goal. One column before the last right column is a column that depicts a value that reflects the missed opportunity, such as how much money was lost due to a specific script error.
[054] Fig. 6 is another example screenshot showing the displayed processed information on a second dashboard 600. The dashboard 600 indicates that over the last thirty days the total number of visits was 85,000, that the number of visits with errors was 31 ,000, that the number of lost conversions was 24,600, that the impact on the predetermined goal is four percent, and that the amount that reflects the money that was lost due to the script errors, such as missed opportunities, is USD $4,587. The dashboard 600 further indicates that, over the last thirty days, 1 ,588 visits were impacted by eight script errors. The dashboard 600 further includes that the columns that show detailed information regarding each type of error, such as the error name, the number of visits with error, the number of lost conversions, the impact on a predetermined goal, and missed opportunities.
[055] Fig. 7 is an example schematic diagram of an analytic system 130, according to an embodiment. The analytic system 130 includes a processing circuitry 710 coupled to a memory 720, a storage 730, and a network interface 740. In an embodiment, the components of the analytic system 130 may be communicatively connected via a bus 750.
[056] The processing circuitry 710 may be realized as one or more hardware logic components and circuits. For example, and without limitation, illustrative types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), Application- specific standard products (ASSPs), system-on-a-chip systems (SOCs), graphics processing units (GPUs), tensor processing units (TPUs), general-purpose microprocessors, microcontrollers, digital signal processors (DSPs), and the like, or any other hardware logic components that can perform calculations or other manipulations of information.
[057] The memory 720 may be volatile, such as random access memory (RAM), and the like, non-volatile, such as read only memory (ROM), flash memory, and the like, or a combination thereof.
[058] In one configuration, software for implementing one or more embodiments disclosed herein may be stored in the storage 730. In another configuration, the memory 720 is configured to store such software. Software shall be construed broadly to mean any type of instructions, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Instructions may include code, such as in source code format, binary code format, executable code format, or any other suitable format of code. The instructions, when executed by the processing circuitry 710, cause the processing circuitry 710 to perform the various processes described herein.
[059] The storage 730 may be magnetic storage, optical storage, and the like, and may be realized, for example, as flash memory or another memory technology, compact disk-read only memory (CD-ROM), Digital Versatile Disks (DVDs), or any other medium which can be used to store the desired information.
[060] The network interface 740 allows the analytic system 130 to communicate with the various components, devices, and systems described herein for the purpose of identifying and quantifying script errors, and for other, related, purposes.
[061] It should be understood that the embodiments described herein are not limited to the specific architecture illustrated in Fig. 7, and other architectures may be equally used without departing from the scope of the disclosed embodiments. [062] The various embodiments disclosed herein can be implemented as hardware, firmware, software, or any combination thereof. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage unit or computer readable medium consisting of parts, or of certain devices and/or a combination of devices. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (“CPUs”), a memory, and input/output interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU, whether or not such a computer or processor is explicitly shown. In addition, various other peripheral units may be connected to the computer platform, such as an additional data storage unit and a printing unit. Furthermore, a non-transitory computer readable medium is any computer readable medium except for a transitory propagating signal.
[063] A person skilled-in-the-art will readily note that other embodiments of the disclosure may be achieved without departing from the scope of the disclosure. All such embodiments are included herein. The scope of the disclosure should be limited solely by the claims thereto.
[064] As used herein, the phrase “at least one of” followed by a listing of items means that any of the listed items can be utilized individually, or any combination of two or more of the listed items can be utilized. For example, if a system is described as including “at least one of A, B, and C,” the system can include A alone; B alone; C alone; A and B in combination; B and C in combination; A and C in combination; or A, B, and C in combination.
[065] All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the disclosed embodiments and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the disclosed embodiments, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.

Claims

CLAIMS What is claimed is:
1 . A method for quantifying impact of script error exceptions on performance of an online retail platform, comprising: selecting at least one performance metric for a webpage, wherein the selected performance metric has an impact due to at least one script error exception encountered on the webpage visited by a first user device; retrieving a normal value for each of the at least one selected performance metric for the webpage visited by a second user device; retrieving an abnormal value for each of the at least one selected performance metric for the webpage visited by the second user device; comparing the abnormal value to the normal value of a respective selected performance metric; and determining a performance impact score based on the comparison, wherein the performance impact score is indicative of a reduction in a performance metric of each of the least one selected performance metric.
2. The method of claim 1 , further comprising: determining a monetary impact based on value based on the business impact score for each of the least one selected performance metric.
3. The method of claim 2, further comprising: prioritizing each of the at least one script error exception based on the determined business impact score.
4. The method of claim 3, further comprising: reporting the performance impact score, the monetary impact, and the respective script error exception caused a performance impact.
5. The method of claim 1 , wherein the at least one performance metric is any one of: a conversion rate, a click-through rate, a number of pageviews, a cart abandonment.
6. The method of claim 1 , further comprising: receiving browsing activity from at least the first user device and the second user device.
7. The method of claim 6, wherein the browsing activity is independently captured on each of the first user device and the second user device.
8. The method of claim 6, wherein the second user device did not encounter script errors, and wherein the first user device encounters script errors.
9. The method of claim 1 , wherein determining the performance impact score further comprises: determining a trend of the impact score.
10. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising: selecting at least one performance metric for a webpage, wherein the selected performance metric has an impact due to at least one script error exception encountered on the webpage visited by a first user device; retrieving a normal value for each of the at least one selected performance metric for the webpage visited by a second user device; retrieving an abnormal value for each of the at least one selected performance metric for the webpage visited by the second user device; comparing the abnormal value to the normal value of a respective selected performance metric; and determining a performance impact score based on the comparison, wherein the performance impact score is indicative on a reduction in a performance metric of each of the least one selected performance metric.
11. A system for quantifying impact of script error exceptions on performance of an online retail platform, comprising: a processing circuitry; and a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to: select at least one performance metric for a webpage, wherein the selected performance metric has an impact due to at least one script error exception encountered on the webpage visited by a first user device; retrieve a normal value for each of the at least one selected performance metric for the webpage visited by a second user device; retrieve an abnormal value for each of the at least one selected performance metric for the webpage visited by the second user device; compare the abnormal value to the normal value of a respective selected performance metric; and determine a performance impact score based on the comparison, wherein the performance impact score is indicative of a reduction in a performance metric of each of the least one selected performance metric.
12. The system of claim 11 , wherein the system is further configured to: determine a monetary impact based on value based on the business impact score for each of the least one selected performance metric.
13. The system of claim 12, wherein the system is further configured to: prioritize each of the at least one script error exception based on respective determined business impact score.
14. The system of claim 13, wherein the system is further configured to: report the performance impact score, the monetary impact, and the respective script error exception caused a performance impact.
15. The system of claim 11 , wherein the at least one performance metric is any one of: a conversion rate, a click-through rate, a number of pageviews, a cart abandonment.
16. The system of claim 11 , wherein the system is further configured to: receive browsing activity from at least the first user device and the second user device.
17. The system of claim 16, wherein the browsing activity is independently captured on each of the first user device and the second user device.
18. The system of claim 16, wherein the second user device did not encounter script errors, and wherein the first user device encounters script errors.
19. The system of claim 11 , wherein the system is further configured to: determine a trend of the impact score.
PCT/IB2020/056271 2020-07-02 2020-07-02 Identifying script errors in an online retail platform and quantifying such errors WO2022003403A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/IB2020/056271 WO2022003403A1 (en) 2020-07-02 2020-07-02 Identifying script errors in an online retail platform and quantifying such errors
EP20737585.8A EP4176352A1 (en) 2020-07-02 2020-07-02 Identifying script errors in an online retail platform and quantifying such errors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2020/056271 WO2022003403A1 (en) 2020-07-02 2020-07-02 Identifying script errors in an online retail platform and quantifying such errors

Publications (1)

Publication Number Publication Date
WO2022003403A1 true WO2022003403A1 (en) 2022-01-06

Family

ID=71527863

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2020/056271 WO2022003403A1 (en) 2020-07-02 2020-07-02 Identifying script errors in an online retail platform and quantifying such errors

Country Status (2)

Country Link
EP (1) EP4176352A1 (en)
WO (1) WO2022003403A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024023756A1 (en) * 2022-07-28 2024-02-01 Content Square SAS Real-time alerting system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040158429A1 (en) * 2003-02-10 2004-08-12 Bary Emad Abdel Method and system for classifying content and prioritizing web site content issues
US20150058077A1 (en) * 2013-08-23 2015-02-26 Kobo Incorporated Reporting results of an ab type of test
US20190260818A1 (en) * 2018-02-20 2019-08-22 Quantum Metric, Inc. Techniques for identifying issues related to digital interactions on websites
US20200127904A1 (en) * 2015-08-25 2020-04-23 Google Llc Systems and methods for configuring a resource for network traffic analysis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040158429A1 (en) * 2003-02-10 2004-08-12 Bary Emad Abdel Method and system for classifying content and prioritizing web site content issues
US20150058077A1 (en) * 2013-08-23 2015-02-26 Kobo Incorporated Reporting results of an ab type of test
US20200127904A1 (en) * 2015-08-25 2020-04-23 Google Llc Systems and methods for configuring a resource for network traffic analysis
US20190260818A1 (en) * 2018-02-20 2019-08-22 Quantum Metric, Inc. Techniques for identifying issues related to digital interactions on websites

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024023756A1 (en) * 2022-07-28 2024-02-01 Content Square SAS Real-time alerting system

Also Published As

Publication number Publication date
EP4176352A1 (en) 2023-05-10

Similar Documents

Publication Publication Date Title
US11836666B2 (en) Identifying script errors in an online retail platform and quantifying such errors
US11646947B2 (en) Determining audience segments of users that contributed to a metric anomaly
US20210194751A1 (en) Identifying contributing factors to a metric anomaly
US10404777B2 (en) Identifying sources of anomalies in multi-variable metrics using linearization
KR101828506B1 (en) Visualization of jvm and cross-jvm call stacks
US11704177B2 (en) Session triage and remediation systems and methods
US11822614B2 (en) System and method for identifying and scoring in-page behavior
US20130083996A1 (en) Using Machine Learning to Improve Visual Comparison
US11720379B2 (en) Acquisition process of GUI elements using user input
US20220035888A1 (en) Journeying user activities through a website
WO2015114753A1 (en) Analysis device and analysis method
US20170032252A1 (en) Method and system for performing digital intelligence
US20220027827A1 (en) Benchmarking of user experience quality
US20150066965A1 (en) Data processing, data collection
WO2022003403A1 (en) Identifying script errors in an online retail platform and quantifying such errors
US11561962B2 (en) System and method for detecting changes in webpages and generating metric correlations therefrom
US11799746B2 (en) Method for near-real-time communicating negative user experience of users interacting with a website
US20230131682A1 (en) Facilitated live analysis of screen content
US11593451B2 (en) System and method for comparing zones for different versions of a website based on performance metrics
TWI757169B (en) Computer-implemented system and method for live analysis of virtual server logs
US10528449B2 (en) Grouping event reports
Bilal et al. An Effective Quality Model for Evaluating Mobile Websites.
US11272022B2 (en) Server for generating integrated usage log data and operating method thereof
WO2022018505A1 (en) Method for near-real-time communicating negative user experience of users interacting with a website
US9916190B1 (en) Interprogram communication with event handling for subscription tagging

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20737585

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020737585

Country of ref document: EP

Effective date: 20230202