WO2019243319A1 - Fourniture d'une notification de pousser après l'exécution d'une action - Google Patents
Fourniture d'une notification de pousser après l'exécution d'une action Download PDFInfo
- Publication number
- WO2019243319A1 WO2019243319A1 PCT/EP2019/065999 EP2019065999W WO2019243319A1 WO 2019243319 A1 WO2019243319 A1 WO 2019243319A1 EP 2019065999 W EP2019065999 W EP 2019065999W WO 2019243319 A1 WO2019243319 A1 WO 2019243319A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- client device
- server
- condition
- module
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0222—During e-commerce, i.e. online transactions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0253—During e-commerce, i.e. online transactions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
Definitions
- the present invention relates to using a web browser to carry out an action associated with the web browser. A detection is made of completion of a particular action. If a further condition is then detected a push notification is generated.
- the devices may be used to access websites.
- the websites are associated with web applications hosted by web servers.
- the websites offer various functionality to the user accessing them.
- a user may access a web page of a website using a web browser, and browse items offered for sale on the website.
- the user may select one or more items to purchase. This selection may comprise adding one or more items to a so-called basket or a so-called shopping cart.
- the user may complete a purchase transaction and thus complete the action .
- third party software applications which can be used to enhance the services provided by a website to users.
- the third party software applications may not be visible to a user as being provided by a third party.
- notifications are generated after completion of an action.
- Notifications may be web notifications or push notifications .
- the arrangement can be considered as a method of generating a user notification in a client device enabled for web browsing, the client device being in communication with a server having a server instance of an enhancement application, the client device having a client instance of the enhancement application, the method comprising the steps of: detecting an action event at a client device; and monitoring for a condition after the event, and on detection of that condition, generating a web or push notification.
- a client device and/or a server device may be configured to provide such a method.
- the arrangement may be implemented independently or together with another arrangement .
- a user places a product in a basket page, and completes a purchase.
- the user data is sent to the server.
- the server sends a signal to client with a promotion.
- the server is performing the monitoring in this case, but because the webpage has been open all the time, the notification can be performed with a web notification.
- the only requirement for the web notification is that the web page where software is installed is opened (but it does not need to be active) .
- monitoring can be at the client device or the server device. Monitoring at the sever device can be utilised for push and web notifications.
- the arrangement can be considered as a method of generating a notification in a client device enabled for web browsing, the client device being in communication with a server having a server instance of an enhancement application, the client device having a client instance of the enhancement application, the method comprising the steps of : monitoring for a condition at the client device, the condition corresponding to a user activity denoting completion of an action; monitoring for a further condition at the client device or the server device; if the further condition is detected, generating a web or a push notification in the client device to a user of the client device .
- the notifications may be generated in the client device. With web notifications, there may be no requirements for any background service such as web worker functionality. With web notifications, there may be no requirement for a communication to the client device from the server device . If the notifications are push notifications, then the notifications may require a message to be sent from the server to the client device, with a background service such as web worker functionality in the client device being controlled from the server device.
- a core principle of generating notifications after completion of an action is that the action is completed, and then the system monitors to see whether a second condition (such as an elapsed time) occurs after the action has completed. If/when that second condition is detected, a notification occurs.
- a second condition such as an elapsed time
- the notifications after completion of an action may be either push or web notifications, and the second event may be an abandonment action. Distraction events are not relevant here .
- a web page associated with enhancement application to be open at the client device.
- a first condition is detected at a client device, and monitoring for a second condition takes place at the client device or the server device.
- push notifications are provided after detection of completion of an action.
- Push notifications are generated. This requires a web worker at client device.
- a second condition can be monitored for at the client device or the server device.
- a method of generating a user notification in a client device enabled for web browsing the client device being in communication with a server having a server instance of an enhancement application, the client device having a client instance of the enhancement application, the method comprising the steps of: detecting completion of an action by a client device, which action is associated with a web page for which an enhancement application is enabled; determining if a web worker functionality is enabled at the client device, and if so: responsive to a condition being detected generating a push notification.
- the step of generating a push notification may comprise: monitoring for a condition at the client device or server device; setting a trigger on detection of the condition; and responsive to that trigger generating the push notification.
- the completion of an action may be detected at the client device and/or at the server device.
- the condition may be indicative that the user has abandoned the web page .
- the condition may be indicative of a predetermined time elapsing since completion of the action.
- the method may further comprise setting a timer at the client device, and measuring an elapsed time at the client device.
- the method may further comprise setting a timer at the server, and measuring an elapsed time at the server.
- the server On determination of the elapsed time, notifies the client device for the client device to generate the web notification.
- the condition may be indicative of communication with a further web page being lost .
- the server may be configured to monitor the communication with the further web page.
- the server On determination that the communication with the further web page is lost, the server notifies the client device for the client to generate the web notification.
- the web notification may be to prompt the user of the client device to complete the action.
- a web page associated with the enhancement application is not open, then it may be determined if web worker functionality is present in the client device, and if so monitoring for a second condition at the client device or the server device; setting a second trigger on detection of the second condition; and responsive to the second trigger generating a push notification.
- the method may further comprise the step of registering for notifications.
- a client device having a client instance of an enhancement application and being in communication with a server having a server instance of the enhancement application, wherein the client device is configured to generate a user notification
- the client device comprising: a monitor for monitoring for completion of an action at a web page of the client device, which web page is associated with an enhancement application; a monitor for detection of a condition following completion of the action; and a monitor for determining if a web worker functionality is provided at the client device; and a controller for generating a push notification responsive to detection of the condition.
- the monitor may be configured to determine if the user has abandoned the web page .
- the monitor may be configured to determine if a predetermined time has elapsed since completion of the action.
- the monitor may be configured to determine if a communication with a further web page is lost.
- the web notification may be to prompt the user of the client device to complete the action.
- a monitor may determine if a web page associated with the enhancement application is open, and if so the controller is configured to generate a push notification.
- the client device may further comprise a module for registering for notifications.
- a server having a server instance of an enhancement application and being in communication with one or more client device having a client instance of the enhancement application, wherein the server device is configured to communicate with the client device to generate a user notification, the server being configured to: receive a signal from the client device that an action has been completed; monitor for detection of a condition following notification of completion of the action; and transmit a notification to the client device if the condition is detected.
- a system for providing an enhancement application comprising: client device having a client instance of an enhancement application; a server having a server instance of the enhancement application, wherein the client device and the server are in communication, the client device being configured to generate a user notification, and further wherein: the system is configured to detect completion of an action; and the client device or the server is configured to detect a further condition following completion of the action; and the client device is configured to generate a push notification on detection of the further condition.
- the client device may be configured to detect the further condition.
- the server may be configured to detect the further condition, and notify the client device on detection of the further condition, wherein the client device generates the push notification response thereto.
- An activity monitor may be in the client device and/or the server device.
- a method of generating a user notification in a client device enabled for web browsing the client device being in communication with a server having a server instance of an enhancement application, the client device having a client instance of the enhancement application, the method comprising the steps of: detecting completion of an action by a client device, which action is associated with a web page for which an enhancement application is enabled; determining if a web page associated with the enhancement application is open, and if so: monitoring for an abandonment condition of the web page; and responsive to detecting abandonment generating a push or web notification.
- a device (such as a client device or server device) may be provided to implement this method, or a combinations of devices (such as a server and client device) .
- detecting completion of an action and sending a notification.
- the notification may be transmitted because an abandonment is detected.
- the notification may be a push notification or a web notification.
- the abandonment may be detected based on a lost time - with push notification or web notification; or due to lost communications - with push notification or web notification.
- Figure 1 is a general network illustration of client computing devices and web servers in which web pages are displayed to users at browsers associated with the computing devices;
- Figure 2 is an exemplary illustration of the connection between a web server providing a website which is accessed by a browser of a computing device, which web server service is enhanced by the provision of enhancement services from a third party software application;
- Figures 3 (a) and 3 (b) illustrate an exemplary implementations of notifications opt-in for desktop or mobile implementations;
- Figure 4 illustrates an exemplary implementation of a server device;
- Figure 5 illustrates an exemplary implementation of a client device
- Figure 6 illustrates an exemplary implementation of the functionality to monitor activity in an exemplary client device
- Figure 7 illustrates an exemplary process flow for detection of a condition indicating that a user has completed an action after the initiation of the action is detected
- Figures 8 (a) to 8 (c) illustrate an exemplary process flow for generation of a web notification following detection of completion of an action
- Figure 9 illustrates an exemplary process flow for generation of a push notification following detection of completion of an action
- Figure 10 illustrates an exemplary process flow for detection of an abandonment event resulting from an elapsed time detected at a server device following detection of completion of an action at a web page of an associated client device;
- Figure 11 illustrates an exemplary process flow for detection of an abandonment event resulting from termination of communication between a server device and a client device following detection of completion of an action at a web page of the client device.
- FIG. 1 A system environment in which examples may be implemented is shown in Figure 1.
- Figure 1 shows an exemplary high level system architecture 100 consisting of example client-side computing devices 104a, 104b, 104c, 104d capable of communicating with example web servers 106a, 106b, 106c via a network 102.
- This architecture supports the browsing of websites by devices known as client or user devices .
- the client-side computing devices 104a to 104d are examples of devices which may generally be referred to as client devices, user devices or front-end devices.
- client devices user devices
- front-end devices are used interchangeably herein.
- front-end may refer to operation at these devices.
- client-side computing devices are a smart phone 104a, a laptop computer 104b, a tablet 104c, and a desktop computer 104d.
- a selection of computing devices are shown to illustrate that the present technology may operate with different client-side computing devices.
- the system may include client-side computing devices in addition to or instead of those shown.
- the desktop computer 104d and the laptop computer 104b are examples of devices having full processing capability.
- the smart phone 104a and the tablet 104c are examples of devices having reduced processing capability.
- the web servers 106a to 106c are examples of devices which may generally be referred to as web servers or server devices .
- the terms server device and web server are used interchangeably herein.
- the server devices are back-end devices.
- the term back-end refers to operation at a server device.
- Servers 106a to 106c are examples of computing devices configured to host web pages.
- Each web page is rendered as a part of a web application 110a to 110c, referred to as web applications A, B, C, which each comprise respective web pages.
- Illustrated are three web applications 110a to 110c each shown as having three web pages: 112i to 1123; 114i to 1143; and II6 1 to II6 3 respectively referred to as web page 1, web page 2, web page 3.
- Each web application 110a to 110c may have a single web page or multiple web pages, and the illustration of three web pages is not limiting. While three web servers are shown, the present technology may operate with a single server or two or more servers. Any single server may host web pages from one or more web applications, some or all of which may collaborate with each other. Web applications which cooperate with each other may be spread across different servers. All variations as known in the art are encompassed.
- a website has a back-end (at a server side) that serves a file, and a front-end (at the user device or client device) that displays HTML in a browser.
- a website is typically a group of web pages.
- web application A 110a
- web application A is a website merchant.com associated with three different web pages: web page 1 112i (merchant.com/home); web page 2 112 2
- Each computing device 104a to 104d may include a browser application, or browser, respectively identified by reference numerals 108a to 108d.
- the operation of browsers are known, but in general the computing devices 104a to 104d each run a version of a browser as part of their operating system, capable of accessing and retrieving web pages from web servers such as servers 106a to 106c.
- the browser on each computing device retrieves an electronic document, or web page, from a web site, e.g. associated with one of web servers 106a to 106c, and displays the web page on a monitor, screen or other output mechanism associated with it .
- a URL Uniform Resource Locator
- a URL may be specified, for example, by entering a URL character string using a user interface, by selecting a hyperlink specifying the URL in a HTML (HyperText Markup Language) document currently being displayed in the browser, or by selecting a hyperlink from a list provided by the browser.
- the browser In response to the entered URL, the browser generates a request command for the URL and transmits the request over a network to fetch the documents using conventional internet protocols, such as HTTP (Hypertext Transfer Protocol) which are then displayed .
- HTTP Hypertext Transfer Protocol
- One or more web pages of websites may be associated with an enhancement application.
- the enhancement application provides additional functionality for a web page with which it is associated.
- FIG. 2 illustrates an exemplary arrangement in which an enhancement application is provided as a 3 rd party software application to a website, to offer additional functionality to a user when browsing the website.
- a website is associated with a web application 202 hosted by a server 206, and includes a plurality of web pages denoted by reference numerals 216a to 216c.
- a 3 rd party software application 204 is hosted by a server 208.
- a 3 rd party provides the enhancement application as a 3 rd party software application, but the functionality of the enhancement application may be provided by the web application 202 itself rather than by a 3 rd party.
- the functionality is described as being provided by a 3 rd party software application for ease of illustration and description.
- a bi-directional dashed line 214 indicates a communication between the servers 206 and 208, which communication establishes a relationship between the web application and the 3 rd party application at some time prior to delivery of a web page.
- the 3 rd party application can provide additional 3 rd party services to the offerings of the web application based on an agreement between the 3 rd party application and the web application.
- the communication between the servers 206 and 208 may be provided by a network such as the Internet. Establishing of such a relationship is known.
- a computing device 210 associated with a user is in communication with the server 206 to access the website associated with the web application 202.
- a bi-directional line 218 indicates communication between the server 206 and the computing device 210, which may be provided by a network such as the Internet.
- the computing device 210 is associated with a browser, with a browser display 212 displaying the browser to the user (or client) , for example using a display of the computing device 210.
- the browser associated with the computing device 210 makes a request for a web page from the server 206 by sending a request on communication line 218.
- the server 206 returns an associated web page to the computing device 210 for display by the browser in browser display 212.
- the web page delivered by the server 206 to the computing device 210 includes control scripts, for example JavaScript.
- control scripts for example JavaScript.
- the web application 202 is associated with a 3 rd party software application 204 providing the enhancement application.
- These scripts will therefore include instructions relating to the enhancement application as it is to be used in conjunction with the delivered web page.
- the web page is associated with the 3 rd party application 204, and the delivered web page includes in its scripts an instruction to the computing device 210 to fetch additional information from the 3 rd party software application 204.
- the computing device 210 additionally communicates with the server 208 on a bi-directional communication line 216 to retrieve the 3 rd party application (or applications) associated with the web page.
- This will be the enhancement application.
- the communication between the server 208 and the computing device 210 may be provided by a network such as the Internet. Such a communication is known .
- An example of a service which it is known for the enhancement application to provide is to detect when a user exits (initiates closure) a page of the website associated with the web application, and rather than to allow the immediate closure of that page to instead launch an instance of a service associated with the enhancement application. This may be, for example, to generate a message for display to the user to prompt them to confirm that they wish to leave the web page, and may for example comprise offering a voucher to the user if they choose to stay on the web page rather than exit .
- This is an example of a service which may be offered by the enhancement application, but the service offered is non-limiting.
- the user may generally navigate the website associated with web application 202, and the functionality associated with the enhancement application may be activated in accordance with an implementation.
- individual pages of a website may be associated with multiple different enhancement applications .
- Multiple enhancement applications may all be provided by a single 3 rd party server, by multiple 3 rd party servers, by the website server itself, or any mix thereof .
- an enhancement application has a component running an instance of software on the server (a server instance) which hosts it and a component running an instance of software on the user device (a user or client instance) .
- a communication between the user device and the server is necessary in general, for example for establishing a session, identifying a transaction on the web page etc.
- the enhancement application component on the server device may process different data, identify the web page, serve JavaScript files etc.
- the enhancement application component on the user device may be JavaScript.
- enhancement application set-up requires a server and client instance
- enhancement application operation or functionality requires a server instance and/or a client instance.
- ongoing operation of the enhancement application may require server and client instances to be running in the background.
- the enhancement application provides the functionality to implement the examples as described herein.
- enhancement application is described in the following as being implemented specifically on one or other (or both) of the server device or user device, it can be understood that this applies to the enhancement application operation or functionality associated with the described examples only.
- An underlying communication between the server device and the user device may always be required independent of whether the specific functionality of the enhancement requires an enhancement instance operating on both the server device and the client device.
- enhancement applications there may be provided a plurality of enhancement applications, or a single enhancement application may provide various enhancement functionalities.
- Each web page may be associated with none, one, or more than one enhancement application (or enhancement functionality) .
- Different enhancement applications may provide different functionality, and different enhancement functionalities may provide different enhancements.
- an enhancement application does not have to run on a 3 rd party server.
- the web application and the enhancement application may run on the same server, and Figure 2 is only for illustration of an example.
- Permission to use notifications may be generally provided such that once a user has opted- in this indicates acceptance of notifications for all operations and accessing all websites, or opting- in to notifications may need to be carried out on a website-by-website or session-by-session basis .
- Figure 3 (a) shows an example for a desktop opt-in for notifications.
- Reference numeral 150 points to an excerpt of a display from a monitor of a desktop device, for a particular website as indicated by the address denoted by reference numeral 152.
- a window 158 "pops-up" which requests the user to confirm whether or not they wish to receive (or show) notifications.
- An 'allow' icon 154 is displayed, and a 'block' icon 156 is displayed. The user can choose to select either the 'allow' icon 154 or the 'block' icon 156.
- FIG. 3 (b) there is shown how this may be similarly implemented on a mobile device.
- a window "pops-up" on the display 160 of the mobile device, which may just simply be a portion of the display.
- the website which is being accessed is listed (as denoted by reference numeral 168) .
- An 'allow' icon 166 and a 'block' icon 164 are displayed. The user of the mobile device can select one of the icons, in order to indicate whether or not they wish to be sent notifications .
- a notification may be a web notification or a push notification .
- the notification message can be configured as desired, and may for example include any one of a title, a message content, and an image.
- the notification may include a URL or an action which can be selected by a user. This URL may be an important part of the notification, as it may define an action. The intention of such a URL or action is to encourage the user. It could, for example, encourage the user with a promotion, or with an urgency necessity.
- An action may be an action associated with a website, and particularly an action associated with a web page of a website.
- An example website with which such an enhancement application may be provided is a website associated with an e-commerce platform.
- an action may be a purchase of an item or service, but the described techniques are not limited to an e-commerce platform.
- An example of completion of an action is to place an item for purchase in a virtual basket on a website and then to purchase it, but other examples include: detecting booking a hotel (e.g. detecting of filling/completing the details of a hotel booking) and payment; detecting filling of a form for a University (e.g. detecting loading of a web page where a form to fill is displayed) and submission of it; downloading an application from the Internet and completing and submitting it; etc.
- detecting booking a hotel e.g. detecting of filling/completing the details of a hotel booking
- detecting filling of a form for a University e.g. detecting loading of a web page where a form to fill is displayed
- the user completion of an action indicates some activity of the user with the website which goes beyond mere browsing, and indicates a user action beyond browsing.
- Completion of an action is an activity or event which can be identified as a step.
- An initial action may indicate an intention to complete an action, and a completion action may indicates a completion of the action .
- the action is completed when the item is purchased, and the purchase is thus a completion action.
- an enhancement application which includes a completion notification (CN) functionality.
- CN completion notification
- the enhancement application may provide multiple functionalities, but the described examples are concerned with CN functionality, and thus for simplification in the following examples the enhancement application will be referred to as a CN application.
- the CN application may be the enhancement application, or may be part of the enhancement application .
- the CN application monitors activity on a web page to detect completion of an action. Completion of an action is considered a first condition, which will be set according to the implementation.
- the monitoring may comprise monitoring whether a product purchase is completed, and in that case the first condition would be purchase of an item.
- the first condition may be completion of filling/completing a hotel booking form, or completion of a loaded web page, etc.
- the first condition is detected indicating detection of initial completion condition.
- the CN application running on the user device monitors to detect the first condition occurring on a web page, and a first trigger is set when the first condition is detected.
- This monitoring takes place on a web page which is enabled for the CN application.
- the monitoring may take place on any enabled web page, and the detection of the first condition is specific to a monitored web page. If the first condition is detected on multiple web pages, then multiple first triggers are set each associated with the respective web pages.
- the completion of an action is preferably identified by an instance of the CN application running at or on the user device.
- the CN application running at the user device may monitor each web page which is open for a particular website, for which the CN application is active, in order to perform this detection.
- the CN application - being the enhancement application - detects a first condition being initial completion action, and generates a first trigger responsive thereto.
- This first trigger initiates monitoring for detection of a second condition.
- an activity monitoring is initiated by the CN application to detect a second condition .
- the second condition is detected for the same web page for which the first condition (setting the first trigger) was detected.
- a second trigger is set.
- the second trigger activates the enhancement application, being the CN application in this example.
- the activity monitoring that takes place to detect the second condition is described below in relation to different examples.
- the second trigger is set to prompt a subsequent action related to the completed action.
- the first trigger is set to indicate completion of an action has been identified.
- the second trigger is set to prompt an action related to that completed action.
- the second condition is broadly indicative of some sort of prompt or stimulus to the user who completed the action .
- the second condition may indicate that the user has abandoned the web page for which the first condition was detected .
- the second trigger may thus be set as the result of detection of an abandonment event.
- An abandonment event may be based on one or more of: (i) detection of an elapsed time; and (ii) detection of termination of a communication between the user device and the server device .
- abandonment event is preferably detected in respect of the same web page for which the first condition was detected, and is monitored for whilst the first trigger is set.
- the activity monitoring for the second condition may monitor for one or more distraction events and/or one or more abandonment events.
- first triggers may have been set from different web pages. These first triggers may have been set, in different web pages, responsive to detection of different conditions. Thus a second condition may be monitored for each of the first triggers, and may result. A single second condition detected may result in one or more second triggers, corresponding to the number of first triggers.
- the monitoring for a condition to set the second trigger is dependent on the first trigger having been set .
- the second trigger preferably causes a notification message to be displayed to a user of a user device, on the user device.
- the notification message is preferably a prompt or stimulus for an action related to the completed action .
- This URL or action in the notification may, for example, encourage the user to complete another, but related, action, for example with a promotion, or with an urgency necessity, e.g. a hotel booking engine may display a notification: "Only 2 rooms left".
- all examples may share the mechanism by which the first condition is detected, the first condition varying according to the implementation.
- the second condition, and the way in which the second condition is detected, and the action that takes place following the setting of the second trigger may each vary according to different examples, as well as varying according to the implementation.
- the detection of the first condition and generation of the first trigger is an internal mechanism, and need not be visible to the user.
- the detection of the second condition and generation of the second trigger does however result in a notification which is visible to the user .
- FIG. 4 there is illustrated an exemplary architecture in which described examples may be implemented.
- This architecture illustrates an implementation of a server device and a user device, showing various functional elements thereof. Not all functional elements may be required for each described example, and as each example is described the required functional elements will be highlighted. It can also be noted that additional functional elements will be needed for full implementation of web browsing and provision of an enhancement application, and only those aspects are shown and discussed which are necessary for understanding the implementation of the described examples .
- the server device 302 includes a website module 306, a CN (completion notification) application server module 308, a CN activity (server) monitoring module 312, a clock/timer 320, and a session store 336. Also illustrated in Figure 4 is a processor 313 and a memory 315 of the server device 302. The processor 313, the memory 315, the website module 306, and the CN application server module 312 are interconnected by communication lines 317.
- the CN activity (server) monitoring module 312 is in communication with the CN application server module 308, as denoted by communication lines 311.
- the CN activity (server) monitoring module 312 is also in communication with the timer/clock 320 as denoted by communication lines 321.
- the session store 336 is in communication with the CN application server module 308, as denoted by communication lines 319.
- the CN application server module 308 of the server device 302 is in communication with a client device, as denoted by communication lines 324.
- the website browser module 306 is in communication with a client device as denoted by communication lines 322.
- the session store 336 comprises a table comprising a column for each of: a client device identity (column 390) ; a session identity (column 392) ; a first trigger status (column 394) ; a web page identity (column 396) ; and a timer identity (column 398) .
- Each row of the table for example rows 391, 393, 395, represent a set of associated identities. Not all columns are required for all described examples.
- the table of the session store 336 indicates the identities which are captured in order to allow a session associated with a first trigger to be identified, and monitoring associated with detection of the second condition to be tied to it to thereby generate a notification signal to a client device as appropriate.
- module 312 being a server module denotes its location, but it may monitor activity at the server, the client, or a connection there between.
- the server module functionality may be implemented on the server web application which the enhancement application serves, or on a separate server.
- the client device 304 includes a browser module 332, a CN (o completion notification) application client module 310, a CN activity (client) monitoring module 314, a web notification module 315, a web notification storage module 316, a service worker module 318, and a push notification storage module 340.
- FIG. 5 Also illustrated in Figure 5 is a processor 333 and a memory 335 of the user device 304.
- the processor 333, the memory 335, the browser module 332, and the CN application client module 310 are interconnected by a communication lines 337.
- the user device 304 will comprise other functional elements in order to provide the functionality of a computer device, such as input and output devices, a graphics processor/network etc. These elements are not described or shown in any details, as they will operate in the user device 304 in a conventional way.
- the CN activity (client) monitoring module 314 receives a signal (or signals) on lines 370 from the browser module 332, and generates signals on lines 372 and lines 374 to the CN application client module 310.
- the CN activity (client) monitoring module 314 also receives a signal on line 373 from the CN application client module 310.
- the CN application client module 310 generates signals on line 374 to the service worker module 318, and generates signals on line 376 to the web notification module 315.
- the service worker module 318 is shown as distinct from the CN Application module 310, and the module 318 is shown as receiving signals from the module 310, the module 318 may be part of the module 310, and/or the module 318 may be connected to receive signals directly front the server side - i.e. the service worker module may be connected to the lines 324a and 324b directly.
- a dashed box 317 in Figure 5 illustrates this relationship between the modules 310 and 318.
- the service worker module 318 can receive signals directly from the server even when the CN application client module 310 is not open.
- the CN application client module 310 may not always be open when the browser is open - the only requirement is that the browser is running in the background and software is installed - but a website may not be open itself.
- the service worker may be installed in the browser module 332 on registration, and may act as a CN for push notifications .
- Web notifications do not need the service worker and a web notification may be generated in the client's 3rd party (or enhancement) module .
- the web notification module 315 communicates with the web notification storage module 316 using communication lines 379, and generates a signal on line 378 to the browser module 332.
- the service worker module 318 communicates with the push notification storage module 340 using communication lines 381, and generates a signal on line 380 to the browser module 332.
- the browser module 332 of the client is in communication with the website module 306 of the server device via communication lines 322.
- the communication on lines 322 facilitates access to a website provided by the server to the client device.
- the client device 304 and the server device 302 are in communication such that the browser module 332 is able to cause display on an associated display 326 of web pages associated with the website module 306.
- the display 326 is a display of the client device 304.
- the browser module 332 provides a communication on lines 330 to the display 326 of the client device, in order to display web pages on the display 326 as indicated by example web page 328. A tab of a second web page 329 is also shown.
- the browser module 332 receives inputs from the display (being a touch sensitive display) on lines 331. If the user device is not a touch screen device, then an appropriate input device is provided such as a keyboard.
- the display 326 is shown as separate to the client device 304, in practice the display 326 is part of the client device.
- the CN application client module 310 of the client device 304 is in communication with the CN application server module 308 of the server device 302, as denoted by communication lines 324.
- Communication line 324a illustrates communication from the CN application client module 310 to the CN application server module 308.
- Communication line 324b illustrates communication from the CN application server module 308 to the CN application client module 310.
- the service worker module 318 is an example of an entity that provides functionality which allows push notifications to be generated on the client device 304.
- the service worker module 318 is an example, and other entities may provide this functionality, such as a web worker module. Any entity which facilitates push notifications to the client device may be used.
- the installation or use of the CN application client module 310 may require consent from the user of the client device 304.
- the operation of the CN application in general may also require user consent. This is illustrated with reference to Figure 3.
- the CN activity (client) monitoring module 314 is provided in order to detect the first and second conditions at the client device in accordance with examples. More details of an example implementation of the CN activity (client) monitoring module 314 to support the various described examples is shown in Figure 6.
- the exemplary CN activity (client) monitoring module 314 includes a monitor component (first condition) 350, a monitor component (inactivity) 352, a monitor component (subsequent action) 353, a monitor component (web page open) 359, and a clock/timer 360.
- the monitor component 350 is configured to monitor the browser activity to detect the first condition, and generate or set the first trigger on a line 374 when this first condition is detected.
- the first trigger on line 374 is provided as an input to enable each of modules 352, 353 and 359.
- the first trigger on line 374 also or instead provides an input to the module 310.
- the monitor component 352 serve a specific purpose for detecting a second condition at the client device.
- the monitor component 352 is provided to monitor for inactivity at the client device.
- the component 352 sets the second trigger on line 372.
- the second trigger on line 372 is provided as an input to the module 310.
- the second trigger on line 372 is also provided as an input to the monitor component (first condition) 350 to reset this component (and the first trigger) after the second trigger is set. Once the second trigger is set the CN application is reset.
- the monitor component (subsequent action) 353 generates a RESET signal to each of components 350, 352, and 359 on line 376, which resets (or disables) each of these components after they have been set by the first trigger and then the component 353 detects that a further action is initiated or completed, and therefore the generation of a notification may not be required.
- This feature is optional. In this case monitoring for the second condition is not required.
- the monitor component (web page open) 359 is connected to also generate the reset signal on the line 376. If the monitor component (web page open) 359 detects that the web page which caused the first trigger is closed, then the components 350, 352 and 353 may be reset or disabled.
- the modules are reset only if web notifications are exclusively implemented. If push notifications are implemented, then the modules may not be reset, as there is no requirement for a web page to remain open.
- the component 352 is connected to a signal line 355 to generate a signal, denoted RESET, to the component 350. On generation of the reset signal on line 355 the first trigger is reset.
- the monitor component (first condition) 350 is also configured to receive as an input a signal on line 373 from the module 310, which denotes detection of the second trigger by the server device.
- the monitor component is in communication with a clock/timer 360 as denoted by connections 353.
- first and second conditions may be monitored at the user device by: the same monitor; different components of the same monitor; or different monitors.
- a web page is browsed.
- the browsing of this web page is in accordance with normal web browsing functionality.
- the browser module 332 is in communication with the website module 306, and generates web pages on the display 326, one of which - web page 328 - is shown in Figure 5.
- the browser module also receives signals, as denoted by communication line (or lines) 331, from the display 326. This assumes the display 326 is a touch sensitive display, but the device may not have a touch sensitive display, in which case the appropriate input means of the device is monitored.
- the client device 304 receives inputs associated with the displayed content, and is not limited to these being provided by a touch sensitive display. The inputs may also be provided by a keypad for example.
- monitoring takes place for an event indicating completion of an action on the browsed web page.
- This monitoring preferably is performed by the CN activity (client) monitoring module 314, located on the client device 304, and specifically the monitor component 350.
- connection 370 from the browser module 332 to the CN activity (client) monitoring module 314 allows the module 314, and specifically the monitor component 350, to monitor the browser for the first condition.
- the monitor component is configured to monitor for and detect the first condition, and may do so by monitoring activity at the browser module. This monitoring will be implementation dependent, and may include - as mentioned above - detecting placement of an item in a basket by monitoring web browser activity followed by a subsequent purchase, or a simple click in a website or hyperlink etc.
- step 404 If the first condition is detected in step 404, then the process moves on to step 406, and the monitor component 350 sets a signal FIRST TRIGGER on line 374.
- This signal FIRST TRIGGER enables or activates each of the components 352, 353 and 359.
- This signal FIRST TRIGGER is sent to the monitor component 353 in order for it to monitor as to whether a subsequent action is initiated or completed.
- step 408 the process determines if a subsequent action (i.e. a further action) is initiated or completed using the component 353. If the component 353 detects initiation or completion of a further action by monitoring the browser activity on line 370, then it may reset the component 350 and terminate the monitoring of the component 352 by setting the RESET signal on line 376. As denoted by step 412, this resets the first trigger, and disables the monitoring for the second condition. The process then ends in step 414.
- a subsequent action i.e. a further action
- the monitor component 352 when the first trigger is set, the monitor component 352 is activated, and if following step 408 it is determined that a subsequent action (or further action) has not been initiated or completed then the monitor component 352 monitors for the second condition as denoted by step 410, in accordance with examples.
- monitor component 352 is only provided if monitoring is taking place at the client device. Where monitoring for the second condition can take place at the server, the component may not be activated or provided.
- Steps 408, 412 and 414 are optional.
- the monitoring for the second condition will be conducted differently for different examples, and the implementation of this monitoring for different examples will be discussed below.
- the monitoring for the second condition may be conducted by the monitor components of the user device, and/or the module 312 of the server device.
- the component 350 preferably monitors for the first condition, and sets the first trigger on line 374 when the first condition is detected.
- the setting of the first trigger is used to enable the monitoring component for monitoring the second condition.
- the setting of the first trigger is notified to the CN application client module 310.
- the first trigger is received by the component 352 and this enables this component to monitor for the second condition .
- the first trigger is received by the module 310, and the module 310 communicates the first trigger to the server module 308.
- the module 308 provides the first trigger to the module 312 to enable it to monitor for the second condition .
- the second condition is different for different examples as will be discussed below.
- the mechanism for detecting the second condition will be different for different examples, as discussed below.
- step 416 if the second condition is not detected in step 416, then the process continues with steps 408 and 410 being repeated. If in step 416 the second condition is detected, then the process moves on to step 418 and the second trigger is set.
- the component 352 When the component 352 detects the second condition, it sets the SECOND TRIGGER signal on line 372. This signal is also provided to the monitor component 350, so it can be reset. The setting of the second trigger on line 372 is notified to module 310.
- a notification is generated.
- the notification is to prompt the user to initiate or complete a further action related to the completed action.
- the new action does not necessarily need to be immediate, but can be a future event. It can be something that will encourage or stimulate the user to come back in the future.
- the further action may provide a discount for the user to use if they purchase something from the website in the next month; it may encourage the user to buy insurance before a trip the user has just bought starts, etc....
- the mechanism for generating the notification will be different for different examples, as discussed further hereinbelow.
- the module 310 sends a message notifying of the requirement to monitor for the second trigger to the module 308.
- the module 308 operates, by controlling the module 312, to monitor for the second condition. Specific examples of this will be discussed hereinbelow. If the second condition is detected, the module 308 transmits a message to the module 310 notifying it of the second condition. Responsive to that message, the module 310 sets a signal on line 373 to reset the first trigger, as the second condition has now been detected and the second trigger set.
- a notification is then generated.
- the module 310 communicates with the module 314 on line 376.
- the module 310 communicates with the module 318 on line 374.
- step 420 a determination can be made as to whether a web notification is provided or a push notification is provided .
- step 426 it is determined whether web worker functionality is provided in the client device. If web worker functionality is provided in the client device, then in a step 428 a push notification is generated. If a web worker functionality is not provided in the client device, then the process may revert to step 422
- a determination is made first as to whether a web notification can be sent, and then a push notification determination is made only if a web notification is not possible.
- a determination may be first made as to whether a push notification can be generated, and only if this is not possible determination is made as to whether a web notification can be generated.
- a determination can be made as to whether a web notification and/or a push notification can be generated, and when that determination has been made it is decided whether to provide a web or a push notification. This is all implementation dependent.
- Figure 7 shows a sequence of steps in a particular order, examples are not limited to this order, other than that the first condition must clearly be detected before monitoring for the second condition can be carried out, and the second condition must clearly be detected before any notification can be generated.
- One example mechanism for implementing the completion notification application utilises, as noted above, web notifications.
- a requirement for web notifications is that a web page must be open. For some examples the web page for which the first condition was detected must be open. For other examples an associated web page must be open. An associated web page is a web page associated with the same enhancement application for which the first condition was detected.
- the associated web page is preferably opened before the web page for which the first trigger was initiated. This is further described below, but may apply to all examples where an associated web page is utilised.
- the CN application may run fully on the client device (front end) .
- the CN application preferably does not require any functionality at the server device (back-end) , and does not need to communicate with the server device (back end) to operate web notifications.
- the CN application client module 310 is required.
- the module 310 utilises the module 314. However functionality at the server device may be utilised.
- the detection of the first condition, and the generation of the first trigger may be in accordance with the above-described mechanism, and utilise the process for setting the first trigger according to Figure 7.
- step 501 If in step 501 it is determined that the monitoring is to be performed at the client device then the process moves onto Figure 8(b) . If in step 501 it is determined that the monitoring is to be performed at the server device then the process moves onto Figure 8(c).
- the monitoring could be performed at either the client or the server devices.
- the module 314 is provided with the monitor component (web page open) 359 which monitors the browser activity on line 370 and which is enabled by the component 350 when the first condition is detected and the first trigger is set.
- the component 359 monitors that the web page for which the first condition is detected remains open. The monitor component thus implements the step 500.
- step 500 If it is detected in step 500 that the web page which caused the first trigger is not open, then the process ends in step 504.
- the component 359 generates the RESET signal on line 376, and resets the component 350 and terminates the monitoring being carried out by components 352, 354, 356, 358.
- Figure 8 (b) illustrates a simple example in which the operation is reset if the web page for which the first condition was detected closes. In implementations this reset occurs only if there are no associated web pages open. Thus the initial web page may be closed, but associated web pages may be open - in which case the operation is not reset.
- step 500 If it is detected in step 500 that the web page which caused the first trigger is open (or more generally an associated web page) , then the process continues to step 502.
- step 502 a determination is made as to whether the second condition is detected for that web page.
- the monitor component 352 of the module 314 may monitor for the second condition. The particular implementation of this monitoring operation will be described below in examples.
- Step 502 of Figure 8 (b) corresponds to step 416 of Figure 7.
- step 502 If the second condition is not detected in step 502, then the process reverts to step 410 of Figure 8 (b) and monitoring continues.
- step 504 the second trigger is set.
- the second trigger is set in the examples by one of the monitor components 352, 354, 356, 358 setting the second trigger on line 372, which is detected by the module 310.
- step 502 If in step 502 it is determined the monitoring is to take place in the server device, then the processor moves on to Figure 8(c) .
- step 550 the CN application client module 310 creates a message for transmission to the CN application server module 308, indicating that the first trigger has been set.
- the CN application server module 308 is notified of the setting of the first trigger by the signal on line 374.
- a communication session is established between the modules 310 and 308, and in a step 552 the created message is transmitted from the module 310 to the module 308.
- the CN application server module 308 receives the message, and identifies the communication session between the server and the client with which this message is associated, identifies the client from which this message is received, identifies from the message that the first trigger has been set, and may also identify the web page with which the first trigger is associated, if this information is contained in the message.
- the receipt and analysis of this message is denoted by step 554.
- the CN application server module 308 then, as denoted by step 556, stores the details associated with the message in the session store 336, using communication links 319.
- the CN application server module 308 stores the session identity (i.e. the identity of the communication session with which the message is associated) , the device identity (i.e. the identity of the device from which the message was received), the first trigger status, and the web page identity (if provided in the message) .
- session identity i.e. the identity of the communication session with which the message is associated
- device identity i.e. the identity of the device from which the message was received
- the first trigger status i.e. the identity of the device from which the message was received
- the web page identity if provided in the message
- the session store 336 comprises a table with a number of entries, each entry having a client device identity, a session identity, a first trigger status, optionally a web page identity, and a timer identity.
- the CN application server module 308 communicates with the CN activity (server) monitoring module 312 to implement the monitoring required to detect the second condition. Two examples of this monitoring are described below. This monitoring is denoted in Figure 8(c) by step 558. As denoted by step 560, it is determined whether the second condition is detected.
- step 562 a determination may be made in step 562 as to whether a further action associated with the first trigger has been initiated or completed.
- the module 314 will then detect that the first trigger on line 374 has been reset, and send a message indicating such to the module 308.
- the module 308 can identify the session with which the message is associated, and in dependence on the message indicating that the first trigger has been reset, update the status of the first trigger in the session store 336.
- step 562 If in step 562 the module 308 determines that the first trigger has been reset, by for example accessing the session store and checking the status of the first trigger, then in step 564 the process ends.
- the session store is cleared of the information associated with the first trigger which has been reset.
- step 562 If in step 562 it is determined that the first trigger has not been reset, then the monitoring process continues in step 566.
- step 566 it is confirmed that the web page which caused the first trigger remains open. If the web page is closed, then in step 566 the process ends. If the web page remains open, then the process moves on to step 566.
- the server devices may be notified of the closure of the web page by the module 310 detecting resetting of the first trigger following detection by the component 359. This prompts the module 310 to transmit a message to the module 308, and the session information is updated to make the status of the first trigger as no longer being set .
- the generation of a message from the client device to the server device to notify the closure of the web page follows the same mechanism as the generation of a message from the client device to the server device to notify that the first trigger has been set.
- the detection of closure of a webpage might not be possible from the client sending a signal to the server, for example "hey I'm closed". Instead, the server may ask the client periodically: “Hey, are you open?", and if it is open the client will reply "YES” . If the client does not respond, the server knows that it is closed.
- the client may notify the server that a web page is closed, or the server may identify that a web page is closed by interrogating the client.
- the second trigger is set in step 570.
- the module 312 notifies the module 308 when the second trigger is set.
- the module 308 accesses the session store 336 to retrieve the associated session identity and client identity corresponding to the second trigger.
- the module 308 then prepares a message denoting detection of the second condition, and the generation of the second trigger.
- the message identifying the second trigger is transmitted from the server to the client device, and as denoted by step 576 this message is received at the module 310.
- the module 310 causes a web notification to be generated.
- step 504 of Figure 8(b) or step 576 of Figure 8 (c) the process progresses to step 506 of Figure 8 (a) .
- step 506 corresponding to step 420 of Figure 7, the module 310 communicates with the web notification module on line 376 to generate a web notification.
- the module 314 may access the web notification storage module 316 to retrieve a template for a web notification as denoted by step 508.
- the retrieved template is then used by the module 314 to display an appropriate web notification using the browser module 332, on the displayed web page, via communication line 378, as denoted by step 510.
- the web notification retrieved from the module 316 may be dependent on the detected second condition.
- the second condition is monitored in the client device by various monitor components, and the web notification generated may be different according to the monitor component which detected the second condition.
- the signal on line 372 may identify the monitor component which detected the second condition.
- a web notification may be used even if that web page is closed, provided an associated web page is open.
- Web notifications may be advantageously used for notifying detection of a second condition corresponding to a detection event. Detection events will be discussed further hereinbelow.
- Web notifications preferably use script in a website, and preferably are used on desktop-type applications .
- the primary purpose for web notifications is for re targeting a user to an abandoned site (i.e. abandoned web page) .
- the notifications act as a reminder when the user has not completed an action within a short term.
- the incompletion does not imply an abandonment, but mainly only a "distraction" .
- the web page (or an associated web page) must be open, and therefore actual abandonment has not taken place . However the web page does not need to be active.
- a timer having a short time period may be associated with the monitoring for the second condition.
- the web page may be opened and a first trigger indicating an intention to complete an action may arise.
- the script then monitors the website looking for a second trigger. When the second trigger is activated, a notification is displayed asking the user to focus on the action to complete. When the user clicks the notification, the tab where the action to complete is becomes active.
- the "action complete" is an action in the actual page, either clicking a button, changing a URL etc .
- use of web notifications may include a determination as to whether a web page or an associated web page is open (e.g. step 500), and if not then a push notification operation may be enabled if possible.
- Another example mechanism for implementing the completion notification application utilises push notifications .
- a requirement for push notifications is that the service worker (or web worker) module 318 is provided on the client device 304.
- the browser should preferably be running.
- the browser can be running without any webpage being open.
- the browser supports web page browsing: any web page which is open will be open within the browser. However the browser may still be active or running even when no webpage is open. Thus there is no requirement for a web page to be open, but preferably the browser which supports web page browsing is active or running.
- the CN application is installed and runs on both the server device and the client device.
- the CN application thus has a server part running on the server device (back-end) and a client part running on the client device (front-end) for facilitating push notifications.
- both the CN application client module 310 and the CN application server module 308 may be required.
- the detection of the first condition, and the generation of the first trigger may be in accordance with the above-described mechanism. This assumes that the first condition is detected by the monitor component 350 at the user device.
- monitoring takes place for a further activity on the web page, indicating a second condition, at the client device.
- This monitoring may utilise the monitor component 352 of Figure 6 for example.
- step 805 a determination is made as to whether the second condition is detected for that web page.
- the monitor component 352 of the module 314 may monitor for the second condition. If the second condition is not detected in step 805, then the process moves to step 831 of Figure 9.
- step 831 a determination is made as to whether a further action has been initiated or completed. This may be indicated by the monitor component 353 at the client device. If a further action has been initiated or completed then the process ends in step 833, and the components of module 314 are reset. The monitoring then continues in steps 803 and 805.
- step 805 If the second condition is detected in step 805, then the process continues to step 807 of Figure 9. In step 807 the second trigger is set.
- step 801 If the determination in step 801 is that the second condition is to be monitored at the server device, then the process moves to step 802.
- step 802 the CN application client module 310 creates a message for transmission to the CN application server module 308, indicating that the first trigger has been set. As above, the CN application server module 308 is notified of the setting of the first trigger by the signal on line 374.
- a communication session is established between the modules 310 and 308, and in a step 804 the created message is transmitted from the module 310 to the module 308.
- the CN application server module 308 receives the message, and identifies the communication session between the server and the client with which this message is associated, identifies the client from which this message is received, identifies from the message that the first trigger has been set, and may also identify the web page with which the first trigger is associated, if this information is contained in the message.
- the receipt and analysis of this message is denoted by step 806.
- the CN application server module 308 then, as denoted by step 808, stores the details associated with the message in the session store 336, using communication links 319.
- the CN application server module 308 stores the session identity (i.e. the identity of the communication session with which the message is associated) , the device identity (i.e. the identity of the device from which the message was received), the first trigger status, and the web page identity (if provided in the message) .
- session identity i.e. the identity of the communication session with which the message is associated
- device identity i.e. the identity of the device from which the message was received
- the first trigger status i.e. the identity of the device from which the message was received
- the web page identity if provided in the message
- the session store 336 comprises a table with a number of entries, each entry having a client device identity, a session identity, a first trigger status, optionally a web page identity, and a timer identity.
- the CN application server module 308 communicates with the CN activity (server) monitoring module 312 to implement the monitoring required to detect the second condition. Two examples of this monitoring are described below. This monitoring is denoted in Figure 9 by step 810.
- step 812 it is determined whether the second condition is detected.
- step 814 a determination is (optionally) made in step 814 as to whether a further action has been initiated or completed.
- the module 314 will then detect that the first trigger on line 374 has been reset, and send a message indicating such to the module 308.
- the module 308 can identify the session with which the message is associated, and in dependence on the message indicating that the first trigger has been reset, update the status of the first trigger in the session store 336.
- step 814 the module 308 determines that the first trigger has been reset, by for example accessing the session store and checking the status of the first trigger, then in step 816 the process ends.
- the session store is cleared of the information associated with the first trigger which has been reset.
- step 814 If in step 814 it is determined that the first trigger has not been reset, then the monitoring process continues in steps 810 and 812.
- step 812 If the second condition is detected in step 812, then the second trigger is set in step 818.
- the module 312 notifies the module 308 when the second trigger is set.
- the module 308 accesses the session store 336 to retrieve the associated session identity and client identity corresponding to the second trigger.
- the module 308 then prepares a message denoting detection of the second condition, and the generation of the second trigger.
- the message identifying the second trigger is transmitted from the server to the client device, and as denoted by step 824 this message is received at the module 310. Responsive to this message, the module 310 causes a push notification to be generated.
- step 810 After either step 807 or step 824, the module 810 is notified of detection of the second condition, and the push notification is generated.
- the module 310 communicates with the service worker module 318 to generate the push notification, as denoted by step 830.
- the service worker module 318 may access the push notification storage module 340 to retrieve a template for a push notification, as denoted by step 832.
- the retrieved template is then used by the module 318 to display an appropriate push notification using the browser module 332 via communication line 380, as denoted by step 834.
- the push notification retrieved from the module 340 may be dependent on the detected second condition.
- the second trigger may include information as to the nature of the second condition, and thus may result in different push notifications according to the second condition.
- the push notification preferably includes a link to a web page to initiate or complete a further action.
- This push notification is sent by the CN application module 310 utilising the service worker module 318 of the client device 304.
- the service worker module 318 may be a JavaScript that runs in the background, independently of other scripts, without affecting the performance of pages displayed in the browser of the user device.
- the service worker module 318 effectively acts as a proxy between the server device and the client device. Unlike web notifications that need an open web page with the CN application installed, push notifications do not need a web page open because the service worker module 318 performs the notification function.
- the service worker module 318 is preferably always active if the browser software is open, but it does not need any web page - i . e . a tab - open .
- a URL to initiate or complete a further action preferably opens.
- Selection of the notification may cause the web page associated with the event that caused the first trigger to be opened.
- a requirement for a push notification is for the functionality such as that provided by the service worker module 318 to be provided at the client device, which may generally be referred to as an entity providing certain functionality which may be known as service worker functionality.
- activity monitoring to detect the second condition may be in the client, in the server, or both the client and the server.
- the use of activity monitoring in the server device to detect the second condition results in the module 308 communicating with the module 310, which in turn communicates with the module 318.
- Push notifications may be advantageously used for detecting a second condition corresponding to an abandonment event .
- push notifications use a script in the website.
- a service worker or web worker (which is in a background process in the browser) is used.
- the back-end system is used to recognise the completion of an action.
- the back-end system is used to send a notification. This works preferably on desktop-type and mobile-type applications .
- the website does not need to be open for push notifications.
- Push notifications act as a reminder for the user that has potentially abandoned an action on a website.
- the web page is opened and the user triggers the completion of an action. This completion is sent to the back-end system to recognise the user/session The back end then monitors whether there is activity in that same session looking for a second trigger.
- a notification is sent with a link to initiate or complete a further action, to the web worker in the browser and it is displayed.
- a URL may open.
- the notification may not provide a web page to initiate or complete an action. It could, for example, be an in-between webpage, like a helper-page (FAQ) or a webpage with a discount, contact page, discount page, etc.
- FAQ helper-page
- the second condition which prompts the setting of the second trigger may be an abandonment event .
- Abandonment events may generally utilise web or push notifications. However of the two abandonment event examples given here, one example is limited to use with push notifications only.
- An abandonment event is an indication that the user of the user device has closed the web page associated with the completed action.
- Step 416 of Figure 7 therefore monitors for such an abandonment event .
- the detection of an abandonment event constitutes detection of the second condition, and sets the second trigger.
- a first example of an abandonment event is elapsed time .
- a communication session is established between an instance of the CN application running on the client device and an instance of the CN application running on the server device, i.e. instances running on the modules 308 and 314.
- the process can run on both the client device and the server device, or just on the server device.
- the detection of the first condition is carried out at the client device, in accordance with techniques described above .
- the monitor component 350 monitors for the first condition.
- the first trigger is set by the component 350 on line 374.
- the module 310 detects the signal on line 374 and therefore identifies detection of the first condition and setting of the first trigger.
- monitor component 353 can determine whether a further action is initiated or completed. If a further action is initiated/completed then a reset signal on line 376 resets the monitor component 350, and resets the first trigger on line 374. The module 310 detects the resetting of the signal on line 374.
- step 408 a modified process according to this example begins.
- the CN application client module 310 In a step 1302, the CN application client module 310 generates a message for transmission to the CN application server module 308, indicating that the first trigger has been set. As above, the CN application server module 308 is notified of the setting of the first trigger by the signal on line 374.
- a communication session is established between the modules 310 and 308, and in a step 1304 the created message is transmitted from the module 310 to the module 308.
- the CN application server module 308 receives the message, and identifies the communication session between the server and the client with which this message is associated, identifies the client from which this message is received, identifies from the message that the first trigger has been set, and may also identify the web page with which the first trigger is associated, if this information is contained in the message.
- the receipt and analysis of this message is denoted by step 1306 in Figure 10.
- the CN application server module 308 then, as denoted by step 1308, stores the details associated with the message in the session store 336, using communication links 319.
- the CN application server module 308 stores the session identity (i.e. the identity of the communication session with which the message is associated) , the device identity (i.e. the identity of the device from which the message was received), the first trigger status, and the web page identity (if provided in the message) .
- the CN application server module 308 also allocates a timer (or clock) to the message, and stores the identity of this timer in the session store 336.
- the session store 336 comprises a table with a number of entries, each entry having a client device identity, a session identity, a first trigger status, optionally a web page identity, and a timer identity.
- the CN application server module 308 communicates with the CN activity (server) monitoring module 312 to enable the timer with which the message is to be associated, using the clock 320 to run the timer. This is denoted by step 1310.
- the timer is set to run for a predetermined time. This time may vary in accordance with the activity with which the first trigger is associated.
- the message from the client device may provide additional information, indicating the action with which the first trigger is associated, and different actions may be associated with different times.
- An abandonment event is detected using a timer at the server, as will be described below. For detection by a timer, this is done completely in the backend.
- the first condition is detected, e.g. an item is purchased, at the client device. This prompts the first trigger to be sent to the module 308 as described above, and the module 308 stores the session identity, the device identity, and the web page identity in the session store as before.
- the module 308 controls the CN activity (server) monitoring module 312 to set the clock 320 to run an elapsed time.
- the second condition is set if, e.g., the time passed (e.g. 1 hour) is detected at the server.
- the elapsed time expires, a message is sent to the client device as described above with respect to the abandonment event.
- the web page at the client device may not be open when this message is sent to the client device.
- step 1312 it is determined whether the predetermined time which has been set has elapsed.
- step 1314 it is determined whether a further action has been initiated or completed.
- the module 314 will then detect that the first trigger on line 374 has been reset, and send a message indicating such to the module 308.
- the module 308 can identify the session with which the message is associated, and in dependence on the message indicating that the first trigger has been reset, update the status of the first trigger in the session store 336. The timer identity for the associated entry can then be retrieved.
- step 1314 the module 308 determines that the first trigger has been reset, by for example accessing the session store and checking the status of the first trigger, then in step 1317 the timer is cancelled based on the timer identity associated with that first trigger status, and in step 1319 the session store cleared of the information associated with the first trigger which has been reset . Thus the row of the table shown in Figure 4 is purged. The process then ends in step 1321.
- step 1314 If in step 1314 it is determined that the first trigger has not been reset, then the process continues in step 1312.
- step 1312 If the action is not completed by the time the timer expires in the clock 320, i.e. the module 308 does not receive a message that the first trigger has been reset, then when the elapsed time is detected as having expired in step 1312, the process moves on to step 1316.
- the CN application running at the server determines that the second trigger should be set when the elapsed time expires.
- the signal set by the clock 320 indicating that the elapsed time has expired may be considered the second trigger, or may result in the second trigger being set: generally it indicates that the second condition has been detected.
- the signal denoting expiry of the elapsed time includes the timer identity, which is used to access the session store 336 to retrieve the associated session identity and client identity.
- the module 308 then prepares a message denoting detection of the second condition, and the generation of the second trigger.
- the message identifying the second trigger is transmitted from the server to the client device, and as denoted by step 1322 this message may be received at the module 310.
- this message may be received directly by the service worker module 318.
- the message may be received (referring to Figure 5) on line 324b, and communicated directly to line 374 to the service worker module 318.
- the service worker module 318 may be implemented within the CN application client module 310, or may be connected to receive the signal on line 324b directly.
- the module 310 causes a notification to be generated, which may be a web notification but is preferably a push notification. This is denoted by step 1324.
- the service worker module 318 is responsive directly to this message to generate a push notification.
- the activity monitoring for the second condition may all be performed at the server.
- the generation of the second trigger is contained within the instance of the CN application running on the server.
- a message is sent from the module 308 to the module 310, indicating that the second condition is detected. Responsive to this message, the module 310 initiates a notification by communicating with one of the modules 315 or 318.
- a message is sent from the module 308 directly to the module 318 (which may be within the module 310) , indicating that the second condition is detected. Responsive to this message, the module 318 initiates a push notification.
- the web page which was monitored for the first condition to generate the first trigger does not have to remain open in order for the second condition to be identified: the second condition is monitored by the server monitoring an elapsed time, and a push notification can be generated even if the web page is closed. If the web page is closed, only push notifications can be used. If the web page is open, push or web notifications can be used.
- the module 310 can provide to the service worker module 318 or the web notification module the first and second triggers. Either or each of these triggers may have additional information associated with them which indicates that basis on which the first and/or second conditions were detected, which may be used to select one or multiple notification messages.
- Abandonment Event - Client/Server Communication Lost :
- a second example of an abandonment event is a communication being lost between a client and a server.
- a session is established between an instance of the CN application running on the client device and an instance of the CN application running on the server i.e. instances running on the modules 308 and 314.
- the detection of the first condition is carried out at the client device, in accordance with techniques described above.
- the monitor component 350 monitors for the first condition.
- the first trigger is set by the component 350 on line 374.
- the module 310 detects the signal on line 374 and therefore identifies detection of the first condition and setting of the first trigger.
- monitor component 353 can determine whether the action is completed. If the action is completed then a reset signal on line 376 resets the monitor component 350, and resets the first trigger on line 374. The module 310 detects the resetting of the signal on line 374.
- step 408 a modified process according to this example begins .
- the CN application client module 310 In a step 1402, the CN application client module 310 generates a message for transmission to the CN application server module 308, indicating that the first trigger has been set. As above, the CN application server module 308 is notified of the setting of the first trigger by the signal on line 374.
- a communication session is established between the modules 310 and 308, and in a step 1404 the created message is transmitted from the module 310 to the module 308.
- the CN application server module 308 receives the message, and identifies the communication session between the server and the client with which this message is associated, identifies the client from which this message is received, identifies from the message that the first trigger has been set, and may also identify the web page with which the first trigger is associated, if this information is contained in the message.
- the receipt and analysis of this message is denoted by step 1406 in Figure 11.
- the CN application server module 308 then, as denoted by step 1408, stores the details associated with the message in the session store 336, using communication links 319.
- the CN application server module 308 stores the session identity (i.e. the identity of the communication session with which the message is associated) , the device identity (i.e. the identity of the device from which the message was received), the first trigger status, and the web page identity (if provided in the message) .
- session identity i.e. the identity of the communication session with which the message is associated
- device identity i.e. the identity of the device from which the message was received
- the first trigger status i.e. the identity of the device from which the message was received
- the web page identity if provided in the message
- the session store 336 comprises a table with a number of entries, each entry having a client device identity, a session identity, a first trigger status, and optionally a web page identity.
- the CN application server module 308 communicates with the CN activity (server) monitoring module 312 to enable the CN activity (server) monitoring module 312 to monitor the session activity. This is denoted by step 1410.
- the CN activity (server) monitoring module 312 monitors activity on communication lines 324 for the session .
- step 1412 it is then determined whether the monitored session remains active.
- This communication can be used to monitor for the second condition by the module 308 in step 808.
- the monitoring of this communication can be performed but the CN activity (server) monitoring module, which has access to the session activity via its connection to the CN application server module 308.
- the second condition is by monitoring the communication as explained above.
- An example of a communication check is as follows. This communication between the client device and the server device may involve the server device asking the browser at a certain time interval, e.g. every 1/5/10/X seconds, are you open?" If the browser does not reply, it means it is closed. Alternatively the browser may communicate to the server, telling the server every 1/5/10/X seconds "I am open”. If the server does not receive the communication in 2/6/ll/X+l seconds, it means that the browser is closed. This is one example of a communication check - other communication checks may be implemented .
- This communication thus indicates to the module 308 whether the session associated with the web page has become abandoned.
- step 1416 If the communication for a session is detected as having stopped, the second condition is detected for that session, then the process moves on to step 1416.
- the termination of communication indicates that the session has been abandoned. This denotes the monitoring by the module 308.
- step 1414 it is determined whether a further action has been initiated or completed.
- the module 314 will then detect that the first trigger on line 374 has been reset, and send a message indicating such to the module 308.
- the module 308 can identify the session with which the message is associated, and in dependence on the message indicating that the first trigger has been reset, update the status of the first trigger in the session store 336.
- the session identity for the associated entry can then be retrieved.
- the monitoring for this session can then be terminated.
- step 1419 the session store is cleared of the information associated with the session. Thus the row of the table shown in Figure 4 is purged. The process then ends in step 1421.
- step 1414 If in step 1414 it is determined that the first trigger has not been reset, then the process continues in step 1412.
- step 1412 If it is determined in step 1412 that the session being monitored has ended, then the process moves on to step 1416.
- the activity monitor module 312 at the server checks for ongoing client-server requests, which are indicative that the web page of the browser associated with the first trigger browser is still active. If the requests cease, then this indicates that the web page has closed, and an abandonment event is thus detected. The module 312 notifies the module 308, this notification comprising the second trigger.
- Determination that the session has ended denotes detection of the second condition, and causes the second trigger to be generated.
- the CN application running at the server determines that the second trigger should be set when the monitored session is determined has ended.
- the session identity for the monitored session which has ended is retrieved, and used to access the session store 336 to retrieve the client identity.
- the module 308 then prepares a message denoting detection of the second condition, and the generation of the second trigger.
- the message identifying the second trigger is transmitted from the server to the client device, and as denoted by step 1422 this message is received at the client.
- This message is may be received at the module 310 if a web page is open.
- This message may be received directly by the service worker module 318 if a web page is not open. Thus the message may be received (referring to Figure 5) on line 324b, and communicated directly to line 374 to the service worker module 318.
- the service worker module 318 may be implemented within the CN application client module 310, or may be connected to receive the signal on line 324b directly.
- the module 310 causes a notification to be generated, which may be a web notification but is preferably a push notification. This is denoted by step 1424.
- the service worker module 318 is responsive directly to this message to generate a push notification.
- the activity monitoring for the second condition may all be performed at the server.
- the generation of the second trigger is contained within the instance of the CN application running on the server.
- a message is sent from the module 308 to the client, indicating that the second condition is detected. Responsive to this message, the client initiates a notification .
- a message is sent from the module 308 to the module 310, indicating that the second condition is detected. Responsive to this message, the module 310 initiates a notification by communicating with one of the modules 315 or 318.
- a message is sent from the module 308 directly to the module 318 (which may be within the module 310) , indicating that the second condition is detected. Responsive to this message, the module 318 initiates a push notification.
- this second example is dependent on detection that a communication has ended, which will indicate that the web page for which the first trigger was generated has been closed. In which case, the web page will be closed at the client device, and the message will be received by the service worker module 318 directly.
- the module 310 can thus provide to the service worker module 318 the first and second triggers. Either or each of these triggers may have additional information associated with them which indicates that basis on which the first and/or second conditions were detected, which may be used to select one or multiple notification messages .
- the system may be configured to allow for the implementation of one or more distraction event monitoring and/or one or more abandonment event monitoring.
- the CN application running at the user device determines that the second trigger has been set following the first trigger having been set, then the CN application running at the user device controls a web notification event to display a web notification to the user.
- web notifications do not use the back end, then they are pre-configured . They could be preconfigured, based on the abandonment event, e.g. inactivity causes a displayed notification of: "hey, are you sleeping? Buy our products!
- the notifications can be configured by a user, time of the day, etc. Notifications could be pre-configured according to different actions and other factors. They may be pre-configured in the back-end or the front-end.
- the notification is preferably a request to the user for a initiation or completion of a further action related to the completed action, i.e. the action that caused the first trigger to be set.
- Selection of the notification may cause the user focus to be changed to the tab (or web page) associated with the further action.
- two tabs are open, one being a web page associated with a social media website and one being a web page associated with a merchant.
- the merchant tab active and having user focus
- completion of a purchase has been detected by the application, and the first trigger set.
- the user has accessed the web page associated with a social media website, and that tab has the user focus.
- the second trigger is set, and as a result of the user selecting the notification which is then sent, the tab of the merchant then becomes active, and has the user focus - with the user notified to a further action.
- the further action may be preferably an action in the actual page, either clicking a button, changing URL etc .
- the application associated with such website notifications is a script in the website.
- Web notifications may only work on desktop devices.
- the web notification process acts as a prompt when the user has completed an action, to carry out another action in a given time period.
- the further action does not need to be immediate, and does not need to be in the same web page, url or client.
- the web page may be open for this process, although it does not need to be active.
- the time period associated with the notification should preferably be a short time period, otherwise the user may close the tab before the notification can be generated, and then the notification cannot be generated.
- the further action can be something that can stimulate the user to come back in the future. For example, providing a discount if the user purchases something on the website in the next month; encouraging the user to buy an insurance before the trip the user just bought starts; recommendations on such as customers who bought this also bought that; etc....
- the further action could also be a cross-selling strategy to purchase an item related from a client's partner/subsidiary or pure marketing advertising.
- a system or device may be provided with elements to implement the functionality described herein.
- Any method or process described herein may be implemented in software.
- Such software may be provided on a user device, and/or downloaded to a user device.
- Such software may be provided on a computer program product, such as a non-transitory storage medium.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
L'invention concerne un procédé de génération d'une notification d'utilisateur dans un dispositif client activé pour une navigation Web, le dispositif client étant en communication avec un serveur assurant une instance de serveur d'une application d'amélioration, le dispositif client assurant une instance de client de l'application d'amélioration, le procédé comprenant les étapes consistant à : détecter l'exécution d'une action par un dispositif client, ladite action étant associée à une page Web pour laquelle une application d'amélioration est activée ; déterminer si une fonctionnalité de travailleur Web est activée au niveau du dispositif client et, si c'est le cas : en réponse à une condition détectée, générer une notification de pousser.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB1809964.8 | 2018-06-18 | ||
| GBGB1809964.8A GB201809964D0 (en) | 2018-06-18 | 2018-06-18 | Providing a push notification after completion of an action |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019243319A1 true WO2019243319A1 (fr) | 2019-12-26 |
Family
ID=63042262
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2019/065999 Ceased WO2019243319A1 (fr) | 2018-06-18 | 2019-06-18 | Fourniture d'une notification de pousser après l'exécution d'une action |
Country Status (2)
| Country | Link |
|---|---|
| GB (1) | GB201809964D0 (fr) |
| WO (1) | WO2019243319A1 (fr) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050021417A1 (en) * | 2003-07-25 | 2005-01-27 | Peter Kassan | E-commerce shopping cart |
| US20050246659A1 (en) * | 2004-04-30 | 2005-11-03 | Matthew Mengerink | Method and system to display a pop-up window when a user leaves a website |
| US20070038956A1 (en) * | 2005-08-15 | 2007-02-15 | American Express Marketing & Development Corp. | System and method for displaying unrequested information within a web browser |
| WO2008046067A1 (fr) * | 2006-10-12 | 2008-04-17 | Adteractive, Inc. | Récupération d'abandons en ligne |
| US20090164940A1 (en) * | 2007-12-20 | 2009-06-25 | Upsellit.Com, Inc. | Customer interaction recapture system |
| WO2015089042A1 (fr) * | 2013-12-11 | 2015-06-18 | Netotiate, Inc. | Procédé et système de prévention de l'abandon d'un chariot d'achat |
-
2018
- 2018-06-18 GB GBGB1809964.8A patent/GB201809964D0/en not_active Ceased
-
2019
- 2019-06-18 WO PCT/EP2019/065999 patent/WO2019243319A1/fr not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050021417A1 (en) * | 2003-07-25 | 2005-01-27 | Peter Kassan | E-commerce shopping cart |
| US20050246659A1 (en) * | 2004-04-30 | 2005-11-03 | Matthew Mengerink | Method and system to display a pop-up window when a user leaves a website |
| US20070038956A1 (en) * | 2005-08-15 | 2007-02-15 | American Express Marketing & Development Corp. | System and method for displaying unrequested information within a web browser |
| WO2008046067A1 (fr) * | 2006-10-12 | 2008-04-17 | Adteractive, Inc. | Récupération d'abandons en ligne |
| US20090164940A1 (en) * | 2007-12-20 | 2009-06-25 | Upsellit.Com, Inc. | Customer interaction recapture system |
| WO2015089042A1 (fr) * | 2013-12-11 | 2015-06-18 | Netotiate, Inc. | Procédé et système de prévention de l'abandon d'un chariot d'achat |
Also Published As
| Publication number | Publication date |
|---|---|
| GB201809964D0 (en) | 2018-08-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8756108B2 (en) | Dynamic hosting shopping cart | |
| US8554633B2 (en) | System and method to prevent termination of on-line transactions | |
| US20220318872A1 (en) | Method and system to facilitate transactions | |
| US20110093790A1 (en) | Preemptive caching for web-based systems | |
| US11676155B1 (en) | Methods and apparatus for mobile device messaging-based communications using custom-generated deeplinks and based on the hyper text transfer protocol (HTTP) | |
| US11651387B2 (en) | Automatically presenting e-commerce offers based on browse history | |
| JP7660606B2 (ja) | Ecの海外への提供を支援するための方法及びプログラム並びにそれを用いる装置 | |
| US11237725B1 (en) | Tracking link generation using keyboard interception on mobile devices | |
| US12135873B2 (en) | Tracking link generation using a keyboard application | |
| US20190377766A1 (en) | Web access enhancement | |
| US20180012206A1 (en) | System and method of gift card redemption | |
| US20250055840A1 (en) | Low latency and redundant proof of possession for content subscription | |
| US20250104108A1 (en) | Systems and methods for item resolution | |
| US12335119B2 (en) | Automated manipulation and monitoring of embeddable browsers | |
| WO2019243319A1 (fr) | Fourniture d'une notification de pousser après l'exécution d'une action | |
| WO2019243318A1 (fr) | Fourniture d'une notification web après exécution d'une action | |
| WO2019243317A1 (fr) | Fourniture d'une notification web après une détection d'intention d'exécuter une action | |
| WO2019243321A1 (fr) | Fourniture d'une notification de pousser après une détection d'intention d'exécution d'une action | |
| CA2704095C (fr) | Procedes et systemes de souscription a des articles recurrents | |
| US20160140638A1 (en) | One-click refunds for online content purchases | |
| JP2019514129A (ja) | 複数のスレッドを使って電子リソースをダウンロードする際の待ち時間の削減 | |
| WO2020104516A1 (fr) | Lancement d'une application logicielle subordonné à la détection de la fermeture de multiples pages web associées à l'application logicielle |
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: 19736997 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19736997 Country of ref document: EP Kind code of ref document: A1 |