CA2433124A1 - Method and apparatus for using a browser to configure a software program - Google Patents

Method and apparatus for using a browser to configure a software program Download PDF

Info

Publication number
CA2433124A1
CA2433124A1 CA002433124A CA2433124A CA2433124A1 CA 2433124 A1 CA2433124 A1 CA 2433124A1 CA 002433124 A CA002433124 A CA 002433124A CA 2433124 A CA2433124 A CA 2433124A CA 2433124 A1 CA2433124 A1 CA 2433124A1
Authority
CA
Canada
Prior art keywords
web
tracking
tracked
web object
configuration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002433124A
Other languages
French (fr)
Inventor
Ron M. Gallella
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Webtrends Inc
Original Assignee
NetIQ Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NetIQ Corp filed Critical NetIQ Corp
Publication of CA2433124A1 publication Critical patent/CA2433124A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation

Abstract

A method for configuring a web site tracking program on a computer coupled over a network to a web server whereby the web page or object to be tracked is displayed on a display device within a browser window in synchronicity with the web site tracking criteria selected for that page or object. The web browser is operated on the computer with a configuration program to retrieve a web page or object from the web site server and display it in a browser window and the tracking criteria within a configuration pane or subwindow.
The operator selects within the configuration pane or subwindow the web tracking criterion to be configured and the proper URL, FTP or other identifying link to the criteria is automatically generated for and associated with the web page or object displayed.

Description

METHOD AND APPARATUS FOR USING A BROWSER TO CONFIGURE A
SOFTWARE PROGRAM
BACKGROUND OF THE INVENTION
The present application relates to compiling and reporting data associated with activity on a network server and more particularly to a method and apparatus for configuring web site traffic analysis programs by, for instance, enhancing categorization of web pages into traffic reporting groups.
Programs for analyzing traffic on a network server, such as a worldwide web server, to are known in the art. One such prior art program is described in US Patent Application No.
09/240,208, filed January 29, 1999, for a Method and Apparatus for Evaluating Visitors to a Web Server, which is incorporated herein by reference for all purposes. NetIQ
Corporation owns this application and also owns the present application. In these prior.
art systems, the program typically runs on the web server that is being monitored. Data is compiled, and reports are generated on demand---or are delivered from time to time via small---to display information about web server activity, such as the most popular page by number of visits, peak hours of website activity, most popular entry page, etc.
Analyzing activity on a worldwide web server from a different location on a global computer network ("Internet') is also known in the art. In a conventional implementation, a provider of remote web-site activity analysis ("service provider") generates JavaScript code that is distributed to each subscriber to the service. The subscriber copies the code into each web-site page that is to be monitored. When a visitor to the subscriber's web site loads one of the web-site pages into his or her computer, the JavaScript code collects information, including time of day, visitor domain, page visited, etc. The code then calls a server operated by the service provider-also located on the Internet and transmits the collected information thereto as a URL parameter value. Information is also transmitted in a known manner via a cookie. Each subscriber has a password to access a page on the service provider's server. This page includes a set of tables that summarize, in real time, activity on the customer's web site.
3o The basic mechanism of such services is that each tracked web-site page contains some JavaScript in it that requests a 1x1 image from the service provider's server. Other information is sent along with that request, including a cookie that uniquely identifies the visitor. Upon receipt of the request, applicants' service records the hit and stages it for full accounting. This is a graven method for tracking web site usage.

The above-described arrangement for monitoring web server activity by operating a program on the web server itself, or by a service provider over the Internet, is generally known in the art. Examples of the information analyzed includes technical data, such as mast popular pages, referring URLs, total number of visitors, browser application used, IP
addresses of visitors, time and dated web pages visited, retunling visitors, etc.
Many, if not most, companies and organizations maintain sites on the worldwide web for informational and commerce purposes. Each site is comprised of multiple pages with varying functions and content.
The operator of each site is interested in knowing how the people who visit it are to using the site. Who is coming, where did they come from, what are they looking at, how long did they stay - alI are questions that the operator might ask. This curiosity begot the class of tools known as web server Iog analyzers described above.
Conventional versions of these analyzers report only on the raw data, giving the number of times each particular URL was downloaded. As web sites become more 15 sophisticated, so does the need for more sophisticated analysis. In particular, it becomes important to interpret the meaning of the downloaded pages and report ox~ it, rather than merely the name of the page.
For instance, there might be a hundred pages all with different UI~Ls, and all of the pages pertain to the customer service function. It may be desirable to report the traffic 2o patterns to the Customer Service area of the site, rather than to each of the constituent pages.
Given the information that visitors are spending more time in Customer Service than in the Catalog area of the site could help an organization redesign their site.
Other kinds of page classifications are possible: which pages constitute the "shopping cart" of a site, which pages should be filtered out as "noise" in the analysis, which pages 25 indicate a particular advertising campaign that brought visitors to the site, etc.
Known systems far implementing data traffic analysis for hosted web pages, particularly that sold by assignee of the present invention under their Log Analyzer software product, allows a user to configure the program to recognize particular pages or groups of pages as having "special meaning." One example of this would be to categorize a page as "representing a view 30 of a shoe product" or "this set of pages are in our Tech Support areao" The method typically used by conventional web data analysis systems for categorizing pages is based on textual pattern recognition of the URL. For example, "all UhLs containing the substring 'service' should be grouped into the Customer Service category." As users' needs grow in complexity, so does the means of recognizing URLs.

This complexity has naturally led to the use of regular expressions, which are, in effect, tiny algorithms for pattern matching. The way the user configures these product and content group patterns in applicant's Log Analyzer product is to type in a string to match against every Uniform Resource Locator (URL) that is seen in the log file. F or example, one might say, "any URL that matches the expression '/catalog/shoes/*.htm' is a slide product." In another example, a regular expression for the above condition for URLs in the Customer Service category would be ".*service.*~.html." A URL is only one type of request tracked and others can be contemplated such as requests for video files, PDF files, applications such as Flash-based presentations, etc.
Creating the zegular expression by pattern matching requires a lot of knowledge about which specific URLs are contained in the websitew The method of matching URLs against a set of defined patterns yields the desired analytic results. kiowever, the accuracy of those results depends on the correctness of the configured patterns. Though this process might be reasonable for the IT engineer or web master, it is cryptic and most likely beyond the capabilities of the manager or marketing person. Unfortunately, since the patterns can be cryptic and complicated, correct configuration can be difficult. The necessity for correct configuration, and its inherent complexity, suggests that a simplei method for specifying and verifying configurations would be welcome.
Accordingly, the need still remains for a way to more easily configure web site tra.ffic-tracking programs that overcome the complications of methods taught in the prior art.
SLm~IMARY OF TI-IE INVENTION
The invention contemplates a novel method for configuring a web site traffic tracking program. According to a preferred embodiment of the invention, the method includes operating a computer web browser software program and a configuration program to browse over a network to a first web page to be tracked. The first web page to be tracked is stored on a web server and has an associated frst web page URL. A display device, coupled to the computer, displays a browser window thereon responsive to instructions from the web browser software program. The browser window, in a preferred implementation ofthe invention, is divided into a web page preview pane, in which the web page to be tracked is displayed, and a configuration pane displaying the web site traffic tracking criteria for the web page-displayed preview pane.
Examples of web page tracking criteria include path analysis, grouping of web site pages and other material into content groups, filters, scenario analysis, campaigns, LJRI, parameter analysis, products, carts, advertising, and eCommerce setting configurations.

According to an alternate embodiment of the invention, the web site traffic tracking criteria is displayed in a separate window with data linked to the web page currently displayed in the preview window.
The foregoing and other objects, features and advantages of the invention will become more readily apparent from the following detailed description of a preferred embodiment of the invention that proceeds with reference to the accompanying drawings.

FIG. 1 is a schematic view of a portion of the Internet on which the invention is operated.
FIG. 2 is a block diagram illustrating an interaction between the browser software program and the configuration program according to a preferred implementation of the invention.
FIG. 3 is an illustration of a screen shot window showing the graphic interface used to configure a software program according to a preferred embodiment of the invention.
FIG. 4 is an illustration of a portion of th.e screen shot window of FIG. 3 showing Content Groups as an exemplary web tracking criteria.
FIG. 5 is a block diagram of multiple windows within a graphics display showing the graphic interface used to configure a software program according to an alltemate embodiment of the invention.
FIG. 6 is an illustration of a screen shot window that enables selection of user-configurable criteria for the New Path Analysis web tracking criteria.
FIG. 7 is an illustration of a screen shot window that enables selection of user-configurable criteria for the New Content Group web tracking criteria.
FIG. 8 is an illustration of a screen shot window that enables selection of additional user-configurable criteria for the New Content Crroup web tracking criteria.
FIG. 9 is an illustration of a screen shot window of FIG. 3 showing the configured web tracking criteria in connection with the web page displayed within the same window per the preferred embodiment of the invention.
APPENDIX includes source code for a portion of the configuration program adapted to retrieve the URL for the web page to be configured directly from the bro~wser program.

DETAILED DESCRIPTION
Turning now to FIG. 1, indicated generally at 10 is a highly schematic view of a portion of the Internet or other network operative to implement the invention.
Included thereon is a worldwide web server I2. Server I2, in the present example, is operated by a S business that sells products via server 12, although the same implementation can be made for sales of services via the server. The server includes a plurality of web objects such as web pages that describe the business and the products that are offered for sale that a site visitor can download to his or her computer, like computer 14, using a conventional browser program running on the computer. Web objects that can be downloaded are not intended to 1o be limited herein to web pages, but can also include video files, applications such as .pdf files, and others that are well known in the art. Each web object has an associated.web object link used to identify where on the network the web object is stored and thus can be retrieved from. A common example of a web object link for a web page is the Uniform Resource Locator (IURL), which uses a Hypertext Transport Protocol (HTTP) to access information 1s over the World Wide Web. HTTP supports access not only to documents written in HTML, but also to files retrievable through FTP or Gopher, as well as to information posted in newsgroups.
As mentioned above, it would be advantageous to the seller to have an understanding about how customers and potential customers use server 12. As also mentioned above, it is 20 known to obtain this understanding by analyzing web-server log files at the server that supports the selling web site. It is also known in the art to collect data over the Internet and generate activity reports at a remote server.
When the owner of server 12 first decides to utilize a remote service provider to generate such reports, he or she uses a computer I6, which is equipped with a web browser 25 program 26, to visit a web server 18 operated by the service provider. On server 18, the subscriber opens an account and creates a format for real-tune reporting of activity on server 12.
To generate such reporting, server 18 provides computer 16 with a small piece of code, typically JavaScript code (data mining code). The subscriber simply copies and pastes 3o this code onto each web page maintained on server I2 for which monitoring is desired.
When a visitor from computer I4 (visitor node) loads one of the web pages having the embedded code therein, the code passes predetermined information from computer 14 to a server 20--also operated by the service provider-via the Internet. This information includes, e.g., the page viewed, the time of the view, the length of stay on the page, the PAGE ~

visitor's identification, etc. Server 20 in turn transmits this information to an analysis server 22, which is also maintained by the service provider. This server analyzes the raw data collected on server 20 and passes it to a database server 24 that the service provider also operates. Another method for tracking visitors to a web site i.s through the use of objects called cookies whose operation is well known and hence not described in further detail.
When the. subscriber would like to see and print real-time statistics, the subscriber uses computer 16 to access server 18, which in turn is connected to database server 24 at the service provider's location. The owner can then see and print. reports, like those available through the webtrendslive.com reporting service operated by the assignee of this application;
1o that provide real-time information about the activity at server 12.
The data mining code embedded within the web page script operates to gather data about the visitor's computer. Also included within the web page script is a request for a lxl pixel image whose source is server 20. The lxl pixel image is too small to be viewed on the visitor's computer screen and is simply a method for sending information to server 20, which logs for processing by server 22, all web traffic information.
The data mined from the visitor computer by the data mining code is attached as a code string to the end of the image request sent to the server 20. By setting the source of the image to a variable built by the script (e.g.
www.webtrendslive.com/button3.asp?
id39786c45629t120145), all the gathered information can be 1?assed to the web server doing 2o the logging. In this case, for instance, the variable script "id39786c45629tI20145" is sent to the webtrendslive.com web site and is interpreted by a decoder program built into the data analysis server to mean that a user with 117#39786, loaded customer web site #45629 in 4.5 seconds and spent 1:20 minutes there before moving to another web site.
The customer web site stored on server 12 contains web objects such as web pages.
The traffic from visitor nodes, such as node 14, to the customer web site comprise traffic to that site. As the customer wishes to understand which web pages or other objects are being accessed and with what frequency, it is desired to organize the traffic information into reports. The customer may see patterns from those web site traffic reports and adjust its web site or inventory accordingly.
3o This invention allows the user to specify and verify the configuration of URL pattern matching directly within the context of the URL in question. Specifically, the user (e.g., service customer) employs an industry standard browser - in this case, Microsoft's Internet Explorer - to browse the site of interest. The invention can be implemented as a plug-in to this browser that, in a preferred embodiment of the invention, appends a configuration pane to the screen that is being displayed. The user can then create or edit patterns to match and can immediately and visually verify that the currently viewed page does or does not match the patterns that have been defined.
Turning to FIG. 2, the site owner's computer 16 has stored on it for operation a web browser software program 26 and a configuration program 28. The site owner operates the browser program to browse from computer 16 over network 10 to a first web obj ect to be tracked such as a particular web page on his or her web site stored at web server 12. The web object has an associated web object link, such as a URL, with which the browscr is able to retrieve the proper object. It is understood that the invention is not limited to brov~~sing over the Internet or even a network at all since the web object could be stored on the computer 16 itself.
FIG. 3 shows a preferred interface implementation of the invention where the web object retrieved from web server 12 is displayed on a display device (such .as computer screen 30 in FIG. 5) coupled to computer 16 a web page browser window 32 associated with the web browser software program 28. The web page browser window 32 is divided into a web page preview pane 34 and a configuration pane 36. The first web object to be tracked, here a web page having the URL "http://www.netiq.com/products/wrc/default.asp" as listed within web object link address window 36, is displayed within the web page preview pane 34. The bottom pane 36 of the browser window 32 contains a dashboard displaying the configuration for five types of URL categorization: Path Analysis, Content Gro~zps, Campaigns, Scenario Analysis, and Filters. Other types of criteria can be contemplated such as URL
parameter analysis, products, carts, advertising, eCommerce settings, etc. In each category type, it shows the categories whose patterns are matched by the URL in the top pane.
The dashboard in FIG. 2 is shown blank in that the customer has not yet used the configuration program to configure the web page for tracking by category as described below. Responsive to the configuration program, however, the web object tracking criteria for the first web object displayed in preview pane 34 is listed with the configuration pane 36 as shown fully configured in FIG. 9.
Once the first web object is configured, the site operator can then browse over the network 10 to a second web object (e.g. different web page) to be tracked. As before, the second web object is displayed within the web page preview pane 34 in place of the first web object. Web object tracking criteria, such as that classified within the five types ofURL
categorization shown in FIG. 2, for the second object now displayed is listed within the configuration pane 34. The URL is automatically associated with the first web object displayed within the browser window with the configured tracking criteria. An example of code operative on computer 16 to pull URL information from. the browser program 2< and automatically associate it with the configuration program 28 is shown in APPENDIX. The associated URL is then processed to allow matching of the URL to the setting.
The process may simply use the full URL, a portion of the URL or generate a regular expression based on the URL.
The user of the invention selects the web-~;raclcing criterion to be configured from those shown in the configuration pane 34. The web-tracking criterion selected is configured as described further below and the newly configured criterion then displayed within the browser window 32 simultaneous with the web object with ~~hich the criterion is associated.
A portion of the configuration pane 36 illustrating the exemplary tracking criterion "Content Groups" is shown in FIG. 4. Tlae Content Groups tracking criterion is intended to allow a web site operator to group various web objects into groups so that, for instance, the operator can see within the traffic report how many people chose to visit any one of the many customer service sites found on the customer's web site, or how many visitors chose to download a streaming video image, or listen to an MP3 file from the site. The content groups subwindow is shown as element 38 in FIG. 4 and includes a plurality of function icons 40.
The function icons shown include an expand icon 42, a new content group icon 44, an add content group icon 46, and a delete settings icon 48.
Clicking on any of these icons causes the configuration program 28 to operate on computer 16 to implement a particular function. For instance, clicking on new content group icon 44 causes the configuration program to bring up the window shown in FIG.
i . The window in FIG. 7 includes a space 50 into which a content group name (e.g.
"Products") can be entered. ~ther click buttons within the New Content Group pop-up window relate to user-selected criteria as to whether only the first web object displayed within browser window 32 is to be added to the content group specified in space 50 (button 52), or whether that page and all others within the directory level and sub directory level to the content group (button 54).
Clicking on add content group icon 46 (FIG. 4) causes the configuration program to operate on computer 16 to display a global list of existing content groups as shown in FIG. 8.
The user can then scroll within subwindow 56 and check those checkboxes ~8 for content tracking groups (e.g. "~-100") that the web site operator wants the first web object to be associated with. Again, the operator has the option of adding t:he content groups to only the web object displayed within browser window 32 (button 60), or to all objects having the same directory and subdirectory levels (button 62). Upon selection of the global or new content tracking groups to be associated with the web object, the selected content groups are pa~~ s added to subwindow 64 (FIG. 4) and displayed simultaneous with the web obj ect to which the group is associated, as for instance in FIG. 9.
Another exemplary tracking criterion for the web object is Path Analysis, whose subwindow 66 is displayed within the configuration pane 36 of browser window 32. The path analysis function can be used to track the path the user used to browse to the web object as well as the path the used to browse from the web object. ):n this way, the web site operator can track which web sites the visitor is using to link to the web page in question, or which Web pages the visitor browses to after browsing to the web object. Clicking on an icon within the path analysis subwindow 66 causes the configuration program to pop-up a New Path Analysis window allowing the user to specify a path name (in space 68), a number of levels from the web object in drop-down box 70, and a number of levels to the weh object in drop-down box 72. In the numbers shown in FIG. 6, the user has elected to not track how the user got to the web page but does track the next five pages that the user visits. In the fully configured page shown in FIG. 9, the path analysis used is called "Reporting Center Product Page."
An example of path analysis is in tracking "steps of interest", which tracks whether people reach the end of the browsing process. In an eCommerce example of steps of interest, the path analysis could determine whether purchasers at an eCornmerce web site drop out between the process of selecting items for purchase on the site by loading a virtual shopping cart and the process of actually confirming the order along with credit card information. As there may be several steps between the shopping cart and the order confirmation pages, path analysis of visitor behavior will allow the web site owner to gauge the success of its web site to hold the interest of the prospective purchaser and close the deal.
FIG. 5 illustrates a second method for implementing the invention whereby the web page preview pane and configuration pane exist separately as a web page browser window 74 and a configuration window 76 on computer screen 30. As with the first embodiment shown in FIGs. 3 and 9, the web object to be tracked is displayed at the same time as the tracking criteria.
The major benefit of this invention is that the process of configuration is much less prone to error because (1) the user selects pages of interest by navigating the website of interest in its natural fashion through a browser rather than by remembering URLs, which can be cryptic, and (2) the user has direct, immediate feedback as to the effect of his/her actions so that when a configuration is changed, the result is shown immediately and in context.

The tracking criteria are stored in data analysis server 22 (PIG. 1). Upon operation of the configuration program to specify the tracking criteria associated with a particL~lar web site, the web tracking criteria stored on the data analysis server 22 are downloaded by the configuration computer 16. Once the configured tracking criterion is automatically associated with the web object and respective web object link, as by using the code shown in APPENDIX, the configured tracking criteria is uploaded from storage on the tracking server 22.
Having described and illustrated the principles of the invention in a preferred embodiment thereof, it should be apparent that the invention <:an be modified in arrangement and detail without departing from such principles. I claim all modifications and variation coming within the spirit and scope of the following claims.

APPENDIX
1 // copyright (c) webtrends corp., 2002.. all rights 2 reserved.
4 j/ Begin C++ Code **************************************************************
6 // Used to retrieve the current URL from Internet Explorer 8 STDMETHODIMP CIEevent::Invoke(DISPID dispidMember, REFIID
9 riid, LCID lcid, WORD wFlags, 11 DISPPARAMS* pDispParams, 12 VARIANT* pvarResult, 13 EXCEPINFO* pExceplnfa, UIN~'* pu.ArgErr) 14 f 16 CComPtr<IDispatch> pDisp;
17 USES CONVERSION;
I8 charVszFunc [MAX URL] ;
19 szFunc [0] - 0;
21 if (!pDispParams) 22 return E_INVALIDARG; .

24 //get the current URL
LPOLESTR lpURL = NULL';

27 m-spWebBrowser2->get,LocationURL(&lpURL);

29 switch (dispidMember) 34 case DISPID_DOCUMENTCOMPLETE:

37 ' //Make sure that the plug in browser is valid, 38 that it is visible 39 //and that it is the event: from the main browser that we are handling 41 if (g_spMainBrowser =- m spWebBrowser2) 42 ~ -43 g bstrURL = lpURL;

46 if (g_pPlugInBrowser && g~bBarVisible &&
47, (g_spMainBrowser =- m_spWebBrowser2)) 49 wsprintf (szFunc, "NewURL (\' ~s\ ~ ) ; ..
So (const char *)g bstrURL);
51 if (strcmp (szFunc, m_szPrevURL) != 0) 52 CallJavascript {szFunc) ;

55 break;
56 case DISPID_DOWNLOADCOMPLETE:
57 f 58 if {g~PlugInBrowser && gibBarVisible &~
59 {g_spMainBrowser =- m_spWebBrowser2)) 61 m_intDocStarts--;
62 if{m intDocStarts <= 0) 64 CallJavascript("HrowseStop();");
m intDocStarts = 0;

69 break;
case DISPID_DOWI~TLOAL7BEGIN:
71 if (g pPlugInBrowser && gbBarVisible &&
72 (g-spMainBrowser =- m spWebBrowser2)) 74 m intDocStarts++;
~if (m intDocStarts =- 1) 77 CallJavascript("BrowseStart();");
78 } .

break;

82 case DISPID_QUIT:
83 ManageConnection(Unadvise);
84 break;
86 default:
87 break;

92 return S OK;

//Once the URL is retrieved it is then passed to the 96 corif igurat ion pane to 97 //be matched against current settings 98 void CIEevent::CallJavascript(char *szFunc) 101 IDispatch* pDisp;
102 if (SUCCEEDED(g pPlugInBrowser->get-Document(&pDisp)) &&
103 pDisp) 105 IHTMLDocument2* pDoc;
106 IHTMLFramesCollection2* pFramesCol;
107 IHTMLElementCollection* pElemColl;
108 IHTMLElement* pElem;
I09 IHTMLWindow2* pContentFrameWindow;
110 VARIANT frameRequested;
111 VARIANT frame0ut;
112 VARIANT* pvarRet;
113 VARIANT varRet;
114 BSTR strFunction;
115 BSTR strLanguage;
116 BSTR strHTML;
117 HRESULT hr;
118 pvarRet = &varRet;
119 long lNumElems = 0;

121 strcpy(m_szPrevURL, szFunc);
122 _bstr_t bstrURL(szFunc);
123 strFunction = SysAllocString(bstrURL);
124 strLanguage = SysAllocString(L"jscript");

126 frameRequested.vt - VT~BSTR;
127 frameRequested.bstrVal - L"frmContent°';

129 . hr = pDisp->QueryInterface (IID--IHTMLDocument2, 130 ( LPVOID* ) &pDoc ) ;
131 pDisp->Release ( ) ;
132 if (FAILED (hr) ) 133 return ;

135 hr = pDoc->get frames(&pFramesCol);
136 pDoc->Release () ; -137 if (FAILED (hr) ) 138 return;

140 hr = pFramesCol->item(&frameRequested, ~frame0ut) ;
141 pFramesCol->Release();
142 i f ( FAI LED ( hr ) ) 143 return;

145 hr = frame0ut.pdispVal-146 >QueryInterface ( I ID~IHTMLWindow2 , 147 (void* * ) &pContentFrameWindow) ;
148 i f ( FAI LED ( hr ) ) 149 return;

15~
151 hr = pContentFrameWindow->get document(&pDoc);

153 if (FAILED (hr) ) 155 pContentFrameWindow->Release();
156 return;

159 hr = pDoc->get scripts(&pElemColl);~
160 pDoc->Release () ;
161 if (FAILED (hr) ) 163 pContentFrameWindow->Release ( ) ;
164 return;

167 pElemColl->get_length(&lNumElems);

169 for (long i - 0; i < lNumElems; i++') 170 {
171 _variant_t vtItem( (long} i) , vtEmpty;~
172 hr = pElemColl->item(vtItem, vtEmpty; &pDisp);
173 i f ( FAI LED ( hr ) ) 174 break 176 // Get the IHTMLEIement interface.
177 hr = pDisp->Query2nterface(IID_IHTMLElement, 178 (LPVOID* ) &pElem) ;
179 pDisp->Release ( ) ; ' 180 i f ( FAI LED ( hr ) ) 181 break;

183 pElem->get_innerHTML(&strHTML);
184 pElem->Release ( ) ;
185 i f ( s t rHTML ) 186 {
187 if (wcsstr (strHTML, L"NewURL ('° ) ) 188 {
189 pContentFrameWindow-i90 >execScript(strFunction, strLanguage, pvarRet);
191 break;

196 pElemCall->Release();
197 pContentFrameWindow->Release();

199 SysFreeString (strFunction} ;
20o SysFreeString (strLanguage) ;

206 / / End C++ Code 207 **************************************************************

210 // Begin Javascript Code 211 **************************************************************

213 // Convert URL to a Regular Expression 214 //************************************************************
215 function convert2RegEx(sURL) 217 sURL = sURL.replace(/\./, "\\.") 218 BURL = sURL.replace(/\?/, "\\?") 220 return BURL
221 ~ -225 //Convert URL to regular expression to include sub directories 226 //********~**************************************,*************
227 function change2SubLevel.(sURL) 228 f 229 var iOffset - -1 231 iOffset - sURL.lastIndexOf("/") 232 if (iOffset ! _ -1) 234 sURL = sURL.slice(0, iOffset+I) 236 BURL +_ " . * "

238 return BURL

243 //**************************************~:*********************

246 //Test URL passed in against the current settings 247 //************************************************************
248 function testURLMatch() 250 //This will check each objects URL value to the current 251 //URL and set object. Match accordingly ' CA 02433124 2003-06-17 253 var obj Var 255 objVar = new Active~Object("WTPlugIn.WTBar");

256 ' 258 gCurrentURL = objVar.URL

260 for (id in gSet [' PA' ] ) 26i 262 //Only test the settings that are included in the 263 profile 264 if (gSet [' PA' I [id] . Include =- true) .

265 gSet [ PA' ] [id] . Match =

266 objVar.TestURLMatch(gCurrentU'RL, gSet['FA'] [id] .Root) 270 for (id in gSet [' CG' ]

272 //Only test the settings that are.included in the 273 profile 274 if (gSet [' CG' ] [id] . Include =- true) 275 gSet [ CG' ] [id] . Match _ 276 obj Var. TestURLMatch (gCurrentURL, gSet [ CG' ] [id]
. Root ) 280 for (id in gSet ['MC' ] ) 282 //Only test the settings that are included in the 283 profile z84 if (gSet ['MC' ] [id] . Include =- true) 285 gSet ['MC'] [id] .Match =

286 objVar. TestURLMatch (gCurreritURL, gSet [' MC ] [id]
. Root) 290 for (id in gSet [' FS' ] ) 292 //Only test the settings that are included in the 293 profile 294 if (gSet [' FS' ] [id] . Include =- true) 295 gSet [' FS ] [id] . Match =

296 gSet [' FS ] [id] . TestMatch (obj Var, gCurren.tURL) 299 for (id in gSet [' SI' ] ) 301 //Only test the settings that are included in the 302 profile 303 if (gSet [' SI' ] [id] . Include =- true) 304 gSet [' SI' ] [id] .Match 305 gSet['SI'] [id] .TestMatch(objVar, gCurrentURT) 308 // End Javascript Code 309 **************************************************************

Claims (18)

1. A method for configuring a web site traffic tracking program on a computer coupled over a network to a web server, comprising:
operating on a computer a web browses software program and a configuration program to browse over a network to a first web object to be tracked, said first web object to be tracked stored on a web server and having an associated first web object link;
displaying on a display device coupled to the computer a web page browses window associated with the web browses software program;
dividing the web page browses window into a web page preview pane and a configuration pane;
displaying the first web object to be tracked within the web page preview pane; and responsive to the configuration program, displaying web object tracking criteria for the first web object to be tracked within the configuration pane.
2. The method of claim 1, further including:
browsing over the network to a second web object to be tracked;
displaying the second web object to be tracked within the web page preview pane in place of the first web object to be tracked; and displaying web object tracking criteria for the second web object to be tracked within the configuration pane.
3. The method of claim 1, further including:
selecting within the configuration pane the web tracking criterion to be configured;
configuring the web tracking criterion selected; and displaying the newly configured web tracking criterion within the browses window simultaneous with the web object with which the criterion is associated.
4. The method of claim 3 wherein the first web object to be tracked is a web page and the first web object link is a URL, the method further including the steps of:
automatically associating the URL of the first web object displayed within the browses window with the configured tracking criterion; and generating a regular expression responsive to the configuring step and to the first web object URL.
5. The method of claim 3, wherein the criterion is a web page tracking group, the method further comprising:
selecting a selected tracking group from a global list of tracking groups and, upon selection, automatically associating the selected tracking group with the displayed first web object to be tracked; and displaying the selected tracking group associated with the displayed first web object to be tracked within the configuration pane.
6. The method of claim 5, wherein simultaneous with the step of automatically associating the selected tracking group with the displayed first web object to be tracked, automatically associating a second web object to be tracked, said second web object having an identical directory level.
7. The method of claim 3, wherein the criterion is a web page tracking group, the method further comprising:
creating a new tracking group and, upon creation, automatically associating the new tracking group with the displayed first web object to be tracked; and displaying the new tracking group associated with the displayed first web object to be tracked within the configuration pane.
8. The method of claim 7, wherein simultaneous with the step of automatically associating the new tracking group with the displayed first web object to be tracked, automatically associating a second web object to be tracked, said second web object having an identical directory level.
9. The method of claim 4, wherein the criterion is a path analysis, the method further comprising receiving from the computer operator an input specifying a number of levels to track from the displayed first web object to be tracked.
10. The method of claim 4, wherein the criterion is a path analysis, the method further comprising receiving from the computer operator an input specifying a number of levels to track to the displayed first web object to be tracked.
11. The method of claim 1 wherein the first web object to be tracked is a web page and the first web object link is a URL.
12. A method for configuring a web site traffic tracking program on a computer coupled over a network to a web server, comprising:
operating on a computer a web browser software program and a configuration program to browse over a network to a first web object to be tracked, said first web object to be tracked being stored on a web server and having an associated first web object link;
displaying on a display device coupled to the computer a web page browser window associated with the web browser software program and a configuration subwindow;
displaying the first web object to be tracked within the web page browser window;
responsive to the configuration program, displaying web object tracking criteria for the first web object to be tracked within the configuration subwindow;
selecting within the configuration subwindow the web tracking criterion to be configured;
configuring the web tracking criterion selected; and automatically associating the web object link of the first web page displayed within the browser window with the configured tracking criterion:
13. The method of claim 12 wherein the first web object to be tracked is a web page and the first web object link is a URL.
14. The method of claim 12, wherein the configuration subwindow comprises a pane of the browser window.
15. The method of claim 12, wherein the configuration subwindow comprises a popup window separate from the browser window.
16. The method of claim 12, further comprising:
downloading over the network from a tracking server to the computer the web tracking criteria; and once the configured tracking criterion is automatically associated with the web object link of the first web object displayed within the browser window, uploading the configured tracking criterion for storage on the tracking server.
17. A method for arranging a plurality of web pages into tracking groups comprising:
displaying a first of the plurality of web pages within a browser window in synchronicity with displaying a configuration subwindow on a display device, said configuration window including a list of tracking groups associated with the displayed first of the plurality of web pages;
either selecting a tracking group from a global list of tracking groups or creating a new tracking group and, upon selection or creation, automatically associating the selected or new tracking group with the displayed first of the plurality of web pages;
displaying the selected or new tracking group associated with the displayed first of the plurality of web pages within the configuration window; and repeating the above steps for each of the plurality of web pages.
18. The method of claim 17, wherein simultaneous with the step of automatically associating the selected or new tracking group with the displayed first of the plurality of web pages, automatically associating a second of the plurality of web pages, said second web page having an identical directory level.
CA002433124A 2002-06-18 2003-06-17 Method and apparatus for using a browser to configure a software program Abandoned CA2433124A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/175,327 2002-06-18
US10/175,327 US7143365B2 (en) 2002-06-18 2002-06-18 Method and apparatus for using a browser to configure a software program

Publications (1)

Publication Number Publication Date
CA2433124A1 true CA2433124A1 (en) 2003-12-18

Family

ID=29717829

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002433124A Abandoned CA2433124A1 (en) 2002-06-18 2003-06-17 Method and apparatus for using a browser to configure a software program

Country Status (5)

Country Link
US (1) US7143365B2 (en)
EP (1) EP1376409A1 (en)
JP (1) JP4620938B2 (en)
AU (1) AU2003204767B2 (en)
CA (1) CA2433124A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060265359A1 (en) * 2005-05-18 2006-11-23 Microsoft Corporation Flexible data-bound user interfaces

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108637A (en) 1996-09-03 2000-08-22 Nielsen Media Research, Inc. Content display monitor
AUPQ206399A0 (en) 1999-08-06 1999-08-26 Imr Worldwide Pty Ltd. Network user measurement system and method
AU2001217524A1 (en) 2000-01-12 2001-07-24 Jupiter Media Metrix, Inc. System and method for estimating prevalence of digital content on the world-wide-web
US7631035B2 (en) * 2002-01-09 2009-12-08 Digital River, Inc. Path-analysis toolbar
US20030202009A1 (en) * 2002-04-24 2003-10-30 Stephane Kasriel Integration toolbar
US8271778B1 (en) 2002-07-24 2012-09-18 The Nielsen Company (Us), Llc System and method for monitoring secure data on a network
US20050097088A1 (en) * 2003-11-04 2005-05-05 Dominic Bennett Techniques for analyzing the performance of websites
US7921135B2 (en) 2004-02-27 2011-04-05 Adobe Systems Incorporated Method and system for collecting online merchandising data
US7913231B2 (en) * 2004-05-11 2011-03-22 Sap Ag Testing pattern-based applications
US8341259B2 (en) * 2005-06-06 2012-12-25 Adobe Systems Incorporated ASP for web analytics including a real-time segmentation workbench
US8775919B2 (en) * 2006-04-25 2014-07-08 Adobe Systems Incorporated Independent actionscript analytics tools and techniques
US8396834B2 (en) * 2006-10-10 2013-03-12 International Business Machines Corporation Real time web usage reporter using RAM
US10169781B1 (en) 2007-03-07 2019-01-01 The Nielsen Company (Us), Llc Method and system for generating information about portable device advertising
US7818330B2 (en) * 2007-05-09 2010-10-19 Microsoft Corporation Block tracking mechanism for web personalization
US7636677B1 (en) 2007-05-14 2009-12-22 Coremetrics, Inc. Method, medium, and system for determining whether a target item is related to a candidate affinity item
US20100281389A1 (en) * 2007-10-29 2010-11-04 Hutchinson Kevin P System for measuring web traffic
US7752308B2 (en) * 2007-10-30 2010-07-06 Hutchinson Kevin P System for measuring web traffic
US20090112976A1 (en) * 2007-10-29 2009-04-30 Hutchinson Kevin P Method for measuring web traffic
JP4637162B2 (en) * 2007-12-06 2011-02-23 ヤフー株式会社 Page service provider
US8090822B2 (en) * 2008-04-11 2012-01-03 The Nielsen Company (Us), Llc Methods and apparatus for nonintrusive monitoring of web browser usage
US8051083B2 (en) * 2008-04-16 2011-11-01 Microsoft Corporation Forum web page clustering based on repetitive regions
US8621635B2 (en) * 2008-08-18 2013-12-31 Microsoft Corporation Web page privacy risk detection
CN101504648A (en) * 2008-11-14 2009-08-12 北京搜狗科技发展有限公司 Method and apparatus for showing web page resources
US8713536B2 (en) * 2009-06-11 2014-04-29 Webtrends, Inc. Method and system for constructing a customized web analytics application
US8768926B2 (en) * 2010-01-05 2014-07-01 Yahoo! Inc. Techniques for categorizing web pages
US20110209067A1 (en) * 2010-02-19 2011-08-25 Bogess Keandre System and Method for Website User Valuation
US8799310B2 (en) * 2010-07-23 2014-08-05 Hewlett-Packard Development Company, L.P. Method and system for processing a uniform resource locator
US8880996B1 (en) * 2011-07-20 2014-11-04 Google Inc. System for reconfiguring a web site or web page based on real-time analytics data
WO2013126084A2 (en) 2012-02-21 2013-08-29 Ensighten, Inc. Graphical overlay related to data mining and analytics
US20130291107A1 (en) * 2012-04-27 2013-10-31 The Irc Company, Inc. System and Method for Mitigating Application Layer Distributed Denial of Service Attacks Using Human Behavior Analysis
US9185435B2 (en) 2013-06-25 2015-11-10 The Nielsen Company (Us), Llc Methods and apparatus to characterize households with media meter data
US9277265B2 (en) 2014-02-11 2016-03-01 The Nielsen Company (Us), Llc Methods and apparatus to calculate video-on-demand and dynamically inserted advertisement viewing probability
US10219039B2 (en) 2015-03-09 2019-02-26 The Nielsen Company (Us), Llc Methods and apparatus to assign viewers to media meter data
US9848224B2 (en) 2015-08-27 2017-12-19 The Nielsen Company(Us), Llc Methods and apparatus to estimate demographics of a household
US10791355B2 (en) 2016-12-20 2020-09-29 The Nielsen Company (Us), Llc Methods and apparatus to determine probabilistic media viewing metrics

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112238A (en) 1997-02-14 2000-08-29 Webtrends Corporation System and method for analyzing remote traffic data in a distributed computing environment
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US5933140A (en) 1997-06-30 1999-08-03 Sun Microsystems, Inc. Child window containing context-based help and a miniaturized web page
US6278449B1 (en) * 1998-09-03 2001-08-21 Sony Corporation Apparatus and method for designating information to be retrieved over a computer network
US6925442B1 (en) 1999-01-29 2005-08-02 Elijahu Shapira Method and apparatus for evaluating vistors to a web server
US6792458B1 (en) * 1999-10-04 2004-09-14 Urchin Software Corporation System and method for monitoring and analyzing internet traffic
US6546397B1 (en) * 1999-12-02 2003-04-08 Steven H. Rempell Browser based web site generation tool and run time engine
US6683633B2 (en) * 2000-03-20 2004-01-27 Incontext Enterprises, Inc. Method and system for accessing information
WO2002017292A1 (en) 2000-08-23 2002-02-28 Netiq Corporation Method and apparatus for associating a help window with an application program displayed in a browser

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060265359A1 (en) * 2005-05-18 2006-11-23 Microsoft Corporation Flexible data-bound user interfaces

Also Published As

Publication number Publication date
US7143365B2 (en) 2006-11-28
US20030231203A1 (en) 2003-12-18
AU2003204767B2 (en) 2009-01-08
JP4620938B2 (en) 2011-01-26
EP1376409A1 (en) 2004-01-02
AU2003204767A1 (en) 2004-01-15
JP2004164572A (en) 2004-06-10

Similar Documents

Publication Publication Date Title
AU2003204767B2 (en) Method and Apparatus for Using a Browser to Configure a Software Program
US10205623B2 (en) Custom event and attribute generation for use in website traffic data collection
US8170993B2 (en) Page grouping for site traffic analysis reports
US9529859B2 (en) Capturing and presenting site visitation path data
US7562030B1 (en) Method and apparatus for real-time reporting of electronic commerce activity
US5968125A (en) Process for optimizing the effectiveness of a hypertext element
US9082126B2 (en) Service plan web crawler
JP5130222B2 (en) Website visit data set comparison
JP5129742B2 (en) A technique for incrementally adding segmentation criteria to a dataset
WO2008095018A2 (en) Page grouping for site traffic analysis reports
US20060085734A1 (en) Method for annotating statistics onto hypertext documents
US6272531B1 (en) Method and system for recognizing and acting upon dynamic data on the internet
US20070143306A1 (en) Integrated website management system and management method thereof
WO2002008960A9 (en) Computer hierarchical display of multiple data characteristics
CA2610953A1 (en) Asp for web analytics including a real-time segmentation workbench
KR100630616B1 (en) Method and System for Providing On-line Client-Specific Web Service
US20030195803A1 (en) Method and system for retrieving and analyzing data to customize the behavior of automated web agents
US8887045B2 (en) System and method for providing data links
US9400847B1 (en) Method and system for pagination of content
Eshaghi et al. Investigation and Analysis of Current Web Mining Techniques as well as Frameworks
Abramson et al. „Managing Click-Stream Data “
Mathews Web-based online reporting
WO2001088752A1 (en) System and method of individualized web page design and display

Legal Events

Date Code Title Description
EEER Examination request
FZDE Dead

Effective date: 20140106