[go: up one dir, main page]

HK1180418B - Tracking navigation flows within the same browser tab - Google Patents

Tracking navigation flows within the same browser tab Download PDF

Info

Publication number
HK1180418B
HK1180418B HK13107712.7A HK13107712A HK1180418B HK 1180418 B HK1180418 B HK 1180418B HK 13107712 A HK13107712 A HK 13107712A HK 1180418 B HK1180418 B HK 1180418B
Authority
HK
Hong Kong
Prior art keywords
web page
identifier
request
tab
stream
Prior art date
Application number
HK13107712.7A
Other languages
Chinese (zh)
Other versions
HK1180418A1 (en
Inventor
Nataliya Galushka
Ryan D. Parsell
Asif A. Siddiqi
Mathanram Vettivelu
Jonathan Q. King
Original Assignee
Microsoft Technology Licensing, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/748,093 external-priority patent/US9232011B2/en
Application filed by Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of HK1180418A1 publication Critical patent/HK1180418A1/en
Publication of HK1180418B publication Critical patent/HK1180418B/en

Links

Description

Tracking navigation flows within the same browser tab
Background
Many web browsers allow a user to have multiple pages open simultaneously under different tabs. Different option cards in a browser typically share the same browser session and multiple session cookies. Because all tabs share the same browser session, when a user opens a page in a new tab, the new page has been conveniently logged in through the server for that user.
However, the nature of tabbed browsing designs creates complications in tracking navigation flows that occur within each browser tab. In particular, multiple tabs in the same browser typically share a browser session, so when a request is generated and sent to the server, there is no indication of the tab from which the request originated. Tracking navigation of users within a particular domain or website may be useful in many situations. This may be useful to help domain or website owners understand how users interact with their sites. For example, understanding a user's navigation behavior may help facilitate sales or promotional decisions associated with a particular site.
In general, user behavior for a particular browser session may be recorded and navigation data associated. However, as noted above, when a user has multiple tabs open in a browser, tracking the navigation flow for a single tab cannot be performed because the tabs share the same browser session and multiple session cookies.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Various embodiments enable navigation streams that occur within a single tab to be tracked. The client-side and server-side software work in concert to exercise: identifiers used to track navigation within a particular tab.
In at least some embodiments, the client can request a web page from within the tab, and in response to the request, the server can create and associate an identifier with the web page. The web page and identifier may then be returned to the client. Subsequent web page requests from within the tab include an identifier so that the server knows that the request is from the same tab. If the user opens a new tab and requests a web page, the client-side browser will not include identifiers associated with other tabs. Instead, the identifier will not be included in the web page request, and in response, the server will issue a new identifier so that the navigation behavior associated with the new tab can also be tracked.
Drawings
The same numbers are used throughout the drawings to reference like features.
FIG. 1 illustrates an operating environment in which various principles described herein can be employed in accordance with one or more embodiments.
FIG. 2 is a flow diagram that describes steps of a method in accordance with one or more embodiments.
FIG. 3 is a diagrammatic representation of data flow in accordance with one or more embodiments.
FIG. 4 is a flow diagram that describes steps of a method in accordance with one or more embodiments.
FIG. 5 is a flow diagram that describes steps of a method in accordance with one or more embodiments.
FIG. 6 illustrates an example system that can be used to implement one or more embodiments.
Detailed Description
SUMMARY
Various embodiments enable navigation streams that occur within a single tab to be tracked. The client-side and server-side software work in concert to exercise: identifiers used to track navigation within a particular tab.
In at least some embodiments, the client can request a web page from within the tab, and in response to the request, the server can create and associate an identifier with the web page. The web page and identifier may then be returned to the client. Subsequent web page requests from within the tab include an identifier so that the server knows that the request is from the same tab. If the user opens a new tab and requests a web page, the client-side browser will not include identifiers associated with other tabs. Instead, the identifier will not be included in the web page request, and in response, the server will issue a new identifier so that the navigation behavior associated with the new tab can also be tracked.
In the discussion that follows, a section entitled "operating Environment" is provided and describes an environment in which one or more embodiments can be employed. Thereafter, a section entitled "tracking navigation flow" describes how navigation flow can be tracked for a single tab in accordance with one or more embodiments. Next, a section entitled "example implementation" describes example implementations in accordance with one or more embodiments. Finally, a section entitled "example System" describes an example system that can be employed to implement one or more embodiments.
Operating environment
FIG. 1 illustrates an operating environment, generally at 100, in accordance with one or more embodiments. The environment 100 includes a computing device 102 having one or more processors 104, one or more computer-readable storage media 106, and one or more applications 108 on the computer-readable storage media and executable by the processors. Computer-readable storage media may include, by way of example and not limitation, all forms of volatile and non-volatile memory and/or storage media that are typically associated with a computing device. Such media may include ROM, RAM, flash memory, a hard disk, removable media, and the like. One specific example of the arithmetic device is shown and described below in fig. 6.
In addition, computing device 102 includes a software application in the form of a web browser 110. Any suitable web browser may be used, examples of which are available from this document and other assignee. Additionally, the computer-readable storage medium 106 may include a navigation tracking module 111 that operates as described above and below. The navigation tracking module 111 may be implemented as a stand-alone component that may be utilized by the browser 110. Alternatively or additionally, as exemplified herein, the navigation tracking module 111 may be implemented as part of the browser 110.
In addition, environment 100 includes a network 112 (e.g., the Internet) and one or more servers 114 that can receive and transmit content. The server 114 includes one or more processors 116, one or more computer-readable storage media 118, and one or more applications 120 on the computer-readable storage media and executable by the processors. Computer-readable storage media may include, by way of example and not limitation, all forms of volatile and non-volatile memory and/or storage media that are typically associated with a computing device. Such media may include ROM, RAM, flash memory, a hard disk, removable media, and the like. One specific example of a computing device that may implement a server is shown and described below in FIG. 6.
In addition, server 114 includes a navigation tracking module 122 that operates as described above and below. The navigation tracking module 122 may be implemented as a stand-alone component or a component integrated with other applications.
In operation, browser 110 may request a web page from within a tab, in response to which server 114 may create an identifier via navigation tracking module 122 and associate the identifier with the web page. The web page and identifier may then be returned to the client or browser 110. Subsequent web page requests from within the tab include an identifier so that the server knows that the request is from the same tab. If the user opens a new tab and requests a web page, browser 110 will not include identifiers associated with other tabs. Rather, the identifier will not be included in the web page request, and in response, server 114 will issue a new identifier so that the navigation behavior associated with the new tab can also be tracked.
By way of example and not limitation, computing device 102 may be implemented as any suitable computing device such as a desktop computer, a portable computer, a handheld computer such as a Personal Digital Assistant (PDA), a cell phone, and the like.
Having described an example operating environment, consider now a discussion of how navigation flows may be tracked in accordance with one or more embodiments.
Tracking navigation flows
FIG. 2 is a flow diagram that describes steps in a method in accordance with one or more embodiments. The methods may be performed in connection with any suitable hardware, software, firmware, or combination thereof. In the diagram of fig. 2, certain steps are designated to be performed on the "client side" and certain steps are designated to be performed on the "server side". In at least some embodiments, the steps described may be performed by software modules (e.g., navigation tracking modules 111, 122, respectively).
Step 202 generates a request for a web page from within a tab. This step may be performed by a suitably configured web browser application. Step 204 sends a request for a web page to the server. This step may be performed by sending a request over a network (e.g., the internet).
Step 206 receives a request for a web page at a server. Step 208 confirms from the request whether the identifier is associated with the request. The identifier may be associated with the request in any suitable manner. For example, the identifier may be included in at least some embodiments by a query string that forms part of the request. Alternatively, the identifier may be included by a cookie sent along with the request. If the request does not contain an identifier, step 210 generates an identifier and step 212 logs the identifier and the web page in a log file. Any suitable type of identifier may be used. In at least some embodiments, the identifier comprises a JavaScript variable. On the other hand, if the request does contain an identifier, the method branches to step 212 and logs the identifier and the web page in a log file. Step 214 associates the identifier with the requested web page. This step may be performed in any suitable manner. For example, the identifier may be built into a web page. The built-in identifier may or may not be visible. In at least some embodiments, the identifier comprises a JavaScript variable. Step 216 then returns the web page with the identifier to the requestor.
Step 218 receives the web page with the identifier. Step 220 uses the identifier in subsequent web page requests from the same tab. Step 222 does not use the identifier in web page requests from other tabs. By doing so, the server will be able to determine which tab a particular request originated from and, therefore, will be able to track the navigation flow associated with each tab. If the user changes tabs, the method will repeat as described above by generating a new, different identifier and associating it with a subsequent requested web page from within the new tab.
Having described the concept of tracking navigation behavior at per-tab granularity, consider now an implementation example that provides a specific way to track tab-related navigation.
Examples of the embodiments
In an example to be generally described, navigation behavior associated with a tab may be tracked within a particular domain. Typically, a browser session cookie is employed to associate all requests for web pages on a particular site or domain. In this implementation example, a globally unique experience ID is employed during the first request from a browser session. The experience ID is set to the session cookie and read when a subsequent request is made to the server. In addition, this implementation example leverages stream IDs that are unique within the context of the associated experience ID to enable tracking navigation at the granularity of the tab. As an overview of this process, consider the following.
A single stream can be viewed as a sequence of pages within a particular suite viewed under the same tab and connected by a "normal" left mouse click on a link displayed on the web page. If the user leaves the suite and returns under the same tab, the old flow will be interrupted and the new flow will start when the user returns to the tab. This also builds a new stream if the user correctly enters an address in the address bar of the same tab.
In the illustrated and described embodiment, the stream ID is propagated through the server in response to receiving a web page request from a client. The stream ID may be printed on the web page as a JavaScript variable. The specific handle on the client side may look for certain events, such as clicking on a link, and propagate the stream ID back to the server for processing. For example, if the user performs a left mouse click or any other click that will display the page in the same tab and within the destination URL within the current suite, the stream ID printed on the web page may be propagated back to the server via the query string parameter or cookie.
On the server side, the web page request is checked for the presence of a stream ID. If the request includes a stream ID, the server continues to use the current stream ID by associating the current request with the stream ID in a log file. In addition, a stream ID is associated with the requested web page and returned to the client. On the other hand, if no stream ID exists in the request, a new stream ID is randomly generated and associated with the currently requested web page. In addition, the new flow ID and its associated web page are logged into a log file, and a new web page with the new flow ID is returned to the client.
Having described a general overview of this implementation example, consider now the processes that occur first on the server side, and then on the client side. This is followed by an example illustrating how navigation behavior may be tracked in accordance with one or more embodiments.
Server-side processes
On the server side, when a web page request is received, the request is checked for the presence of an empirical IDcookie. If the request contains an experience IDcookie, the associated experience ID is used for the session. If the experience IDcookie is not in the request, a new experience ID is created and saved in the experience IDcookie. Next, the server checks for the presence of a flow IDcookie in the request. If the flow IDcookie is in the request, the current flow ID becomes whatever flow ID is described in the flow IDcookie. The cookie is then cleared. If the flow IDcookie is not in the request, a new flow ID is selected. Next, the server logs the log file with the current web page request with the current experience ID and stream ID. Additionally, the current stream ID is printed as a JavaScript variable on the web page. The web page is then subsequently returned to the client.
Client-side processes
On the client side, a number of different handles are used and attached to various events that may occur on a web page. By way of example and not limitation, these events include at the time of the click, at the time of mouse down, at the time of mouse up, at the time of key down, at the time of key up, at the time of touch start, and at the time of touch end.
When an event occurs, the handle checks to confirm which element on the web page is associated with the event. If the element in which the event occurred is a link element, the handle checks with the target URL. If the target URL is associated with a domain of interest, the handle checks to confirm the type of user input that occurred, e.g., a click. If the user input is of a type that will open a new web page in the same tab, the flow IDcookie is set to the value of the flow IDJavaScript variable printed on the web page and used in the new web page request.
Tracking navigation behavior-examples
FIG. 3 is a diagram illustrating an example of how navigation behavior may be tracked at tab granularity. In this example, there is a graphical representation of a web browser that includes first and second tabs. The behavior depicted inside the graphical representation of the web browser is considered to occur in the web browser. The externally depicted behavior of the graphical representation of the web browser is considered to occur on the server. In addition, each of the following behaviors, for example, "1", "2", and the like, is cited. This is intended to assist the reader in understanding the description that follows.
At item 1, the user opens the browser and enters the address of the webpage (page a) associated with the domain of interest in a first tab. A web page request for page a is then sent to the server. Since this is the first request from the new tab, there is no stream ID associated with the request.
At item 2, on the server side, a web page request is received. Because the stream ID is not found in the request, a new stream ID, e.g., "1", is generated. An entry is made in the log file for this browser session indicating that a request for page a occurred and that the stream ID is "1". And preparing the page A by JavaScript variable flow ID being 1 and transmitting the page A to the client.
At item 3, page a is rendered by the browser in the original first tab. Now assume that on page a the user right clicks on the link to page X and selects "open in new tab" from the drop down menu. This event is captured by one of the handles and confirmed to be a click other than that which will navigate to the current tab inner page. For this reason, when the web page request is sent to the server, the stream ID is not included.
At item 4, on the server side, a web page request is received for page X without a stream ID, the server randomly generates a new stream ID, e.g., "2," and enters an entry for this request in a log file. The log file entry associates page X and stream ID 2. And preparing the page X by JavaScript variable flow ID2 and transmitting the page X to the client.
At item 5, on the client side, the web browser renders page X in the second tab. Now assume that on page X, the user left clicks (normal page navigation clicks) on the link to page Y. Because this is a normal page navigation click within the tab, and because page Y is in the domain of interest, the flow IDcookie is written with a value of "2" before sending the web page request to the server.
At item 6, the server receives a request for page Y including stream ID 2. Because a cookie is included in the request, the server erases the stream ID cookie using the stream ID2 for this request and logs the request for page Y in a log file along with the stream ID. In addition, the server prepares page Y for transmission to the client by including the stream ID variable set to "2" on the web page.
At item 7, the new web page Y is rendered in the second tab by the browser.
At item 8, assume now that the user returns to the first tab. Here, page a is still open. Now assume that the user left-clicks on the link to page B. Capturing and confirming this event is normal navigation into tabs located on pages in the domain of interest. Accordingly, a web page request requesting page B is prepared. In the web page request, the flow IDcookie is set equal to "1".
At item 9, on the server side, a request for page B with stream ID "1" is received. Since the stream ID is in the request, an entry is written to the log file that associates page B and stream ID "1".
At item 10, the server returns page B with stream ID "1" to the client. The page can now be rendered in the first tab.
In this example, the server prepared log file would have the following form:
page A Stream ID is 1
Page X Stream ID2
Page Y Stream ID2
Page B Stream ID is 1
Note here that because of the use of stream IDs, each navigation stream associated with each tab may be tracked. If not, navigation between different pages appearing on different tabs will not be confirmed. Instead, all navigation events will be associated only with the browser session and not with the browser's tabs. By doing so, a more detailed analysis about the user navigation flow can be made.
FIG. 4 is a flow diagram that describes steps in a client-side method in accordance with one or more embodiments. This description assumes that the stream IDs for the individual tabs have been received from the server as described above. The method can be performed in connection with any suitable hardware, software, firmware, or combination thereof. In at least some embodiments, the method can be performed by a software module in the form of a client-side navigation tracking module (e.g., navigation tracking module 111 in FIG. 1).
Step 400 confirms the elements on the web page that the user input was received. If at step 402 it is determined that the element is an element other than a link element, then step 404 does not perform navigation tracking. On the other hand, if it is determined that the element is a link element, step 406 confirms whether the associated navigation occurs within the field of interest. If not, the method branches to step 404. On the other hand, if navigation occurs within the field of interest, step 408 confirms whether the navigation is a page navigation that occurs within the same tab. If not, the method branches to step 404 and navigation tracking for that particular tab is not performed. For example, if the navigation is to cause a new tab to be opened and a navigation page rendered therein, the method will branch to step 404 for the first tab. However, navigation tracking may be performed for the new tab. On the other hand, if the navigation is the same tab, page navigation, step 410 sets the stream ID. The stream ID may be set using any suitable technique. Next, a web page request including the stream ID is transmitted to the web server.
FIG. 5 is a flow diagram that describes steps in a server-side method in accordance with one or more embodiments. The method can be performed in connection with any suitable hardware, software, firmware, or combination thereof. In at least some embodiments, the method can be performed by a software module in the form of a server-side navigational tracking module (e.g., navigational tracking module 122 in FIG. 1).
Step 500 receives a web page request from a client. Step 502 validates the experience ID associated with the web page request. This may be done in any suitable way. For example, the experience ID may be included in a cookie associated with the request. Alternatively, the experience ID may not be included with the request. Instead, an experience ID for the new session may be generated by the server. Step 504 confirms whether the stream ID is associated with a web page request. If not, step 506 generates a new stream ID for the request. If the stream ID is associated with the web page request, or a new stream ID is generated at step 506, step 508 makes a log entry for the requested web page and stream ID.
Step 510 associates the stream ID with the requested web page. The steps may be performed in any suitable manner. For example, in at least some embodiments, the stream ID can be incorporated as a JavaScript variable into the requested web page as described above. Alternatively or additionally, the stream ID may be represented as an attribute or characteristic of the web page. Step 512 transmits the requested web page including the stream ID to the client.
Having described various navigation tracking embodiments, consider now an example system that can be employed to implement one or more of the above-described embodiments.
Example System
FIG. 6 illustrates an example computing device 600 that can be used to implement the various embodiments described above. Computing device 600 may be, for example, computing device 102 or server 114 of fig. 1 or any other suitable computing device.
The computing device 600 includes one or more processors or processing units 602, one or more memory and/or storage components 604, one or more input/output (I/O) devices 606, and a bus 608 that allows the various components and devices to communicate with one another. Bus 608 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. Bus 608 can include wired and/or wireless buses.
Memory/storage component 604 represents one or more computer storage media. Component 604 can include volatile media (such as Random Access Memory (RAM)) and/or nonvolatile media (such as Read Only Memory (ROM), flash memory, optical disks, magnetic disks, and so forth). Component 604 can include fixed media (e.g., RAM, ROM, a fixed hard drive, etc.) as well as removable media (e.g., a flash memory drive, a removable hard drive, an optical disk, and so forth).
One or more input/output devices 606 allow a user to enter commands and information to computing device 600, and also allow information to be presented to the user and/or other components or devices. Examples of input devices include a keyboard, cursor control device (e.g., a mouse), microphone, scanner, and so forth. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, and so forth.
Various techniques may be described herein in the general context of software or program modules. Generally, software includes routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. An implementation of these modules and techniques may be stored on or transmitted across some form of computer readable media. Computer readable media can be any available medium or media that can be accessed by a computing device. By way of example, and not limitation, computer-readable media may comprise "computer-readable storage media".
"computer-readable storage media" include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer.
Conclusion
Various embodiments enable navigation streams that occur within a single tab to be tracked. The client-side and server-side software work in concert to exercise: identifiers used to track navigation within a particular tab.
In at least some embodiments, the client can request a web page from within the tab, and in response to the request, the server can create and associate an identifier with the web page. The web page and identifier may then be returned to the client. Subsequent web page requests from within the tab include an identifier so that the server knows that the request is from the same tab. If the user opens a new tab and requests a web page, the client-side browser will not include identifiers associated with other tabs. Instead, the identifier will not be included in the web page request, and in response, the server will issue a new identifier so that the navigation behavior associated with the new tab can also be tracked.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims (9)

1. A computer-implemented method for tracking navigation flows within a browser tab, comprising:
generating a request from a web page within a browser tab;
sending the request to the server;
receiving a web page including an identifier in response to the transmission request;
using the identifier in subsequent web page requests from within the tab; and
the identifier is not used in web page requests from other tabs,
wherein said using the identifier comprises including the identifier by a cookie sent with a subsequent web page request, and wherein the cookie is purged at the server in response to acknowledging that the cookie includes the identifier.
2. The method of claim 1, wherein the identifier comprises a JavaScript variable.
3. The method of claim 1, wherein the using and not using is performed by a navigation tracking module implemented as part of a browser.
4. The method of claim 1, wherein said using the identifier comprises: this identifier is used in the case where the requested web page is within the domain of interest.
5. An apparatus for tracking navigation flow within a browser tab, comprising:
means for generating a request from a web page within a browser tab;
means for sending a request to a server;
means for receiving, in response to sending the request, a web page including the identifier;
means for using the identifier in subsequent web page requests from within the tab; and
for not using the identifier means in web page requests from other tabs,
wherein said using the identifier comprises including the identifier by a cookie sent with a subsequent web page request, and wherein the cookie is purged at the server in response to acknowledging that the cookie includes the identifier.
6. A computer-implemented method for tracking navigation flows within a browser tab, comprising:
receiving, at a server, a request for a web page;
confirming whether an identifier associated with an individual tab on the requesting browser is associated with the request by confirming whether the identifier is associated with a cookie received with the request;
in response to the request not containing a cookie with an identifier, generating a new identifier and logging the new identifier and associated web page in a log file;
in response to the request containing a cookie with an identifier, clearing the cookie and logging the identifier and associated web page in a log file;
associating the identifier or the new identifier with the web page; and
a web page including the identifier or the new identifier is returned to the client that received the request.
7. The method of claim 6, wherein generating a new identifier is performed by generating a JavaScript variable.
8. A computer-implemented method for tracking navigation flows within a browser tab:
receiving a webpage request from a client;
identifying an experience ID associated with the web page request, the experience ID associated with the browser session and being globally unique;
confirming whether a flow ID is associated with the web page request by confirming whether the flow ID is associated with a cookie received with the web page request, the flow ID being unique within the context of the experience ID;
if the stream ID is not associated with the web page request, generating a new stream ID for the web page request and making a log entry of the experience ID, the requested web page, and the new stream ID;
if the flow ID is associated with the web page request, clearing the cookie and making log entries for at least the requested web page and the flow ID;
associating the new stream ID or stream ID with the requested web page; and
the requested web page including the new stream ID or stream ID is transmitted to the client.
9. The method of claim 8, wherein said associating the new stream ID or stream ID is performed by incorporating a JavaScript variable into the requested web page.
HK13107712.7A 2010-03-26 2011-03-24 Tracking navigation flows within the same browser tab HK1180418B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/748093 2010-03-26
US12/748,093 US9232011B2 (en) 2010-03-26 2010-03-26 Tracking navigation flows within the same browser tab
PCT/US2011/029748 WO2011119803A2 (en) 2010-03-26 2011-03-24 Tracking navigation flows within the same browser tab

Publications (2)

Publication Number Publication Date
HK1180418A1 HK1180418A1 (en) 2013-10-18
HK1180418B true HK1180418B (en) 2016-12-02

Family

ID=

Similar Documents

Publication Publication Date Title
CN102859509B (en) Follow the tracks of the navigation stream in same browser tab
US10394902B2 (en) Creating rules for use in third-party tag management systems
US10977056B2 (en) System for utilizing one or more data sources to generate a customized interface
US8453059B2 (en) Traffic visualization across web maps
US8386495B1 (en) Augmented resource graph for scoring resources
US11651144B2 (en) Systems, methods, and media for correlating information corresponding to multiple related frames on a web page
CN103443781B (en) data delivery
US9218332B2 (en) Method and system for auto-populating electronic forms
US20140137006A1 (en) Graphical Overlay Related To Data Mining And Analytics
US20150331578A1 (en) Active summaries in user interfaces to collaboration services
US20140244634A1 (en) Systems and Methods for Providing Personalized Search Results Based on Prior User Interactions
WO2014078961A1 (en) A browser extension for the collection and distribution of data and methods of use thereof
US9195944B1 (en) Scoring site quality
US20160110387A1 (en) Product lifecycle management system
US20150294019A1 (en) Web browsing activity flow
JP6872853B2 (en) Detection device, detection method and detection program
US20070083806A1 (en) Electronic web sticky
US20160092506A1 (en) Generating suggested structured queries
US20160092459A1 (en) Translating a keyword search into a structured query
CN101383838B (en) Method, system and apparatus for Web interface on-line evaluation
US20160092511A1 (en) Interactive construction of queries
HK1180418B (en) Tracking navigation flows within the same browser tab
JP2017220099A (en) System for acquiring user browsing behavior information on a web page via a network
US10810366B1 (en) Coordinating in-frame content with page content in applications
US10452738B1 (en) Coordinating in-frame content with page content in applications