EP1381982A4 - System and method for performing web based in-view monitoring - Google Patents

System and method for performing web based in-view monitoring

Info

Publication number
EP1381982A4
EP1381982A4 EP01967581A EP01967581A EP1381982A4 EP 1381982 A4 EP1381982 A4 EP 1381982A4 EP 01967581 A EP01967581 A EP 01967581A EP 01967581 A EP01967581 A EP 01967581A EP 1381982 A4 EP1381982 A4 EP 1381982A4
Authority
EP
European Patent Office
Prior art keywords
content
user
data
view
web page
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.)
Withdrawn
Application number
EP01967581A
Other languages
German (de)
French (fr)
Other versions
EP1381982A2 (en
Inventor
Arthur Koeppel
Jonathan Turner
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.)
Capital One Financial Corp
Original Assignee
Capital One Financial 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 Capital One Financial Corp filed Critical Capital One Financial Corp
Publication of EP1381982A2 publication Critical patent/EP1381982A2/en
Publication of EP1381982A4 publication Critical patent/EP1381982A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0203Market surveys; Market polls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • G06Q30/0245Surveys
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • G06Q30/0246Traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0257User requested
    • G06Q30/0258Registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/08Insurance

Definitions

  • the present invention relates to Web based marketing and, more particularly, to a method and system for monitoring and collecting user responses to Web based content provided by Web servers.
  • the architecture of the Web follows a conventional client-server model.
  • client and “server” are used to refer to a computer's general role as a requester of data (the client) or provider of data (the server).
  • Web browsers reside in clients and specially formatted "Web documents" reside on Internet (Web) servers.
  • Web clients and Web servers communicate using a protocol called “Hyper Text Transfer Protocol” (HTTP).
  • HTTP Hyper Text Transfer Protocol
  • a browser opens a connection to a server and initiates a request for a document or a Web page including content.
  • the server delivers the requested document or Web page, typically in the form coded in a standard "Hyper Text Markup Language” (HTML) format.
  • HTML Hyper Text Markup Language
  • the Internet consists of a worldwide computer network that communicates using well defined protocol known as the Internet Protocol (JP).
  • JP Internet Protocol
  • Computer systems and servers that are directly connected to the Internet each have an unique address consisting of four numbers separated by periods such as "123.456.0.3".
  • a "Domain Name System” was created that allows users to access Internet resources with a simpler alphanumeric naming system.
  • the name "capitalone.com” is the name for a computer system or Web server operated by Capital One ® .
  • a Uniform Resource Locator system was created that uses a Uniform Resource Locator (URL) as a descriptor that specifically defines a type of Internet resource and its location.
  • URLs have the following format: "resource-type://domain.address/path-name.”
  • the "resource-type” defines the type of Internet resource.
  • Web documents for example, are identified by the resource type "http", which indicates the protocol used to access the document.
  • the user To access a document on the Web, the user enters a URL for the Web document into a browser program executing on a client system with a connection to the Internet.
  • the Web browser then sends a request in accordance with the HTTP protocol to the Web server that has the Web document using the URL.
  • the Web server responds to the request by transmitting the requested object to the client.
  • the object In most cases, the object is a plain text document containing text (in ASCII) that is written in HTML.
  • Such objects often contain hyperlinks to other Web documents.
  • the Web browser displays the HTML document on the screen for the user and the hyperlinks to other Web documents are emphasized in some fashion such that the user can select the hyperlink.
  • the HTML document may contain data from more than one server.
  • remote text and images may be retrieved from remote servers and integrated into a Web document by a client system.
  • One server may provide an image file, while another server may provide text information to the client system over a network such as the Internet.
  • a program called a servlet executing on one of the servers may combine data from the various servers referenced in a selected Web document and transmit the composite Web document to the client.
  • the client may utilize a program called an applet, which may be transmitted to the client from one of the servers, to access the multiple servers offering parts of the composite and to build the composite Web document.
  • users view the content delivered in the Web pages and may select hyperlinks to other sub pages of a Web site, or to entirely different Web sites.
  • Providers associate the users "browsing" these Web pages as potential consumers for the products and services they provide.
  • providers may track user interactions with the Web server including visits, sales, buying trends and product/service preferences-all at the user level.
  • Providers may then present or offer its customers with products and services they are most likely to buy-on an individual basis. For this reason alone most marketing professionals consider the Web to be one of the best direct marketing tools.
  • providers need to ensure they present products and services that potential consumers are interested in. Accordingly, the importance of target advertising and target content provision has become an important role in the way providers conduct business over the Internet.
  • One conventional technique associated with target advertising is the use of advertising banners presented on existing Web pages generated by providers.
  • a banner advertising the provider's products or services appears on the Web page.
  • This banner may be presented by the Web page's provider, or may be provided by a third party advertisement server.
  • an interested user selects the advertisement (by "clicking through” on the banner) the user is generally forwarded to another Web page or site associated with the advertisement.
  • This page or site may be the third party advertiser's home page.
  • the success of the advertisement is based upon the user's response, in this case, the user "clicking through” the advertisement or banner, to receive more information on the content advertised.
  • target advertising attempt to present appropriate information, or advertisements, to selected users, such that the probability of that user being interested in the advertisement increases.
  • These implementations monitor and collect limited user response information, along with information associated with the advertisement presented to the users.
  • the user response information generally includes user identification data such as, user ID, domain type, location, employer information and other general information associated with the user.
  • the advertisement information generally includes the particular advertisement presented, the number of times the advertisement was presented, the advertisements selected by a user, and the Web pages on which these advertisements were presented.
  • User profiles may be created that associate user interests based on the types of advertisements and Web pages the users view.
  • the collected information is analyzed to associate a success value with a particular advertisement based on the user information and the advertisement data. For example, a successful advertisement may be declared if the advertisement produced a sufficient number of "click throughs" from a plurality of users.
  • new advertisements or banners may be presented to selected users, based upon their profile. For example, users interested in athletics or sports, based on their profile, may be targeted with advertisements associated with athletic apparel, while users interested in music may be presented with advertisements associated with available concert tickets or audio CDs.
  • Advertisements are adjusted by replacing the presented advertisement with another image/text object stored in a database. That is, when a target advertisement is to be changed, a replacement advertisement image/text object is retrieved from a database and positioned in the accessed Web page the previous advertisement was located. Accordingly, entire banners are replaced each time a new advertisement is needed to target a selected user. Furthermore, when the objects stored in the database are no longer effective, these objects must be modified and updated, which may take a significant amount of time.
  • advertisement banners displayed on Web pages served by a Web server are generally provided by third party advertisement servers.
  • the provider of the Web server displaying the banners generally bill the advertisement servers for each rendering of a Web page that includes the advertisement banner.
  • advertisement servers may be billed for banners that are never seen by a user browsing a rendered Web page that includes the banner. This may occur when the banners are located in positions on a Web page that rarely get viewed by users, such as the "bottom" half of a Web page. Users may leave a Web page without ever viewing the banner provided by an advertisement server, while the Web server serving the Web page may still charge the advertisement server for a banner being displayed on a rendered Web page.
  • conventional on-line target advertising and content provision techniques allow adjustments to be made on downloaded documents in order to target selected users, they lack the ability to monitor and collect detailed user response data associated with content that is actually visible to the users when browsing the downloaded documents.
  • conventional on-line advertising techniques enable providers to advertise their products and services on third party Web sites, they lack the ability to efficiently perform detailed billing based on whether an advertisement was actually in- view when a Web site including the advertisement is rendered.
  • Methods, systems and articles of manufacture consistent with the present invention collect detailed user activity information while the users are accessing Web sites, and automatically adjust the content presented in the Web site to target selected users.
  • the changes to the content can be very drastic, such as the entire site being completely adjusted, or very minute, such as the replacement of font in selected areas of the site.
  • a Web server presents a Web page including content to a plurality of users, via a browser executing at each users' client site. While the users view the page, detailed activities performed by each user, such as "click-throughs", screen scrolling, and mouse movements are collected in a client side data store using client side scripting, applets or similar means. After an event occurs, such as the client side data store fills up, a new URL is selected, the browser is closed, or a new Web page is selected, the collected activity data is sent back to the Web server where its is stored in a server side data store.
  • a program executed by the Web server retrieves the collected response data from the data store and performs market analysis and produces results that reflect the success of the content presented on the Web page displayed to the users. These results are used by a second program executing on the Web server to update the content presented to the user, on a "real-time" and automatic basis.
  • a third program performs a billing analysis on the results from the first program to determine whether the content was actually in-view to the users browsing the Web page that included the content. Results of the billing analysis are subsequently sent to a third party entity for processing. Accordingly, the Web server can present targeted content to a user, or a group of users, based on rules associated with the users' profiles.
  • the content can be dynamically adjusted, based on the rules, to present entirely different content or subtle differences, that may appeal to the users. Detailed user responses associated with the new content are monitored, and subsequent changes can be made by following the same process.
  • the Web server performs closed loop "hands-free" market analysis on the effectiveness of rendered Web pages and allow the pages to be automatically altered for future testing and analysis.
  • the Web server may perform detailed billing analysis associated with the content such that third party entities may be billed for provided content on a more economical basis.
  • Figure 1 is an exemplary block diagram of a Web-based network, in accordance with methods and systems consistent with the invention
  • Figure 2 is an exemplary flow chart of the steps performed by the Web-based network, in accordance with methods and systems consistent with the invention
  • FIG 3 is an exemplary flow chart of the steps performed by the presentation step shown in Figure 2, in accordance with methods and systems consistent with the invention
  • Figures 4A-4F are examples of various types of content that can be rendered on a Web page, in accordance with methods and systems consistent with the invention
  • Figures 4G-4J show the Web page displayed in Figure 4c, after predefined rules are applied to alter the content, in accordance with methods and systems consistent with the invention
  • FIG 5 is an exemplary flow chart of the steps performed by the data collection step shown in Figure 2, in accordance with methods and systems consistent with the invention
  • Figure 6 is an exemplary flow chart of the steps performed by the analyze responses step shown in Figure 2, in accordance with methods and systems consistent with the invention
  • Figure 7 is an exemplary flow chart of the steps performed by a Web server during third party entity set-up procedures, in accordance with methods and systems consistent with the invention
  • Figure 8 is an exemplary flow chart of the steps performed by a Web server during a third party in-view analysis and billing operation, in accordance with methods and systems consistent with the invention.
  • Figures 9A-9C are exemplary block diagrams of a computer display rendering a Web page, in accordance with methods and systems consistent with the invention.
  • a network is configured such that users, located at respective client nodes equipped with browser software, request a Web page to be served to them from a Web server that resides on the Internet at a uniform resource locator.
  • the Web server receives the requests and runs a predefined middleware program, which determines the marketing content to be placed on the requested Web page.
  • the Web server then serves the page to the clients.
  • each client Upon receiving the Web page, each client enables the users to browse the content displayed on the page.
  • the users' behavior in response to the displayed page is monitored at each client node, by capturing events such as mouse movements, scrolling, resizing the browser window, URL selections and/or other similar user initiated events.
  • the captured events are sent back to the Web server in response to a detected client side trigger, and the captured event data is stored into a server side data store.
  • An analytical program executing in the Web server, analyzes the collected user event data to determine the effectiveness of the content presented on the Web page.
  • a middleware program executing in the Web server, determines the content to serve to the client nodes based on the analysis by the analytical program.
  • the Web server receives a subsequent request for the Web page, the Web server serves a modified Web page that includes modified content back to the client nodes as an updated Web page.
  • a network is configured such that users, located at respective client nodes equipped with browser software, request a Web page to be served to them from a Web server that resides on the Internet at a uniform resource locator.
  • the Web server receives the requests and runs a predefined middleware program, which determines the marketing content to be placed on the requested Web page.
  • the marketing content may be associated with third party entities that pay fees to the provider of the Web server to have selected content included in the Web page served by the Web server.
  • the Web server then serves the Web page to the clients.
  • each client Upon receiving the Web page, each client includes software that enable the users to browse the content displayed on the page.
  • the users' behavior in response to the displayed page is monitored at each client node, by capturing events such as mouse movement, scrolling, resizing the browser window, URL selections or other similar detailed user initiated events.
  • the captured events are sent back to the Web server in response to a detected client side trigger, and the captured event data is stored into a server side data store.
  • An analytical program executing in the Web server, analyzes the collected user event data to generate in-view characteristic result data associated with the user responses. In response to the result data, analytical program may update rules associated with selected content.
  • a billing program executing in the Web server, analyzes the in-view characteristic result data produced by the analytical program. Based on the determination, the billing program then generates billing records associated with content provided by third party entities and then sends the billing records to the appropriate third party entities. In addition to performing billing operations, the billing program may generate third party content effectiveness records indicating whether any changes to the third party content is needed, based on results produced by the analytical program. Billing program may send the effectiveness records to selected third party entities enrolled in an effectiveness service provided by the Web server, or the provider of the Web server, enabling the third party entities to obtain detailed marketing information related to the effectiveness of their third party content.
  • FIG. 1 shows a block diagram of a network environment 100, in which the features of the invention may be implemented.
  • network environment 100 comprises of a Web server 110, data store 120, data store 130, a network 140, analysis system 170, third party entities 180 and client nodes 150.
  • Web server 110 comprises of middleware program 112, billing program 113 and analytical program 115.
  • Web server 110 may be implemented through a desktop computer, workstation or any other Web server system known in the art.
  • Web server 110 may be equipped with Web server software such as, Microsoft Internet Information Server, Novell Web Server, Netscape Enterprise Server, or any other Web server software known in the art.
  • Client nodes 150 may include a desktop computer, workstation, laptop, personal digital assistant or any other similar client side system known in the art. Client nodes 150 are equipped with browser software such as Netscape Navigator, Microsoft Internet Explorer, or any other known browser software.
  • a client-side data store 160 may also be provided for storing marketing content, content formatting information, and any other content related information, as well as user event data. Client side data store 160 may be configured as an array, flat file or any other memory configuration known in the art.
  • Network 140 connects Web server 110 and client nodes 150 and may include one or more communication networks, including the Internet or any other similar network that supports Web-based processing.
  • Client nodes 150 may connect to network 140 through any suitable wired or wireless supported connection.
  • Third party entities 180 are entities that provide content to be rendered by Web server 110.
  • Third party entities 180 may include interface nodes that enable network communications between the third party entity and network 140, as shown in Figure 1.
  • the interface nodes may include a desktop computer, workstation or any other web server system known in the art.
  • Third party entities 180 may include interface nodes that are equipped with Web server software such as, Microsoft Internet Information Server, Novell Web Server, Netscape Enterprise Server, or any other Web server software known in the art.
  • Third party entities 180 are associated with providers of goods or services, that desire to conduct business with Web server 110. These may include corporations, companies, individuals, or any other type of entity that can interact with Web server 110 and/or the provider of Web server 110 indirectly of network 140. That is, third party entities 180 may communicate with the provider of Web server 110 through other means than that illustrated in Figure 1, such as telephonic communications, postal mail, electronic mail and any other known methods or means for communicating and interacting with the provider of Web server 110.
  • Middleware program 112 determines the content to serve to the clients 150 based on results of a in-view user response analysis performed by analytical program 115.
  • Middleware program 112 may be constructed using JavaScript, Java Servlet, Java ServerPage, Active Server Page, Perl, C++, VB Script, XSL, SQL, or any other similar programming language.
  • Analytical program 115 reads and analyzes collected user response data to produce results associated with the effectiveness of the content rendered to the client nodes 150.
  • Analytical program 115 also analyzes the user response data to determine in-view characteristics of the content rendered at the client nodes 150. Based on the results, analytical program 115 adjusts rules and content stored in data store 130, and produces an in-view results file.
  • Analytical program 115 is programmed by analysis system 170, with analytical program rules that govern the analysis on the collected user response data.
  • Analysis system 170 may initialize analytical program 115 prior to the first rendering of a Web page, and may periodically adjust the analytical program rules during system operation.
  • Analytical program 115 maybe constructed using JavaScript, Java Servlet, Java ServerPage, Active Server Page, Perl, C++, VB Script, XSL, SQL, or any other similar programming language. Analytical program 115 may be located in a remote location from the Web server as well.
  • Billing program 113 performs billing analysis based on results of a in-view user response analysis performed by analytical program 115.
  • Billing program 113 generates billing records reflecting the billing analysis and may communicate with third party entities 180 that are connected to network 140.
  • Billing program 113 may be constructed using JavaScript, Java Servlet, Java ServerPage, Active Server Page, Perl, C++, VB Script, XSL, SQL, or any other similar programming language.
  • Data store 120 connects to Web server 110, and stores user event data collected at the client nodes 150.
  • Data store 120 may include a database or flat file data store, or may also include a flat file data store that flushes its stored data to a database for reliability and access time purposes.
  • data store 120 may include a redundant database that ensure data is available in the event a primary storage element experiences a fault or error.
  • a multitude of fault tolerant architectures may be implemented to ensure data consistency and availability.
  • Data store 130 connects to Web server 110, and stores content and associated rules (referred to as content rules) controlling how the content is to be rendered.
  • content rules content and associated rules
  • the content may include attributes associated with content renderings, such as document structure, wireless card structure, titles, headings, paragraphs, lines, lists, tables, links, graphics, objects, multimedia, scripts, forms, frames, colors, wording, size, positioning, background properties, border properties, font properties, text properties, or any combination thereof.
  • the content may also include, but is not limited to, products and services such as wireless phones, credit cards, available financial solicitations (loans) or any other products and services that may be solicited using Web-based marketing or advertising techniques.
  • Content rules may include code that governs how the content is rendered on a Web page presented at the client nodes. These rules may control variations of the attributes associated with the content, such as the types of font, text, color, position, products, characteristics of associated multimedia files, various services available, or any other types of attributes associated with the content rendered. The rules may also control the frequency in which the variations of the attributes take place, such as rendering a particular font for 20% of the rendering time, or rendering a particular version of the content for 30% of the rendering time. As described above, a multitude of variations of rules and content can be processed by the Web server, and are not limited to the examples listed above.
  • FIG. 2 is an exemplary flow chart of the steps performed by network 100 when performing dynamic Web-based content delivery, in accordance with methods consistent with the invention.
  • the process begins when users located at client nodes 150 request a Web page from a Web server 110 located on network 140, using well known client side Web page accessing techniques.
  • Web server 110 subsequently provides the requested page to the client nodes and browser software executing on each client node (Step S.200).
  • Step S.200 A detailed description of an exemplary presentation process will be described below with reference to Figure 3.
  • Each user browses the Web page, and initiates user events by performing activities such as screen scrolling, mouse movements, page resizing, link selections, or any other similar user activity associated with page browsing.
  • the user events are monitored, collected and stored in each respective client side data store 160 (Step S.210).
  • the stored user events are subsequently returned to the Web server 110 and stored in data store 120.
  • Analytical program 115 retrieves the stored user event data, and performs analysis (e.g. for marketing or advertising purposes) on the stored user event data in relation to the served content (Step S.220).
  • analysis e.g. for marketing or advertising purposes
  • analytical program 115 may edit the content and content rules stored in data store 130.
  • a detailed description of an exemplary analysis process will be described below with reference to Figure 6.
  • middleware program 112 Upon detection of a subsequent request for the Web page from any client node 150, middleware program 112 applies the content rules and content updated in data store 130, adjusts the content associated with the requested Web page, and Web server 110 serves the page, with the adjusted content, back to the client nodes 150 requesting the page.
  • Requesting client nodes 150 receive the Web page with the adjusted content and presents the page to respective users via the browser software executing at each respective client node. (Step S.230). A detailed description of an exemplary update process will be described below with reference to Figure 3.
  • the process illustrated in Figure 2 may continue in a closed loop enabling Web server 110 to perform dynamic market analysis on rendered content and perform automatic content modifications to test the effectiveness of the modified content.
  • FIG 3 is a flow chart of the presentation process described in Figure 2. The process begins with the content to be rendered and the rules associated with the content being initialized (Step S.310).
  • the provider governing the Web server determines the types of content it wishes to market.
  • the content may be, for example, versions of financial products, such as credit cards, offered from a financial institution.
  • the different credit card versions may include, for example, various percentage rates, physical types of cards offered (images printed on the face of the credit card), and introductory offers associated with each card.
  • the content may also include various versions of the information associated with each credit card offered by the financial institution.
  • Figures 4A-4C show Web page rendering examples of alternate versions of content representing credit card offers from a financial institution.
  • Figure 4A shows a Web page 400 displayed at a client node 150 via browser software.
  • Web page 400 includes a first version 410 that shows first data that can describe customized information concerning one type of credit card available from the provider.
  • First version 420 shows another credit card offered by the provider as well, while version 425 shows marketing information for another type of credit card.
  • Figure 4B illustrates a second version 430 positioned in the same location as first version 410.
  • Second version 430 represents alternate content associated with the same credit card solicitation associated with first version 410.
  • Figure 4C illustrates a third version 440 positioned in the same location as first version 410.
  • Third version 440 represents alternate content associated with the same credit card solicitation associated with first and second versions 410, 430.
  • Figures 4D-4F show further examples of a Web page rendering examples of alternate versions of content representing actual products offered by a provider, in this case wireless phones.
  • Figure 4D illustrates Web page 400 displaying first versions, 450, 460 and 470, of wireless phones that can be purchased by the user from the provider.
  • Figure 4E shows version 480, which is an alternate rendering of version 450.
  • Figure 4F shows version 490, which is an alternate rendering of versions 450 and 480.
  • the content selected by a provider may represent a plurality of types of content, wherein the content itself may represent alternate products or renderings of existing products or services offered by the provider.
  • the defined rules associated with the content may include code that governs attribute information associated with existing content defined in Step S.310. These rules may govern, for example, frequency of the renderings of the content, color of the content, characteristics of multimedia files or links, and specific positioning or font of content rendered on Web page 400.
  • Figures 4G and 4H show the results of when the rules defined in data store 130 alter the position of the third version 440 described in Figure 4C.
  • third version 440 is shown at a first position "on top" of version 420.
  • Figure 4G illustrates Web page 400 adjusted by rules governing position of content, in this case third version 440 is positioned below version 420.
  • Figure 4H illustrates Web page 400 adjusted by rules governing position, in this case third version is positioned below version 425, and version 420 is positioned above version 425.
  • Figures 41 and 4J show the results of when the rules defined in Step 410, alter the font style of Web page 400 rendered in Figure 4H.
  • Figure 41 illustrates versions 420, 425 and 440 displayed in a font style different from that shown in Figure 4H
  • Figure 4J illustrates the same three versions displayed in a font style different from that shown in Figures 4H and 41.
  • the content rules stored in data store 130 may be defined to alter the display of existing content by changing attributes, such as font and position These rules may be defined to alter these attributes in combination or individually, depending on the results of analytical program 115, which process the effectiveness of a particular rendering presented to users located at the client nodes 150.
  • the rules and content defined by methods, systems and articles of manufacture consistent with the present invention are not limited to the above described examples, rather only by the specific providers marketing or advertising their respective products and services. That is, the disclosed invention maybe applied to a wide range of products and services which providers can solicit using a Web-based content delivery scheme.
  • Step S.320 the analytical program is checked to determine whether it has been programmed and set by analysis system 170 (Step S.320).
  • analysis system 170 downloads code representing analytical program rules associated with performing market analysis on user response data (Step S.330).
  • Step S.330 may be performed to determine whether analytical program 115 needs to be updated with new analytical program rules by analysis system 170.
  • Analysis system 170 may be an outside analysis entity, generally associated with a provider governing Web server 110. Analysis system 170 may perform detailed market and advertising analysis, and predication statistical analysis on the effectiveness and proposed effectiveness of content rendered in Web pages provided by Web server 110. Analysis system 170 may also generate analytical program rules that enable analytical program 115 to automatically make decisions on the effectiveness of presented content, based on the collected user response data. For example, one type of analytical program rule may analyze the percentage of time a number of versions of a Web page that has been rendered by Web server 110, in relation to a proportional "click-through" percentage for each particular version. Based on this analysis, the analytical program rule may adjust the rendering time for the version with the highest "click-through" rate. This example may be illustrated as follows:
  • Analytical program 115 analyzes the above collected information, recognizes that Version 2 in Table 1 meets the criteria for the defined rule, and adjusts the rendering time of Version 2 as shown below in Table 2.
  • Analysis system 170 may generate a wide range of analytical program rules based on a large number of conditions. That is, the analytical program rules downloaded to analytical program 115 are not limited to the above example, and may include rules that govern attributes other than rendering time such as content attributes (i.e. font, color, position, URL highlighting etc.). Furthermore, analytical program rules may be include a combination of rules such that several content and Web page conditions are evaluated concurrently and multiple adjustments to the content may be executed. For example, in addition to the number of "click-throughs" being monitored and considered by the analytical program 115, the day of the week, or even the time of day, may also be considered. That is, user response data may indicate that a particular version is more popular on a weekend, or during selected hours of a day.
  • a rule may include adjustments on rendering time based on not only "click-through” rate, but when the version is most popular. As described above, Version 2 may be rendered 58% of the time only on Saturdays, while version one is rendered 50% of the time on Mondays through Thursdays, from 6:00 P.M. to 10:00 P.M.
  • analytical program 115 an endless number of combinations of user response data, and associated content adjustments may be incorporated into the analytical program rules executed by analytical program 115, and are not limited to the example described above.
  • Step S.320 the content and rales are stored in data store 130 (Step S.320).
  • step S.320 may be performed after the content and content rules are defined in step S.310.
  • middleware program 112 executes an algorithm to determine what content needs to be built into the Web page before it is served to the client.
  • middleware program 112 may first determine the type of user generating the request. This may be performed by retrieving user identification information associated with the user requesting the Web page, using techniques well known in the art, such as cookies, and checking the identification information against a user profile resource. This process allows the user, or a group of users, to be associated with particular social, economic, educational and commercial interests.
  • the process of utilizing user or group profiles for classifying users for target marketing is well known in the art, and the present invention can implement any number of these techniques, as long as the required user information is retrieved and is available for processing.
  • middleware program 112 Upon determining the type of user initially requesting the Web page, middleware program 112 accesses data store 130 to determine the associated content to be served to the user, via the Web page. Middleware program 112 uses the user's identification and profile information to select available content alternatives stored in data store 130. The rules associated with the content in data store 130 are appended with the selected content, such that the rendering of the content is subject to the restrictions defined by its assigned content rules. Middleware program 112 applies the rales (Step S.330), and builds the content into the requested Web page and inventories the content for future analysis. The updated Web page is then served to the client node 150 where the user requesting the page is located. Client node 150 executes its browser application to present the updated Web page to the user (Step S.340).
  • middleware program 112 selects adjusted content and content rales based on results from the analytical program 115.
  • the need for individual user profiling may be replaced with user group profiling.
  • This process is associated with the analytical program 115 analyzing user response data and modifying the content and content rules stored in data store 130.
  • middleware program 112 applies the content rules to the content and renders an adjusted Web page that is also used for subsequent market analysis.
  • FIG. 5 is an exemplary flow chart of the data collection process described in Figure 2.
  • the process begins with the initialization of client side data store 160 (Step S.510). This step makes sure that each client side data store 160 is empty and can receive new information.
  • the requested Web page provided to the client node 150 from the Web server 110 includes an algorithm implemented using client side scripting, applets or other similar processing techniques, for storing the content rendered (Step S.520) into the client side data store 160.
  • the algorithm further is implemented to store the content rules applied to the content (Step S.530), as well as any other information pertinent to the identification of the type of data rendered at the client node 150.
  • These events may be associated with the user making link selections on the Web page to other pages, via URLs, mouse movements, screen scrolling, window resizing, or any other user initiated event.
  • User behavior is monitored by capturing these events and storing them into client side data store 160 (Step S.540), using client side scripting, applets, or other similar processing techniques.
  • client side scripting languages such as JavaScript include commands that enable a program to recognize selected "events" performed by users.
  • the client side script served to each client node by Web server 110 uses the client side script commands to collect detailed user response information. This process enables the present invention to recognize not only well known user events, such as "click-throughs", but whether selected content is actually in-view to the users.
  • the client side data store 160 accumulates the event data dynamically.
  • the client side script may collect detailed event data by using commands well known in Web-based programming languages, such as Javascript and VBScript. For example, to detect a "mouseover" event, which is an event associated with detecting when a user's mouse pointer moves over a component of a Web page, client side Web-based programming commands are implemented to target selected components on the Web page.
  • the target components may include, but are not limited to, an image, text, paragraph, hyperlinks or any attribute of a Web page.
  • the client side script recognizes this movement based on the execution of a command triggered by the mouse pointer's position over a targeted component.
  • the client side script makes a record of the triggered event in the client side data store. Accordingly, the placement of a user's mouse over targeted components of a rendered Web page may be recognized by the client side script, and stored as user events for analysis by Web server 110.
  • the client side script uses the well known Web-based programming commands to collect coordinate and size information related to the browser window, the Web-page rendered within the browser window and components rendered within the Web page. This information is collected and stored in client side data store 160, along with the other event data.
  • a plurality of user browsing activities affect how the client side script, or Web server 110, determines whether a target component is actually viewable by a user.
  • the activities may include, but are not limited to, scrolling and resizing browser windows. Activities such as these affect the position of the components and Web page rendered in the browser window.
  • the size of the browser window must be taken into account as well, because a user may adjust the size of browser window while viewing the Web page.
  • Figures 9A-9C illustrate an exemplary client side display that includes a Web page rendered within a browser window.
  • a client side computer display 970 presents a couple of windows 972 and 974, representing applications running on a client node 150.
  • Window 974 represents a Web browser application being executed at the client node 150, while window 972 represents any other software application that may be executing while the browser software is currently running.
  • Window 974 includes a Web-page 976 and a target component 978, which is located on Web page 976.
  • Target component 978 maybe associated with a number of different types of Web- page content as previously described. As can be seen in Figure 9A, Web page 976 and target component 978 are partially in view.
  • Figure 9B includes display 970, Web browser window 974, and target component 978 as shown in Figure 9A. Additionally, Figure 9B includes a representation of an unseen portion 980 of Web page 976, and an unseen portion 982 of target component 978. Figure 9B also includes values Wowser , Hawser, Yp ⁇ » Yp2, Yci, Yc2, Xpi, Xp2, Xci, Xc2, W C omp 0n ent, and H CO mponent, which will be described in further detail later.
  • client side script In order for the client side script to determine whether a component is in view to a user, detailed positional information is collected and stored in client side data store 160.
  • the in view collection process begins when selected events occur, initiated by the user viewing the Web browser application at client node 150.
  • the selected events may include, but are not limited to, scrolling or resizing of the browser, and loading of a Web page.
  • the Client side script recognizes these triggers and begins to collect in view characteristic data.
  • Coordinate information based on the position of the windows in display 970 are needed to determine the in view status of a target component.
  • the center axis for a coordinate grid associated with Web based displays is located at the upper left hand corner of display 970.
  • the coordinates (X, Y) for the center axis represented is (0, 0).
  • Quadrant TV of the (X,Y) graph represents the positive axis quadrant for the (X, Y) axis represented in Figure 9B. That is, the X axis runs in positive values of pixels from left to right, starting at the center axis, and the Y axis run in positive values of pixels from top to bottom, starting at the center axis.
  • the client side script executes commands to calculate the coordinates of the top of Web page 976 that is viewable in browser window 974, and is represented by coordinates Yn and X_.
  • coordinate Yp ! is determined using well known client side scripting commands.
  • Coordinate Xp 1 is unknown because of the size of window 974 and Web page 976 are dynamic based on user activities.
  • the characteristics of the X,Y graph superimposed on display 970 the following conditions are known:
  • portion 982 of component 978 is not viewable in Web page 976.
  • User activities such as resizing windows and scrolling affect the in view portion of Web page 976 and component 978.
  • the client side script executes known Web-based programming language commands to collect the known current height H row s er and width W rowser of browser window 974.
  • the client side script may now find the true viewable bottom coordinates Yp 2 and X P2 and missing coordinate Xp ⁇ x of coordinate X P! of the viewable Web page in the viewable browser window 974.
  • Yp 2 and Xpix are generated by first performing a pair of functions that adds the current height of the browser window H bro ser to the Y coordinate of coordinate Yp ! and adds the current width W rowser to the X coordinate of coordinate Yp 1; respectively.
  • This is represented by functions (1) and (2) below:
  • the client side script executes commands to calculate the coordinates of target component 978 within Web page 974. Coordinates Y d and X C ⁇ represent the coordinates of the top of component 978.
  • the position of component 978 in relation to Web page 976 may be determined during client side scripting known in the art. For example, if it is known that the component is 100 pixels down from the top edge of Web page 976 and 100 pixels from the left edge of Web page 976, the actual coordinates of Yci of component 978 in relation to browser window 974, which is in relation to display 970, maybe calculated, as follows:
  • the dimensions of component 978 may be determined using client side scripting known in the art. Once these values are determined, the bottom coordinates Yc 2 and Xc_ and coordinate Xci of the target component in relation to browser window 974 maybe calculated.
  • Coordinates Yc 2 and Xc 2 are represented in (X,Y) format as:
  • X C IY is now known.
  • Yc 2 and Xcix may be calculated by performing functions (3) and (4) below:
  • the coordinates of target component 978 are compared to the coordinates of the viewable Web page rendered in the browser window 974 to determine whether the target component is entirely positioned in browser window 974. This enables the client side script to determine whether the target component is in full view or not.
  • This comparison process may be performed a variety of ways, including checking X and Y coordinates of both the Web page and component.
  • client side script performs function (5):
  • Yc2 b ot t om i n view value is equal to 0 or is a negative number, the component is in 100% full view within browser window 974.
  • client side script perfonns function (6) To determine the X right side coordinate in view value of coordinate Xc 2 of target component 978, client side script perfonns function (6):
  • Xc 2 r ig ht i n v iew value is equal to 0 or is a negative number, the component is in 100% full view within browser window 974.
  • client side script performs function (7):
  • Yci top in view value YciY " YpiY If Yci top in v ie w value is equal to 0 or is a positive number, the component is in 100% full view within browser window 974.
  • client side script performs function (8):
  • the coordinates of the windows and components rendered in browser 974 are generated in relation to display 970, and the current position and size of browser window 974.
  • the coordinate information may be analyzed to determine whether target components are in view or not, and are not limited by the above exemplary procedures.
  • client side script may utilize the coordinate information to determine the proportion of viewable components in relation to the web page 976. This may be done a variety of ways for each edge of the component, and may only be performed when it is determined using functions (5)-(8) that a portion of the component 978 is not in full view. For example, when determining the proportion of a component in view using the bottom coordinate of Web page 976, client side script may perform the following functions:
  • Yp roport i on - b ottom shows the ratio of the viewable Y coordinate portion (or height) of component 978 in relation to the total height of the component, for components bounded by the bottom coordinates of Web page 976.
  • Yproportion-top ( Yc2Y " YpiY ) / H CO mponent Yproportion-top shows the ratio of the viewable Y coordinate portion (or height) of component 978 in relation to the total height of the component, for components bounded by the top coordinates of Web page 976.
  • Xproportion-right shows the ratio of the viewable X coordinate portion (or width) of component 978 in relation to the total width of the component, for components bounded by the right side coordinates of Web page 976.
  • Xproportion-ieft shows the ratio of the viewable X coordinate portion (or width) of component 978 in relation to the total width of the component, for components bounded by the left side coordinates of Web page 976.
  • Functions (9)-(12) are ratio values, and maybe converted into percentage values that may not exceed 100%.
  • Figure 9C shows an exemplary block diagram of display 970 illustrated in Figure 9B.
  • Web page 976 has been scrolled down, thus moving target component 978 further "up" on display 970.
  • Figure 9C includes coordinate information associated with coordinates Yp 1? Yp 2 , Yci, Yc2,Xp ⁇ , Xp2, Xci, c2-
  • Figure 9B will follow the same process as described for Figure 9B.
  • client side script may perform functions (5)- (8) as follows:
  • client side script stores the coordinate information in data store 160, and when analytical program 112 receives this information, the above in view analysis may be performed at the Web server 110.
  • the in view data collected by the client side scripts may provide information such as data indicating whether content is actually viewable by respective users, mouse movements across a Web page, position of the Web page based on screen scrolling, length of time a mouse pointer is positioned in a determined location of the Web page, and a plurality of other "detailed" user behavior events associated with browsing.
  • the potential for an enormous amount of user response data to be collected may be controlled by the programming of the client side script implemented by Web server 110.
  • Web server 110 may be programmed to provide client side scripts that monitor general user response data, or numerous detailed user response data, depending upon the level of granularity of market analysis desired by the Web server.
  • client side trigger event occurs in a respective client node 150 (Step S.550)
  • the information accumulated in client side data store 160 is ready for transmission to data store 120 and Web server 110 for processing.
  • the client side trigger event may be associated with a plurality of customized events, including but not limited to, the client side data store 160 being filled up to a threshold limit, the browser being closed, or a user selecting another Web page.
  • the provider of Web server 110 may determine the types of client side trigger events they wish to operate with, and have them programmed into the present invention's monitoring script.
  • the event data is sent back to Web server 110 by executing a routine associated with a URL appended to the Web page served at the client node 150.
  • the Web page sent to the client node 150 includes a portion with a URL dedicated to the dynamic transmission of the collected data to Web server 110.
  • the routine appends the collected user event data from the client data store 160, onto the dedicated URL. That portion of the Web page is dynamically reloaded, forcing the collected user event data to be sent to the Web server 110 (Step S.560).
  • Web server 110 Upon receipt of the collected user event data, Web server 110 forwards it to data store 120 for storage.
  • Web server 110 is continuously receiving user response data from each client node 150 being served by the Web server 110, giving the server continuous marketing information from which to base analysis of the content rendered to the client nodes 150.
  • FIG. 6 is an exemplary flow chart of the analyze responses process described in Figure 2.
  • the process begins when the collected user responses stored in data store 120 are accessed by Web server 110 (Step S.610).
  • Analytical program 115 retrieves the collected user response data and initiates an analysis program including the analytical program rules received by analysis system 170 (Step S.620).
  • Analytical program 115 determines whether the Web page rendered at each client node 150, with its associated content, needs adjustment based on the collected user response data. Analysis may include correlating predetermined threshold values with the user response data.
  • a threshold value associated with particular content, and the amount of time it was viewable may be incorporated into the analytical program rales programmed into analytical program 115.
  • Analytical processing may include comparing the threshold value with the collected user response data to make a determination whether the content or rules stored in data store 130 need adjustment.
  • the correlation processing performed by analytical program 115 may be associated with a plurality of user events, such as link selections, scrolling, maximizing/minimizing windows.
  • Analytical program 115 processes the results of the analyzed user response data, and updates the content rales, and/or content stored in data store 130, automatically.
  • a multitude of combinations of analytical program rules may be applied concurrently with the analysis of a plurality of user response data stored in data store 120.
  • user response data collected by each client side script may include information regarding whether or not a respective user finished completing the application.
  • the client side scripts may collect information indicating where in the application a user stopped entering data, where the user's mouse was located for a majority of the rendering time, whether the user scrolled up and down the application prior to and during data entry, and how long the user stayed at the page during data entry.
  • the analytical program rales applied may be associated with each type of collected user response, such as a rale adjusting the color of a particular window within the application based upon the average position of the Web page in view to the users, or a rale adjusting the type of text or type of questions (fields) based upon the average rendering time of a particular portion of the application in-view to the users.
  • the number of combinations of analytical program rules and associated user response data is extremely high and may be utilized by analytical program 115 and analysis system 170 when perfonning marketing analysis.
  • analytical program 115 Upon completion of its analysis, analytical program 115 utilizes the collected response data and may apply a number of different rules associated with each response data characteristic, to determine what type of changes, if any, are needed to the content and content rales stored in data store 130 (Step S.630). Accordingly, the content rales and types of content maybe altered or added to data store 130.
  • the analysis performed by analytical program 115 may be performed periodically based upon predetermined conditions set by Web server 110. These conditions may include, but are not limited to, a predetermined clock cycle time and the data store 120 reaching a maximum data threshold.
  • analytical program 115 determines whether automatic lift of the rendered content should occur, based upon the analyzed user response data, and information associated with the user located at client node 150 (Step S.640).
  • Middleware program 112 applies the updated rules to the content if it is determined that a lift of the rendered content its needed.
  • Web server 110 may automatically adjust content rendered on the Web page previously rendered at client nodes 150.
  • a provider controlling the Web server 110 may test the success of certain content or content rales on a customized and dynamic basis. That is, the provider of Web server 110 may program middleware program 112 to adjust the content to test new changes in attributes, or entirely new content, on an automatic basis using the content rales stored in data store 130 and the results of analytical program 115.
  • middleware program 112 analyzes the results of analytical program 115, and applies the rales stored in data store 130 to the content, the Web page is updated and Web server 110 serves the updated page to client nodes 150 requesting the page after analysis and modification of the page have been completed.
  • the amount of time third version 440 was displayed was a criteria for analysis defined in the analytical program rales executed by analytical program 115.
  • the plurality of users monitored did not satisfy predefined conditions for a successful rendering of the third version 440, because as defined in the analytical program rules, within ten seconds the users "clicked-through" to another link and ignored versions 440, 420 and 425 displayed in the center of Web page 300. Accordingly, results reflecting this analysis would be generated by analytical program 115, and in response to the analysis results, analytical program 115 may redefine a content rule stored in data store 130.
  • data store 130 includes a plurality of sufficient predefined rales and content, and no changes are made to content rales stored data store 130.
  • Middleware program 112 analyzes the content and content rales applied to Web page 400, and applies the rales to the content based on the results from the analytical program 115.
  • analytical program 115 determined that a change in version position is the appropriate test to initiate, and middleware program 112 applies a content rale to the content in Web page 400 to adjust the position of versions 440, 420 and 425.
  • the content rules are applied and the position of the content is altered, as shown in Figure 4G, placing the third version 440 below version 420.
  • the adjusted page shown in Figure 4G is presented in place of the original page shown in Figure 4C to the client nodes 150 requesting Web page 400.
  • the dynamic Web-based marketing operations are repeated, with user behavior being monitored at the adjusted Web page shown in Figure 4G, and the system determines from these new responses whether further adjustments are needed or not.
  • a provider of a Web server may track an enormous amount of marketing information from each user accessing selected Web sites, and gain useful marketing data on the interests and dislikes of potential consumers. This may enable these providers to dynamically adjust their content solicited to the users in order to target them more effectively and to automatically test the effectiveness of the Web pages provided by the Web server.
  • the present invention allows providers to perform automatic dynamic market testing.
  • Methods, systems and articles of manufacture consistent with present invention enable users located at client nodes 150, to not only be targeted for advertising, but to also utilize the users' response for evaluating the success of particular rendered content.
  • the dynamic market analysis performed by analysis program 115 enable the server to automatically adjust served content based on responses from users, in a "real-time” and "hands-free” closed loop operation. This type of operation is an advantage over conventional Web-based marketing techniques that require either drastic or time consuming analysis and manual adjustments to rendered content.
  • FIG. 7 is a flow chart of a content marketing process associated with the in-view features performed by Web server 110, in accordance with another aspect of the invention.
  • Web server 110 may receive content from third party entities 180 to be included in a rendered Web page by Web server 110.
  • the content received may include content as previously described, including advertisement objects.
  • third party entities 180 may provide Web server 110 with an identifier, such as a URL, to be included in a rendered Web page instead of content.
  • third party entities 180 control the type of content to be included in a rendered Web page, by enabling the URL to link to the third party entity 180 where the content is created and sent to Web server 110.
  • Third party entities 180 may incorporate Web server 110's services by sending requests to Web server 110 for including third party content into a Web page provided by Web server 110 (Step S.710). In another embodiment, third party entities 180 may contact the provider of Web server 110 in order to incorporate the services provided by Web server 110. Third party entities 180 may communicate with the provider of Web server 110 using any known communications means available in the art, such as telephonic communications, electronic mail and postal services. In any event, the provider of Web server 110 is made aware of the services desired by third party entities 180 either through network 140, or through some other means, as mentioned above.
  • Web server 110 sets-up a billing account for each third party entity 180 that sent a request (Step S.720).
  • a billing account may describe how a third party entity 180 may be charged for particular renderings of third party content within a Web page served by Web server 110.
  • Web server 110 may diversify its third party content fees based on whether particular content was actually viewable by a user browsing the Web page served by Web server 110. For instance, Web server 110 may charge a third party entity 180 a certain fee only when an in-view analysis of the user response data indicates that the third party entity's content was actually viewable to a user. This fee may be altered based on whether the third party content was fully in- view or partially in-view.
  • window 425 is in partial view, while window 420 is in full view.
  • windows 420 and 425 are advertisement content provided by a third party entity 180 to be displayed in Web page 300.
  • Web server 110 may charge the third party entity 180 a fee of "$ X" for window 420 being displayed while only charging "$ _ X" for window 425.
  • Web server 110 may not charge any fee for content or components not at viewable by a user.
  • Web server 110 may provide fee options based on every in-view rendering of a third party content, or a "flat" fee for a certain number of viewable renderings.
  • a third party entity 180 may pay a predetermined fee for 5,000 "viewable" renderings of its provided content on a Web page served by Web server 110.
  • Web server 110 would keep track of the number of in-view renderings of the provided third party content, and continue to render the provided content until the threshold of 5,000 viewable renderings has been reached.
  • Web server 110 may provide a fee option that charges third party entities 180 additional fees every time a "click-through" occurs on a link included in the third party content.
  • Web server 110 may provide attractive fee options from which third party entities 180 may chose from, thus ensuring servers 180 are paying for advertisements or content that are actually being seen by users.
  • These fee options may include a plurality of charging options associated with a user's behavior on a Web page and are not limited to the examples described above.
  • a content effectiveness plan allows Web server 110 to provide third party entities proposed information on the effectiveness of the third party content, based on the analysis performed by analytical program 115. That is, Web server 110 may generate a report including proposed statistical information regarding the results of the analytical program 115 directed toward the third party content included in a rendered Web page. For a predetermined fee, third party entities 180 may benefit from the automatic analysis features performed by Web server 110, by receiving detailed reports regarding the activities associated with the content they provided for rendering to Web server 110.
  • Web server 110 may send a third party entity 180, enrolled in the CEP, a report depicting user activity associated with their provided content, and provide suggested changes to the content based on analysis performed by the analytical program 115.
  • Such changes may include changing the color, font, multimedia features, position and any other modifications that may result in increased activity for the rendered content.
  • a plan is set up (Step S.740) by Web server 110.
  • the third party entity 180 Upon completion of CEP set-up or a third party entity 180 decides not to enroll in a CEP, the third party entity 180 sends content to be rendered to Web server 110, and it is stored in data store 130 (Step S.750).
  • Web server 110 may create billing accounts from a plurality of third party entities, and incorporate content from the plurality of third party entities into a Web page.
  • Web server 110 generates a predetermined Web page, retrieves the third party content stored in data store 130, along with other content it will include in the page, and serves the Web page to the client nodes 150 requesting the page (Step S.760).
  • the content provided by a third party entity 180 may be a URL that links back to the respective third party entity 180, where the desired content is provided to Web server 110.
  • client nodes 150 monitor and collect detailed user activity in client side data store 160, including the in-view activities. Upon encountering a client side trigger event, client nodes 150 send the collected user response data to Web server 110 for storage into data store 120 (Step S.770).
  • FIG 8 is a flow chart of a content marketing and billing process associated with the in-view features performed by Web server 110, in accordance with another aspect of the invention.
  • analytical program 115 retrieves the collected information for analysis (Step S.810), as described above with reference to Figure 6.
  • Web server 110 recognizes when third party content was included in the rendered Web page and in response to this determination performs additional in-view analysis specifically for the third party content.
  • This analysis includes determining the in-view characteristics of each third party content (Step S.820). That is, analytical program 115 may determine the number of times each third party content was in-view or partially in-view on each rendering of the Web page.
  • billing program 113 Utilizing the results of the in-view analysis performed by analytical program 115, billing program 113 generates a billing record associated with each third party entity 180 (Step S.830).
  • the billing record includes billing account information on the types of fees charged to each respective third party entity based on the billing account set up by the third party entity 180.
  • Web server 110 determines whether a third party entity is enrolled in a CEP (Step S.840), and if so a content effectiveness record (CER) is created and appended to the billing record (Step S.850).
  • a content effectiveness record is a record that includes the content effectiveness report described earlier with reference to Figure 7.
  • Analytical program 115 analyzes the in-view user response data, along with the other user response data collected and stored in data store 120, to generate proposed modifications to the third party content, just as content and content rales are modified with respect to the operations described in Figure 6.
  • Billing program 113 utilizes the results from this analysis and generates the CER.
  • the CER may also include the collected user event data associated with the third party content.
  • a CER for a third party entity having three versions of a content included in the Web page may include user activity data, as shown in Table 3.
  • a CER may provide each third party entity 180 with information on the effectiveness of several versions of content provided by a third party entity.
  • Version 1 of the content is in a position in the Web page that receives a large proportion of viewable rendering time. Specifically, in this example Version 1 is completely viewable on the average, 78% of the time the Web page is rendered on the users' client nodes, while on the average 84% of the actual content of Version 1 is viewable.
  • Analytical program 115 utilizes the detailed user response data from each client node receiving the Web page, and computes in-view statistics, such as described above, in order to provide the third party entities with useful marketing analysis information.
  • the types of statistical information computed and provided by Web server 110 may vary, and are not limited to the examples described above.
  • the CER may also include suggestions on changes to the contents based on the information computed by the analytical program 115. Such changes may include changing the color, font, multimedia features, rendering time, position and any other modifications that may result in increased activity for the rendered content. Suggestions within the CER may include eliminating a version of content entirely as well. For example, referring to Table 1, Version 3 may need to change its position based on the statistic of being 100% viewable on the average only 15% of the Web page's rendering time. Accordingly, analytical program 115 may suggest to position the content further up on the Web page to make it more accessible by users. As described, analytical program 115 may generate a plurality of suggestions based on the collected user response data, and are not limited to the examples described above.
  • Web server 110 will not know what type of content is provided. In this case, Web server 110 would provide statistical information regarding the in-view characteristics of the third party entity's content, and enable the entity to utilize the information for determining whether changes are needed in their content.
  • Billing program 113 may send the billing records periodically, wherein the frequency of delivery may be determined by each third party entity, or the billing records may be sent in response to a server side trigger, such as a subsequent request for the Web page including the third party content.
  • the billing record delivery features may include a variety of options and are not limited by the examples listed above. For instance, billing record or statistical information, may be sent to third party entities without the use of network 140. In this case, any other well known means of communications may be implemented to deliver the reports to the third party entity.
  • the provider of Web server 110 would enable the reports to be created in a medium consistent with a third party entity's needs, and deliver the reports accordingly. For example, if postal services are being implemented, the reports created by Web server 110 would be put in hard copy form and mailed to the appropriate third party entity 180.
  • a third party entity's CEP may arrange for Web server 110 to perform an automatic update to the third party content using the analytical program rales described above with reference to Figure 6.
  • Web server 110 would be employed by the third party entity 180 to determine modifications needed for increasing the effectiveness of the third party content, and implement the changes automatically.
  • the CER would indicate to the third party entity the changes implemented by the Web server, and the results of the changes based on the analysis by the analytical program 112.
  • methods, systems and articles of manufacture consistent with the present invention enable a Web server the tools to provide Web content provision for third party entities while incorporating a detailed, equitable and attractive billing process that ensure the third party entities are delivered services they pay fees for.
  • methods, systems and articles of manufacture consistent with the present invention also provide the third party entities proposed effectiveness reports and suggestions for increasing the effectiveness of the third party content rendered by the Web server.
  • third party entities may utilize the advantages of the analysis performed by methods, systems and articles of manufacture consistent with the present invention to adjust the third party content to better target users.

Abstract

Methods and apparatuses for market analysis are disclosed. A Web server (110) presents a Web page to a user, via a browser (150). The Web page content may be provided by third parties that pay to have the Web server (110) render their content in a Web page. While the site is viewed, user activities regarding the content are collected in a client side data store (160), and the data is later sent back to the server (110) and stored in a server side data store (120). An analytical program (115) executed by the server (110) retrieves the response data from the data store (120) and performs market analysis on the data. The program (115) produces results regarding the effectiveness of the Web page content. A middleware program (112), executing in the web server (110), retrieves the result data, produces billing records, and sends the billing records to third parties that supplied the content for billing and marketing purposes.

Description

SYSTEM AND METHOD FOR PERFORMING WEB BASED IN-VIEW
MONITORING
DESCRIPTION OF THE INVENTION
Field of the Invention
The present invention relates to Web based marketing and, more particularly, to a method and system for monitoring and collecting user responses to Web based content provided by Web servers.
Background of the Invention
On-line advertising and content provision has grown tremendously since the inception of the Internet and on-line services. Users can access a wide variety of information associated with their interests by using the Internet and accessing Web sites generated by providers. A computer equipped with a program called a browser, such as Netscape Navigator from Netscape Corporation, makes it a simple task to traverse the vast network of information available on the Internet and, specifically, its subpart known as the "World Wide Web."
The architecture of the Web follows a conventional client-server model. The terms "client" and "server" are used to refer to a computer's general role as a requester of data (the client) or provider of data (the server). Under the Web environment, Web browsers reside in clients and specially formatted "Web documents" reside on Internet (Web) servers. Web clients and Web servers communicate using a protocol called "Hyper Text Transfer Protocol" (HTTP). In operation, a browser opens a connection to a server and initiates a request for a document or a Web page including content. The server delivers the requested document or Web page, typically in the form coded in a standard "Hyper Text Markup Language" (HTML) format. After the document or Web page is delivered, the connection is closed and the browser displays the document or Web page to the user.
The Internet consists of a worldwide computer network that communicates using well defined protocol known as the Internet Protocol (JP). Computer systems and servers that are directly connected to the Internet each have an unique address consisting of four numbers separated by periods such as "123.456.0.3". To simplify Internet addressing, a "Domain Name System" was created that allows users to access Internet resources with a simpler alphanumeric naming system. For example, the name "capitalone.com" is the name for a computer system or Web server operated by Capital One® .
To further define the addresses of resources on the Internet, a Uniform Resource Locator system was created that uses a Uniform Resource Locator (URL) as a descriptor that specifically defines a type of Internet resource and its location. URLs have the following format: "resource-type://domain.address/path-name." The "resource-type" defines the type of Internet resource. Web documents, for example, are identified by the resource type "http", which indicates the protocol used to access the document.
To access a document on the Web, the user enters a URL for the Web document into a browser program executing on a client system with a connection to the Internet. The Web browser then sends a request in accordance with the HTTP protocol to the Web server that has the Web document using the URL. The Web server responds to the request by transmitting the requested object to the client. In most cases, the object is a plain text document containing text (in ASCII) that is written in HTML. Such objects often contain hyperlinks to other Web documents. The Web browser displays the HTML document on the screen for the user and the hyperlinks to other Web documents are emphasized in some fashion such that the user can select the hyperlink.
In some instances, the HTML document may contain data from more than one server. For example, remote text and images may be retrieved from remote servers and integrated into a Web document by a client system. One server may provide an image file, while another server may provide text information to the client system over a network such as the Internet. Different techniques are available to display these types of composite Web documents. For example, a program called a servlet executing on one of the servers may combine data from the various servers referenced in a selected Web document and transmit the composite Web document to the client. In other configurations, the client may utilize a program called an applet, which may be transmitted to the client from one of the servers, to access the multiple servers offering parts of the composite and to build the composite Web document.
Generally, users view the content delivered in the Web pages and may select hyperlinks to other sub pages of a Web site, or to entirely different Web sites. Providers associate the users "browsing" these Web pages as potential consumers for the products and services they provide. By simply providing a Web server having information on a providers' product and service offerings and a customer database, and linking the Web server to the Web, providers may track user interactions with the Web server including visits, sales, buying trends and product/service preferences-all at the user level. Providers may then present or offer its customers with products and services they are most likely to buy-on an individual basis. For this reason alone most marketing professionals consider the Web to be one of the best direct marketing tools. In order to gain new, or retain existing, customers, providers need to ensure they present products and services that potential consumers are interested in. Accordingly, the importance of target advertising and target content provision has become an important role in the way providers conduct business over the Internet.
One conventional technique associated with target advertising is the use of advertising banners presented on existing Web pages generated by providers. When a user accesses a Web page associated with a provider, using a Web browser such as Netscape Navigator or Microsoft Internet Explorer, a banner advertising the provider's products or services appears on the Web page. This banner may be presented by the Web page's provider, or may be provided by a third party advertisement server. When an interested user selects the advertisement (by "clicking through" on the banner) the user is generally forwarded to another Web page or site associated with the advertisement. This page or site may be the third party advertiser's home page. The success of the advertisement is based upon the user's response, in this case, the user "clicking through" the advertisement or banner, to receive more information on the content advertised.
Conventional implementations of target advertising attempt to present appropriate information, or advertisements, to selected users, such that the probability of that user being interested in the advertisement increases. These implementations monitor and collect limited user response information, along with information associated with the advertisement presented to the users. The user response information generally includes user identification data such as, user ID, domain type, location, employer information and other general information associated with the user. The advertisement information generally includes the particular advertisement presented, the number of times the advertisement was presented, the advertisements selected by a user, and the Web pages on which these advertisements were presented. User profiles may be created that associate user interests based on the types of advertisements and Web pages the users view. The collected information is analyzed to associate a success value with a particular advertisement based on the user information and the advertisement data. For example, a successful advertisement may be declared if the advertisement produced a sufficient number of "click throughs" from a plurality of users.
However, in the event an advertisement is not declared successful, new advertisements or banners may be presented to selected users, based upon their profile. For example, users interested in athletics or sports, based on their profile, may be targeted with advertisements associated with athletic apparel, while users interested in music may be presented with advertisements associated with available concert tickets or audio CDs.
Advertisements are adjusted by replacing the presented advertisement with another image/text object stored in a database. That is, when a target advertisement is to be changed, a replacement advertisement image/text object is retrieved from a database and positioned in the accessed Web page the previous advertisement was located. Accordingly, entire banners are replaced each time a new advertisement is needed to target a selected user. Furthermore, when the objects stored in the database are no longer effective, these objects must be modified and updated, which may take a significant amount of time.
Conventional implementations of target content provision for Web sites are also associated with the disadvantage of time consumption. The conventional techniques adjusting Web site renderings is a time consuming process which incorporates human intervention and an extreme amount of information. To evaluate the success of content presented on Web sites, the providers of the site generally collect user response data similar to that described above. That is, user information such as cookies, and general content information is monitored and collected. A database is created of this collected information, which includes massive amounts of data. The information is later analyzed either by an analytical engine, or through user intervention, and resultant data is created expressing the likelihood of successful content for various profiles of target users. Decisions are made on the type of content that should be provided, and the content is manually adjusted. This includes changing a Web site's presentation, or the content provided by the site, for example changing a loan percentage rate or incentives on a type of product for sale. This process can take days, weeks or sometimes months, depending upon the resources available to a provider.
Associated with the conventional implementations of on-line advertising is the billing process in which Web page providers charge advertising providers for allowing advertisements to be presented on the Web page. For example, advertisement banners displayed on Web pages served by a Web server are generally provided by third party advertisement servers. The provider of the Web server displaying the banners generally bill the advertisement servers for each rendering of a Web page that includes the advertisement banner. A disadvantage to this conventional process is that advertisement servers may be billed for banners that are never seen by a user browsing a rendered Web page that includes the banner. This may occur when the banners are located in positions on a Web page that rarely get viewed by users, such as the "bottom" half of a Web page. Users may leave a Web page without ever viewing the banner provided by an advertisement server, while the Web server serving the Web page may still charge the advertisement server for a banner being displayed on a rendered Web page.
Accordingly, although conventional on-line target advertising and content provision techniques allow adjustments to be made on downloaded documents in order to target selected users, they lack the ability to monitor and collect detailed user response data associated with content that is actually visible to the users when browsing the downloaded documents. Furthermore, although conventional on-line advertising techniques enable providers to advertise their products and services on third party Web sites, they lack the ability to efficiently perform detailed billing based on whether an advertisement was actually in- view when a Web site including the advertisement is rendered.
SUMMARY OF THE INVENTION
It is therefore desirable to have a method and system for monitoring and collecting detailed user in-view response data at client sites and passing the collected user response data to a Web server for marketing and billing analysis.
Methods, systems and articles of manufacture consistent with the present invention collect detailed user activity information while the users are accessing Web sites, and automatically adjust the content presented in the Web site to target selected users. The changes to the content can be very drastic, such as the entire site being completely adjusted, or very minute, such as the replacement of font in selected areas of the site.
In accordance with an embodiment of the invention, a Web server presents a Web page including content to a plurality of users, via a browser executing at each users' client site. While the users view the page, detailed activities performed by each user, such as "click-throughs", screen scrolling, and mouse movements are collected in a client side data store using client side scripting, applets or similar means. After an event occurs, such as the client side data store fills up, a new URL is selected, the browser is closed, or a new Web page is selected, the collected activity data is sent back to the Web server where its is stored in a server side data store. A program executed by the Web server retrieves the collected response data from the data store and performs market analysis and produces results that reflect the success of the content presented on the Web page displayed to the users. These results are used by a second program executing on the Web server to update the content presented to the user, on a "real-time" and automatic basis. A third program performs a billing analysis on the results from the first program to determine whether the content was actually in-view to the users browsing the Web page that included the content. Results of the billing analysis are subsequently sent to a third party entity for processing. Accordingly, the Web server can present targeted content to a user, or a group of users, based on rules associated with the users' profiles. The content can be dynamically adjusted, based on the rules, to present entirely different content or subtle differences, that may appeal to the users. Detailed user responses associated with the new content are monitored, and subsequent changes can be made by following the same process. Thus, the Web server performs closed loop "hands-free" market analysis on the effectiveness of rendered Web pages and allow the pages to be automatically altered for future testing and analysis.
Furthermore, the Web server may perform detailed billing analysis associated with the content such that third party entities may be billed for provided content on a more economical basis.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing summary and the following detailed description should not restrict the scope of the claimed invention. Both provide examples and explanations to enable others to practice the invention. The accompanying drawings, which form part of the description of the invention, show several embodiments of the invention, and together with the description, explain the principles of the invention. Accompanying drawings:
Figure 1 is an exemplary block diagram of a Web-based network, in accordance with methods and systems consistent with the invention;
Figure 2 is an exemplary flow chart of the steps performed by the Web-based network, in accordance with methods and systems consistent with the invention;
Figure 3 is an exemplary flow chart of the steps performed by the presentation step shown in Figure 2, in accordance with methods and systems consistent with the invention;
Figures 4A-4F are examples of various types of content that can be rendered on a Web page, in accordance with methods and systems consistent with the invention; Figures 4G-4J show the Web page displayed in Figure 4c, after predefined rules are applied to alter the content, in accordance with methods and systems consistent with the invention;
Figure 5 is an exemplary flow chart of the steps performed by the data collection step shown in Figure 2, in accordance with methods and systems consistent with the invention;
Figure 6 is an exemplary flow chart of the steps performed by the analyze responses step shown in Figure 2, in accordance with methods and systems consistent with the invention;
Figure 7 is an exemplary flow chart of the steps performed by a Web server during third party entity set-up procedures, in accordance with methods and systems consistent with the invention;
Figure 8 is an exemplary flow chart of the steps performed by a Web server during a third party in-view analysis and billing operation, in accordance with methods and systems consistent with the invention; and
Figures 9A-9C are exemplary block diagrams of a computer display rendering a Web page, in accordance with methods and systems consistent with the invention.
DESCRIPTION OF THE EMBODIMENTS
The following description of embodiments of this invention refers to the accompanying drawings. Where appropriate, the same reference numbers in different drawings refer to the same or similar elements.
In accordance with an embodiment of the invention, a network is configured such that users, located at respective client nodes equipped with browser software, request a Web page to be served to them from a Web server that resides on the Internet at a uniform resource locator. The Web server receives the requests and runs a predefined middleware program, which determines the marketing content to be placed on the requested Web page. The Web server then serves the page to the clients. Upon receiving the Web page, each client enables the users to browse the content displayed on the page. The users' behavior in response to the displayed page is monitored at each client node, by capturing events such as mouse movements, scrolling, resizing the browser window, URL selections and/or other similar user initiated events. The captured events are sent back to the Web server in response to a detected client side trigger, and the captured event data is stored into a server side data store.
An analytical program, executing in the Web server, analyzes the collected user event data to determine the effectiveness of the content presented on the Web page. A middleware program, executing in the Web server, determines the content to serve to the client nodes based on the analysis by the analytical program. When the Web server receives a subsequent request for the Web page, the Web server serves a modified Web page that includes modified content back to the client nodes as an updated Web page. The above described process is continuously repeated allowing the present invention to perform automatic analysis on the content presented on Web pages, and dynamically adjust the content to target selected user groups, for the purposes of achieving marketing or advertising goals.
In an alternate embodiment of the invention, the detailed user monitoring and collection implementations performed by methods, systems and articles of manufacture consistent with the present invention may be applied to advertisement and content billing management. In accordance with such an alternate embodiment of the invention, a network is configured such that users, located at respective client nodes equipped with browser software, request a Web page to be served to them from a Web server that resides on the Internet at a uniform resource locator. The Web server receives the requests and runs a predefined middleware program, which determines the marketing content to be placed on the requested Web page. The marketing content may be associated with third party entities that pay fees to the provider of the Web server to have selected content included in the Web page served by the Web server. The Web server then serves the Web page to the clients.
Upon receiving the Web page, each client includes software that enable the users to browse the content displayed on the page. The users' behavior in response to the displayed page is monitored at each client node, by capturing events such as mouse movement, scrolling, resizing the browser window, URL selections or other similar detailed user initiated events. The captured events are sent back to the Web server in response to a detected client side trigger, and the captured event data is stored into a server side data store.
An analytical program, executing in the Web server, analyzes the collected user event data to generate in-view characteristic result data associated with the user responses. In response to the result data, analytical program may update rules associated with selected content. A billing program, executing in the Web server, analyzes the in-view characteristic result data produced by the analytical program. Based on the determination, the billing program then generates billing records associated with content provided by third party entities and then sends the billing records to the appropriate third party entities. In addition to performing billing operations, the billing program may generate third party content effectiveness records indicating whether any changes to the third party content is needed, based on results produced by the analytical program. Billing program may send the effectiveness records to selected third party entities enrolled in an effectiveness service provided by the Web server, or the provider of the Web server, enabling the third party entities to obtain detailed marketing information related to the effectiveness of their third party content.
Figure 1 shows a block diagram of a network environment 100, in which the features of the invention may be implemented. As shown, network environment 100 comprises of a Web server 110, data store 120, data store 130, a network 140, analysis system 170, third party entities 180 and client nodes 150. In addition, Web server 110 comprises of middleware program 112, billing program 113 and analytical program 115.
Web server 110 maybe implemented through a desktop computer, workstation or any other Web server system known in the art. Web server 110 may be equipped with Web server software such as, Microsoft Internet Information Server, Novell Web Server, Netscape Enterprise Server, or any other Web server software known in the art.
Client nodes 150 may include a desktop computer, workstation, laptop, personal digital assistant or any other similar client side system known in the art. Client nodes 150 are equipped with browser software such as Netscape Navigator, Microsoft Internet Explorer, or any other known browser software. A client-side data store 160 may also be provided for storing marketing content, content formatting information, and any other content related information, as well as user event data. Client side data store 160 may be configured as an array, flat file or any other memory configuration known in the art.
Network 140 connects Web server 110 and client nodes 150 and may include one or more communication networks, including the Internet or any other similar network that supports Web-based processing. Client nodes 150 may connect to network 140 through any suitable wired or wireless supported connection.
Third party entities 180 are entities that provide content to be rendered by Web server 110. Third party entities 180 may include interface nodes that enable network communications between the third party entity and network 140, as shown in Figure 1. The interface nodes may include a desktop computer, workstation or any other web server system known in the art. Third party entities 180 may include interface nodes that are equipped with Web server software such as, Microsoft Internet Information Server, Novell Web Server, Netscape Enterprise Server, or any other Web server software known in the art. Third party entities 180 are associated with providers of goods or services, that desire to conduct business with Web server 110. These may include corporations, companies, individuals, or any other type of entity that can interact with Web server 110 and/or the provider of Web server 110 indirectly of network 140. That is, third party entities 180 may communicate with the provider of Web server 110 through other means than that illustrated in Figure 1, such as telephonic communications, postal mail, electronic mail and any other known methods or means for communicating and interacting with the provider of Web server 110.
Middleware program 112 determines the content to serve to the clients 150 based on results of a in-view user response analysis performed by analytical program 115. Middleware program 112 may be constructed using JavaScript, Java Servlet, Java ServerPage, Active Server Page, Perl, C++, VB Script, XSL, SQL, or any other similar programming language. Analytical program 115 reads and analyzes collected user response data to produce results associated with the effectiveness of the content rendered to the client nodes 150. Analytical program 115 also analyzes the user response data to determine in-view characteristics of the content rendered at the client nodes 150. Based on the results, analytical program 115 adjusts rules and content stored in data store 130, and produces an in-view results file. Analytical program 115 is programmed by analysis system 170, with analytical program rules that govern the analysis on the collected user response data.. Analysis system 170 may initialize analytical program 115 prior to the first rendering of a Web page, and may periodically adjust the analytical program rules during system operation. Analytical program 115 maybe constructed using JavaScript, Java Servlet, Java ServerPage, Active Server Page, Perl, C++, VB Script, XSL, SQL, or any other similar programming language. Analytical program 115 may be located in a remote location from the Web server as well.
Billing program 113 performs billing analysis based on results of a in-view user response analysis performed by analytical program 115. Billing program 113 generates billing records reflecting the billing analysis and may communicate with third party entities 180 that are connected to network 140. Billing program 113 may be constructed using JavaScript, Java Servlet, Java ServerPage, Active Server Page, Perl, C++, VB Script, XSL, SQL, or any other similar programming language.
Data store 120 connects to Web server 110, and stores user event data collected at the client nodes 150. Data store 120 may include a database or flat file data store, or may also include a flat file data store that flushes its stored data to a database for reliability and access time purposes. Furthermore, data store 120 may include a redundant database that ensure data is available in the event a primary storage element experiences a fault or error. A multitude of fault tolerant architectures may be implemented to ensure data consistency and availability.
Data store 130 connects to Web server 110, and stores content and associated rules (referred to as content rules) controlling how the content is to be rendered. As described for data store 120, a multitude of fault tolerant architectures may be implemented with data store 130 to ensure data consistency and availability. The content may include attributes associated with content renderings, such as document structure, wireless card structure, titles, headings, paragraphs, lines, lists, tables, links, graphics, objects, multimedia, scripts, forms, frames, colors, wording, size, positioning, background properties, border properties, font properties, text properties, or any combination thereof. The content may also include, but is not limited to, products and services such as wireless phones, credit cards, available financial solicitations (loans) or any other products and services that may be solicited using Web-based marketing or advertising techniques.
Content rules may include code that governs how the content is rendered on a Web page presented at the client nodes. These rules may control variations of the attributes associated with the content, such as the types of font, text, color, position, products, characteristics of associated multimedia files, various services available, or any other types of attributes associated with the content rendered. The rules may also control the frequency in which the variations of the attributes take place, such as rendering a particular font for 20% of the rendering time, or rendering a particular version of the content for 30% of the rendering time. As described above, a multitude of variations of rules and content can be processed by the Web server, and are not limited to the examples listed above.
Figure 2 is an exemplary flow chart of the steps performed by network 100 when performing dynamic Web-based content delivery, in accordance with methods consistent with the invention. The process begins when users located at client nodes 150 request a Web page from a Web server 110 located on network 140, using well known client side Web page accessing techniques. In response to the request, Web server 110 subsequently provides the requested page to the client nodes and browser software executing on each client node (Step S.200). A detailed description of an exemplary presentation process will be described below with reference to Figure 3.
Each user browses the Web page, and initiates user events by performing activities such as screen scrolling, mouse movements, page resizing, link selections, or any other similar user activity associated with page browsing. The user events are monitored, collected and stored in each respective client side data store 160 (Step S.210). In response to a client side trigger detected at each client node, the stored user events are subsequently returned to the Web server 110 and stored in data store 120. A detailed description of an exemplary data collection process will be described below with reference to Figure 5. Analytical program 115 retrieves the stored user event data, and performs analysis (e.g. for marketing or advertising purposes) on the stored user event data in relation to the served content (Step S.220). Upon completion of the market analysis, analytical program 115 may edit the content and content rules stored in data store 130. A detailed description of an exemplary analysis process will be described below with reference to Figure 6.
Upon detection of a subsequent request for the Web page from any client node 150, middleware program 112 applies the content rules and content updated in data store 130, adjusts the content associated with the requested Web page, and Web server 110 serves the page, with the adjusted content, back to the client nodes 150 requesting the page. Requesting client nodes 150 receive the Web page with the adjusted content and presents the page to respective users via the browser software executing at each respective client node. (Step S.230). A detailed description of an exemplary update process will be described below with reference to Figure 3.
The process illustrated in Figure 2 may continue in a closed loop enabling Web server 110 to perform dynamic market analysis on rendered content and perform automatic content modifications to test the effectiveness of the modified content.
Figure 3 is a flow chart of the presentation process described in Figure 2. The process begins with the content to be rendered and the rules associated with the content being initialized (Step S.310).
The provider governing the Web server determines the types of content it wishes to market. The content may be, for example, versions of financial products, such as credit cards, offered from a financial institution. The different credit card versions may include, for example, various percentage rates, physical types of cards offered (images printed on the face of the credit card), and introductory offers associated with each card.
The content may also include various versions of the information associated with each credit card offered by the financial institution. Figures 4A-4C show Web page rendering examples of alternate versions of content representing credit card offers from a financial institution. Figure 4A shows a Web page 400 displayed at a client node 150 via browser software. Web page 400 includes a first version 410 that shows first data that can describe customized information concerning one type of credit card available from the provider. First version 420 shows another credit card offered by the provider as well, while version 425 shows marketing information for another type of credit card. Figure 4B illustrates a second version 430 positioned in the same location as first version 410. Second version 430 represents alternate content associated with the same credit card solicitation associated with first version 410. Figure 4C illustrates a third version 440 positioned in the same location as first version 410. Third version 440 represents alternate content associated with the same credit card solicitation associated with first and second versions 410, 430.
Figures 4D-4F show further examples of a Web page rendering examples of alternate versions of content representing actual products offered by a provider, in this case wireless phones. Figure 4D illustrates Web page 400 displaying first versions, 450, 460 and 470, of wireless phones that can be purchased by the user from the provider. Figure 4E shows version 480, which is an alternate rendering of version 450. Figure 4F shows version 490, which is an alternate rendering of versions 450 and 480.
Thus, as can be seen from the examples of Figures 4A-4F, the content selected by a provider may represent a plurality of types of content, wherein the content itself may represent alternate products or renderings of existing products or services offered by the provider.
Returning to Figure 3, the defined rules associated with the content may include code that governs attribute information associated with existing content defined in Step S.310. These rules may govern, for example, frequency of the renderings of the content, color of the content, characteristics of multimedia files or links, and specific positioning or font of content rendered on Web page 400.
Figures 4G and 4H show the results of when the rules defined in data store 130 alter the position of the third version 440 described in Figure 4C. Referring to Figure 4C, third version 440 is shown at a first position "on top" of version 420. Figure 4G illustrates Web page 400 adjusted by rules governing position of content, in this case third version 440 is positioned below version 420. Figure 4H illustrates Web page 400 adjusted by rules governing position, in this case third version is positioned below version 425, and version 420 is positioned above version 425. Figures 41 and 4J show the results of when the rules defined in Step 410, alter the font style of Web page 400 rendered in Figure 4H. As can be seen, Figure 41 illustrates versions 420, 425 and 440 displayed in a font style different from that shown in Figure 4H, while Figure 4J illustrates the same three versions displayed in a font style different from that shown in Figures 4H and 41.
Accordingly, the content rules stored in data store 130 may be defined to alter the display of existing content by changing attributes, such as font and position These rules may be defined to alter these attributes in combination or individually, depending on the results of analytical program 115, which process the effectiveness of a particular rendering presented to users located at the client nodes 150.
As previously described, the rules and content defined by methods, systems and articles of manufacture consistent with the present invention are not limited to the above described examples, rather only by the specific providers marketing or advertising their respective products and services. That is, the disclosed invention maybe applied to a wide range of products and services which providers can solicit using a Web-based content delivery scheme.
Returning to Figure 3, once data store 130 has been initialized with content and content rules, the analytical program is checked to determine whether it has been programmed and set by analysis system 170 (Step S.320). Upon determining that analytical program 115 has not been programmed, analysis system 170 downloads code representing analytical program rules associated with performing market analysis on user response data (Step S.330). In an alternate embodiment of the present invention, Step S.330 may be performed to determine whether analytical program 115 needs to be updated with new analytical program rules by analysis system 170.
Analysis system 170 may be an outside analysis entity, generally associated with a provider governing Web server 110. Analysis system 170 may perform detailed market and advertising analysis, and predication statistical analysis on the effectiveness and proposed effectiveness of content rendered in Web pages provided by Web server 110. Analysis system 170 may also generate analytical program rules that enable analytical program 115 to automatically make decisions on the effectiveness of presented content, based on the collected user response data. For example, one type of analytical program rule may analyze the percentage of time a number of versions of a Web page that has been rendered by Web server 110, in relation to a proportional "click-through" percentage for each particular version. Based on this analysis, the analytical program rule may adjust the rendering time for the version with the highest "click-through" rate. This example may be illustrated as follows:
Analytical Program Rule :
If version N's "click-through" rate increases by 10% for testing period X, proportionally adjust rendering time of version N by 25%.
Table 1 : Content Version
Analytical program 115 analyzes the above collected information, recognizes that Version 2 in Table 1 meets the criteria for the defined rule, and adjusts the rendering time of Version 2 as shown below in Table 2.
Table 2: Content Version
As described, Analysis system 170 may generate a wide range of analytical program rules based on a large number of conditions. That is, the analytical program rules downloaded to analytical program 115 are not limited to the above example, and may include rules that govern attributes other than rendering time such as content attributes (i.e. font, color, position, URL highlighting etc.). Furthermore, analytical program rules may be include a combination of rules such that several content and Web page conditions are evaluated concurrently and multiple adjustments to the content may be executed. For example, in addition to the number of "click-throughs" being monitored and considered by the analytical program 115, the day of the week, or even the time of day, may also be considered. That is, user response data may indicate that a particular version is more popular on a weekend, or during selected hours of a day. Thus, a rule may include adjustments on rendering time based on not only "click-through" rate, but when the version is most popular. As described above, Version 2 may be rendered 58% of the time only on Saturdays, while version one is rendered 50% of the time on Mondays through Thursdays, from 6:00 P.M. to 10:00 P.M.
As can be seen, an endless number of combinations of user response data, and associated content adjustments may be incorporated into the analytical program rules executed by analytical program 115, and are not limited to the example described above.
Returning back to Figure 3, once the rules and content have been defined and analytical program has been programmed, the content and rales are stored in data store 130 (Step S.320). In an alternate embodiment of the invention, step S.320 may be performed after the content and content rules are defined in step S.310.
When a request for a Web page is received by Web server 110, middleware program 112 executes an algorithm to determine what content needs to be built into the Web page before it is served to the client. In one embodiment of the invention, for an initial request for a Web page (i.e. a page that has never been rendered by Web server 110), middleware program 112 may first determine the type of user generating the request. This may be performed by retrieving user identification information associated with the user requesting the Web page, using techniques well known in the art, such as cookies, and checking the identification information against a user profile resource. This process allows the user, or a group of users, to be associated with particular social, economic, educational and commercial interests. The process of utilizing user or group profiles for classifying users for target marketing is well known in the art, and the present invention can implement any number of these techniques, as long as the required user information is retrieved and is available for processing.
Upon determining the type of user initially requesting the Web page, middleware program 112 accesses data store 130 to determine the associated content to be served to the user, via the Web page. Middleware program 112 uses the user's identification and profile information to select available content alternatives stored in data store 130. The rules associated with the content in data store 130 are appended with the selected content, such that the rendering of the content is subject to the restrictions defined by its assigned content rules. Middleware program 112 applies the rales (Step S.330), and builds the content into the requested Web page and inventories the content for future analysis. The updated Web page is then served to the client node 150 where the user requesting the page is located. Client node 150 executes its browser application to present the updated Web page to the user (Step S.340).
In the event a request is received for a Web page that has already been served by Web server 110, middleware program 112 selects adjusted content and content rales based on results from the analytical program 115. The need for individual user profiling may be replaced with user group profiling. This process is associated with the analytical program 115 analyzing user response data and modifying the content and content rules stored in data store 130. As described above, middleware program 112 applies the content rules to the content and renders an adjusted Web page that is also used for subsequent market analysis.
Figure 5 is an exemplary flow chart of the data collection process described in Figure 2. The process begins with the initialization of client side data store 160 (Step S.510). This step makes sure that each client side data store 160 is empty and can receive new information. The requested Web page provided to the client node 150 from the Web server 110, includes an algorithm implemented using client side scripting, applets or other similar processing techniques, for storing the content rendered (Step S.520) into the client side data store 160. The algorithm further is implemented to store the content rules applied to the content (Step S.530), as well as any other information pertinent to the identification of the type of data rendered at the client node 150. Once the Web page is received and rendered at each client node 150, respective users "browse" the Web page, generating user activated events. These events may be associated with the user making link selections on the Web page to other pages, via URLs, mouse movements, screen scrolling, window resizing, or any other user initiated event. User behavior is monitored by capturing these events and storing them into client side data store 160 (Step S.540), using client side scripting, applets, or other similar processing techniques. For example, client side scripting languages such as JavaScript include commands that enable a program to recognize selected "events" performed by users. The client side script served to each client node by Web server 110, uses the client side script commands to collect detailed user response information. This process enables the present invention to recognize not only well known user events, such as "click-throughs", but whether selected content is actually in-view to the users. As the user generates the events, the client side data store 160 accumulates the event data dynamically.
The client side script may collect detailed event data by using commands well known in Web-based programming languages, such as Javascript and VBScript. For example, to detect a "mouseover" event, which is an event associated with detecting when a user's mouse pointer moves over a component of a Web page, client side Web-based programming commands are implemented to target selected components on the Web page. For instance, the target components may include, but are not limited to, an image, text, paragraph, hyperlinks or any attribute of a Web page. When a user's mouse pointer moves over a target component, the client side script recognizes this movement based on the execution of a command triggered by the mouse pointer's position over a targeted component. Subsequently, the client side script makes a record of the triggered event in the client side data store. Accordingly, the placement of a user's mouse over targeted components of a rendered Web page may be recognized by the client side script, and stored as user events for analysis by Web server 110.
To monitor the in-view feat res of the present invention, the client side script uses the well known Web-based programming commands to collect coordinate and size information related to the browser window, the Web-page rendered within the browser window and components rendered within the Web page. This information is collected and stored in client side data store 160, along with the other event data. A plurality of user browsing activities affect how the client side script, or Web server 110, determines whether a target component is actually viewable by a user. The activities may include, but are not limited to, scrolling and resizing browser windows. Activities such as these affect the position of the components and Web page rendered in the browser window. The size of the browser window must be taken into account as well, because a user may adjust the size of browser window while viewing the Web page. Figures 9A-9C illustrate an exemplary client side display that includes a Web page rendered within a browser window.
As shown in Figure 9A, a client side computer display 970 presents a couple of windows 972 and 974, representing applications running on a client node 150. Window 974 represents a Web browser application being executed at the client node 150, while window 972 represents any other software application that may be executing while the browser software is currently running. Window 974 includes a Web-page 976 and a target component 978, which is located on Web page 976. Target component 978 maybe associated with a number of different types of Web- page content as previously described. As can be seen in Figure 9A, Web page 976 and target component 978 are partially in view.
The partial view of Web page 976 and component 978 is better illustrated in Figure 9B. Figure 9B includes display 970, Web browser window 974, and target component 978 as shown in Figure 9A. Additionally, Figure 9B includes a representation of an unseen portion 980 of Web page 976, and an unseen portion 982 of target component 978. Figure 9B also includes values Wowser , Hawser, Ypι» Yp2, Yci, Yc2, Xpi, Xp2, Xci, Xc2, WComp0nent, and HCOmponent, which will be described in further detail later. In order for the client side script to determine whether a component is in view to a user, detailed positional information is collected and stored in client side data store 160.
The in view collection process begins when selected events occur, initiated by the user viewing the Web browser application at client node 150. The selected events may include, but are not limited to, scrolling or resizing of the browser, and loading of a Web page. The Client side script recognizes these triggers and begins to collect in view characteristic data. Coordinate information based on the position of the windows in display 970 are needed to determine the in view status of a target component. As shown in Figure 9B the center axis for a coordinate grid associated with Web based displays is located at the upper left hand corner of display 970. The coordinates (X, Y) for the center axis represented is (0, 0). Quadrant TV of the (X,Y) graph represents the positive axis quadrant for the (X, Y) axis represented in Figure 9B. That is, the X axis runs in positive values of pixels from left to right, starting at the center axis, and the Y axis run in positive values of pixels from top to bottom, starting at the center axis.
Once a selected event occurs, the client side script executes commands to calculate the coordinates of the top of Web page 976 that is viewable in browser window 974, and is represented by coordinates Yn and X_.
Coordinates Yp! and Xπ are represented in (X,Y) format as:
YPI = (YPIX YPIY)
For the exemplary illustration in Figure 9B, coordinate Yp! is determined using well known client side scripting commands. Coordinate Xp1 is unknown because of the size of window 974 and Web page 976 are dynamic based on user activities. However, because of the characteristics of the X,Y graph superimposed on display 970, the following conditions are known:
(P) YP2Y = Xp2Y
Accordingly, coordinate Xpty is known because of condition (C).
As shown in Figure 9B, portion 982 of component 978 is not viewable in Web page 976. User activities such as resizing windows and scrolling affect the in view portion of Web page 976 and component 978. Accordingly, to determine what are the actual in view portions of Web page 976 and component 978, the client side script executes known Web-based programming language commands to collect the known current height H rowser and width W rowser of browser window 974.
Once this information is generated, the client side script may now find the true viewable bottom coordinates Yp2 and XP2 and missing coordinate Xp\x of coordinate XP! of the viewable Web page in the viewable browser window 974.
Coordinates Yp2 and Xp2 are represented in (X,Y) fonnat as:
Yp2 and Xpix are generated by first performing a pair of functions that adds the current height of the browser window Hbro ser to the Y coordinate of coordinate Yp! and adds the current width W rowser to the X coordinate of coordinate Yp1; respectively. This is represented by functions (1) and (2) below:
(1) Yp2Y = Hbrowser + YpiY
(2) Xpix = Wbrowser + YpiX
Since the coordinates of YpL and X i and coordinate Yp2γ are now known, the rest of the coordinates for Yp2 and Xp2 can be calculated using conditions (A), (B) and (D).
Next, the client side script executes commands to calculate the coordinates of target component 978 within Web page 974. Coordinates Yd and XCι represent the coordinates of the top of component 978.
Coordinates Yci and Xci are represented in (X,Y) format as:
Since the component was generated in the Web page at Web server 110, the position of component 978 in relation to Web page 976 may be determined during client side scripting known in the art. For example, if it is known that the component is 100 pixels down from the top edge of Web page 976 and 100 pixels from the left edge of Web page 976, the actual coordinates of Yci of component 978 in relation to browser window 974, which is in relation to display 970, maybe calculated, as follows:
YCIY = YPIY +100
Since the design of the Web page is controlled by Web server 110, the dimensions of component 978, such as the height HCOmponent and width WCOmponent of component 978, may be determined using client side scripting known in the art. Once these values are determined, the bottom coordinates Yc2 and Xc_ and coordinate Xci of the target component in relation to browser window 974 maybe calculated.
Coordinates Yc2 and Xc2 are represented in (X,Y) format as:
It should be noted that because of the characteristics of the X,Y graph superimposed on display 970, the following conditions are known: (D) Ycιx = Yc2x
Using condition (G), XCIY is now known. Yc2 and Xcix may be calculated by performing functions (3) and (4) below:
(3) Yc2Y = HCOmponent + YciY
(4) XciX = Wcomponent + YciX Using conditions (D), (F) and (H), coordinates Yc2x, Xc2x and Xc2γ are now known.
Now that all of the coordinates shown in Figure 9B are calculated, the coordinates of target component 978 are compared to the coordinates of the viewable Web page rendered in the browser window 974 to determine whether the target component is entirely positioned in browser window 974. This enables the client side script to determine whether the target component is in full view or not. This comparison process may be performed a variety of ways, including checking X and Y coordinates of both the Web page and component.
In one embodiment of the invention, to detennine the Y bottom coordinate in view value of coordinate Yc2 of target component 978, client side script performs function (5):
(5) Yc2 bottom in view value " Yc2Y " Yp2Y
If Yc2 bottom in view value is equal to 0 or is a negative number, the component is in 100% full view within browser window 974.
To determine the X right side coordinate in view value of coordinate Xc2 of target component 978, client side script perfonns function (6):
(6) Xc2 right in view value = c2X " Xp2X
If Xc2 right in view value is equal to 0 or is a negative number, the component is in 100% full view within browser window 974.
To determine the Y top coordinate in view value of coordinate Yci of target component 978, client side script performs function (7):
(7) Yci top in view value = YciY " YpiY If Yci top in view value is equal to 0 or is a positive number, the component is in 100% full view within browser window 974.
To determine the X left side coordinate in view value of coordinate Xci of target component 978, client side script performs function (8):
(8) Xci left in view value = XciX " XpiX
If Xci left in iew value is equal to 0 or is apositive number, the component is in 100% full view within browser window 974.
As seen, the coordinates of the windows and components rendered in browser 974, are generated in relation to display 970, and the current position and size of browser window 974. As previously mentioned, there are a number of different ways in which the coordinate information may be analyzed to determine whether target components are in view or not, and are not limited by the above exemplary procedures.
In addition, client side script may utilize the coordinate information to determine the proportion of viewable components in relation to the web page 976. This may be done a variety of ways for each edge of the component, and may only be performed when it is determined using functions (5)-(8) that a portion of the component 978 is not in full view. For example, when determining the proportion of a component in view using the bottom coordinate of Web page 976, client side script may perform the following functions:
(9) Yproportion-bottom = ( Yp2Y "YciY ) / Hcornponent
Yproportion-bottom shows the ratio of the viewable Y coordinate portion (or height) of component 978 in relation to the total height of the component, for components bounded by the bottom coordinates of Web page 976.
(10) Yproportion-top = ( Yc2Y " YpiY ) / HCOmponent Yproportion-top shows the ratio of the viewable Y coordinate portion (or height) of component 978 in relation to the total height of the component, for components bounded by the top coordinates of Web page 976.
(11) Xproportion-right = ( Xpi " YciX ) / WCOmponent
Xproportion-right shows the ratio of the viewable X coordinate portion (or width) of component 978 in relation to the total width of the component, for components bounded by the right side coordinates of Web page 976.
(12) Xproportion-left = ( ciX " YpiX ) / WCOmponent
Xproportion-ieft shows the ratio of the viewable X coordinate portion (or width) of component 978 in relation to the total width of the component, for components bounded by the left side coordinates of Web page 976.
Functions (9)-(12) are ratio values, and maybe converted into percentage values that may not exceed 100%.
Figure 9C shows an exemplary block diagram of display 970 illustrated in Figure 9B. In Figure 9C, Web page 976 has been scrolled down, thus moving target component 978 further "up" on display 970. For exemplary purposes, Figure 9C includes coordinate information associated with coordinates Yp1? Yp2, Yci, Yc2,Xpι, Xp2, Xci, c2- However to better illustrate the in view process, the following example will follow the same process as described for Figure 9B.
After the client side script recognizes that the Web page has been scrolled, commands are executed to perform the operations previously described for Figure 9B, such as:
Ypi = (100,300), and using condition (C), it is determined that XPIY = 300;
Using known commands to collect the dimensions of Web page 976:
Wbrowser = 400; Hbrowser = 600;
Using functions (1) and (2):
(2) XP1X = 400 + 100 = 500;
Using conditions (A), (B) and (D), it is determined:
(D) Xp2Y = YP2Y = 900;
Collecting design information for component 978, it is determined that:
W component 2λJ\J,'
Using condition (G):
XCIY = YCIY = 500;
Using functions (3) and (4):
(3) Yc2Y = 200 + 500 = 700;
(4) Xcιx = 200 + 200 = 400;
Using conditions CD), (F) and (H):
(H) XC2γ = Yc2Y = 700;
Accordingly, all of the coordinates of component 978 have been calculated. To generate proportional in view infonnation, client side script may perform functions (5)- (8) as follows:
(5) NC2 bottom in view value = Yc2Y " Yp2Y = 700 - 900 = -200;
(6) Xc2 right in view value = Xc2X " Xp2X = 400 - 500 = -100;
(7) Yci top in view value = YC1Y " YpiY = 500 - 300 = 200;
(8) Xci left in view value = XciX " piX = 200 - 100 = 100;
Since functions (5) -(8) determine that component 978 is 100% in full view, proportional calculations do not need to be generated. However, if it is determined that a portion of component is not in view, the appropriate coordinate side would have a proportion calculation performed against it [i.e. functions (9)-(12)], to generate an in view percentage characteristic.
Accordingly, a number of different in view characteristic data may be generated using the coordinate information calculated by the client side script. In an alternate embodiment of the invention, client side script stores the coordinate information in data store 160, and when analytical program 112 receives this information, the above in view analysis may be performed at the Web server 110.
The in view data collected by the client side scripts may provide information such as data indicating whether content is actually viewable by respective users, mouse movements across a Web page, position of the Web page based on screen scrolling, length of time a mouse pointer is positioned in a determined location of the Web page, and a plurality of other "detailed" user behavior events associated with browsing. The potential for an enormous amount of user response data to be collected may be controlled by the programming of the client side script implemented by Web server 110. In other words, Web server 110 may be programmed to provide client side scripts that monitor general user response data, or numerous detailed user response data, depending upon the level of granularity of market analysis desired by the Web server. Once a client side trigger event occurs in a respective client node 150 (Step S.550), the information accumulated in client side data store 160 is ready for transmission to data store 120 and Web server 110 for processing. The client side trigger event may be associated with a plurality of customized events, including but not limited to, the client side data store 160 being filled up to a threshold limit, the browser being closed, or a user selecting another Web page. The provider of Web server 110 may determine the types of client side trigger events they wish to operate with, and have them programmed into the present invention's monitoring script.
The event data is sent back to Web server 110 by executing a routine associated with a URL appended to the Web page served at the client node 150. The Web page sent to the client node 150, includes a portion with a URL dedicated to the dynamic transmission of the collected data to Web server 110. The routine appends the collected user event data from the client data store 160, onto the dedicated URL. That portion of the Web page is dynamically reloaded, forcing the collected user event data to be sent to the Web server 110 (Step S.560). Upon receipt of the collected user event data, Web server 110 forwards it to data store 120 for storage. Thus, Web server 110 is continuously receiving user response data from each client node 150 being served by the Web server 110, giving the server continuous marketing information from which to base analysis of the content rendered to the client nodes 150.
Figure 6 is an exemplary flow chart of the analyze responses process described in Figure 2. The process begins when the collected user responses stored in data store 120 are accessed by Web server 110 (Step S.610). Analytical program 115 retrieves the collected user response data and initiates an analysis program including the analytical program rules received by analysis system 170 (Step S.620). Analytical program 115 determines whether the Web page rendered at each client node 150, with its associated content, needs adjustment based on the collected user response data. Analysis may include correlating predetermined threshold values with the user response data. That is, if the user response data indicates that particular content was viewable to a user for a certain amount of time, based on the in-view features of the user response collection operations performed by the client side scripts, that may indicate the user was viewing the content for that certain time frame. Accordingly, a threshold value associated with particular content, and the amount of time it was viewable, may be incorporated into the analytical program rales programmed into analytical program 115. Analytical processing may include comparing the threshold value with the collected user response data to make a determination whether the content or rules stored in data store 130 need adjustment. The correlation processing performed by analytical program 115 may be associated with a plurality of user events, such as link selections, scrolling, maximizing/minimizing windows. Analytical program 115 processes the results of the analyzed user response data, and updates the content rales, and/or content stored in data store 130, automatically.
As previously mentioned, a multitude of combinations of analytical program rules may be applied concurrently with the analysis of a plurality of user response data stored in data store 120. For example, consider a Web page rendered by Web server 110 including an application that requires users to fill out selected fields requesting information, such as a credit card application. For this example, user response data collected by each client side script may include information regarding whether or not a respective user finished completing the application. In the case of incomplete applications, the client side scripts may collect information indicating where in the application a user stopped entering data, where the user's mouse was located for a majority of the rendering time, whether the user scrolled up and down the application prior to and during data entry, and how long the user stayed at the page during data entry.
Further to the above-described example, the analytical program rales applied may be associated with each type of collected user response, such as a rale adjusting the color of a particular window within the application based upon the average position of the Web page in view to the users, or a rale adjusting the type of text or type of questions (fields) based upon the average rendering time of a particular portion of the application in-view to the users. The number of combinations of analytical program rules and associated user response data is extremely high and may be utilized by analytical program 115 and analysis system 170 when perfonning marketing analysis.
Upon completion of its analysis, analytical program 115 utilizes the collected response data and may apply a number of different rules associated with each response data characteristic, to determine what type of changes, if any, are needed to the content and content rales stored in data store 130 (Step S.630). Accordingly, the content rales and types of content maybe altered or added to data store 130.
The analysis performed by analytical program 115 may be performed periodically based upon predetermined conditions set by Web server 110. These conditions may include, but are not limited to, a predetermined clock cycle time and the data store 120 reaching a maximum data threshold.
Upon Web server 110 receiving a subsequent request for the Web page after analytical program 115 completes its analysis of the Web page, analytical program 115 determines whether automatic lift of the rendered content should occur, based upon the analyzed user response data, and information associated with the user located at client node 150 (Step S.640). Middleware program 112 applies the updated rules to the content if it is determined that a lift of the rendered content its needed.
Accordingly, Web server 110 may automatically adjust content rendered on the Web page previously rendered at client nodes 150. A provider controlling the Web server 110 may test the success of certain content or content rales on a customized and dynamic basis. That is, the provider of Web server 110 may program middleware program 112 to adjust the content to test new changes in attributes, or entirely new content, on an automatic basis using the content rales stored in data store 130 and the results of analytical program 115.
Once middleware program 112 analyzes the results of analytical program 115, and applies the rales stored in data store 130 to the content, the Web page is updated and Web server 110 serves the updated page to client nodes 150 requesting the page after analysis and modification of the page have been completed.
For example, consider users located at client nodes 150, viewing the Web page 400 shown in Figure 4C. Systems, methods and articles of manufacture consistent with the present invention would enable the system to monitor the users' behavior associated with Web page 400, collecting detailed information about the users' activities. In this case, assume a plurality of users viewing Web page 400 shown in Figure 4C, "clicks-through" on one of the links displayed on the left hand side of Web page 400, under PRODUCTS within ten seconds of Web page being rendered on the users' client node 150. The activities of the users selecting the PRODUCTS link is stored in each respective client side data store 160. Once the users have selected a link on Web page 400, a client side trigger event was initiated (defined for this example), and the collected user information, along with the collected rales and content information, is sent to Web server 110, and subsequently stored in data store 120.
Assume for this example, that the amount of time third version 440 was displayed was a criteria for analysis defined in the analytical program rales executed by analytical program 115. In the above example, the plurality of users monitored did not satisfy predefined conditions for a successful rendering of the third version 440, because as defined in the analytical program rules, within ten seconds the users "clicked-through" to another link and ignored versions 440, 420 and 425 displayed in the center of Web page 300. Accordingly, results reflecting this analysis would be generated by analytical program 115, and in response to the analysis results, analytical program 115 may redefine a content rule stored in data store 130. hi this case, data store 130 includes a plurality of sufficient predefined rales and content, and no changes are made to content rales stored data store 130.
Middleware program 112 analyzes the content and content rales applied to Web page 400, and applies the rales to the content based on the results from the analytical program 115. In this case, analytical program 115 determined that a change in version position is the appropriate test to initiate, and middleware program 112 applies a content rale to the content in Web page 400 to adjust the position of versions 440, 420 and 425. The content rules are applied and the position of the content is altered, as shown in Figure 4G, placing the third version 440 below version 420. Subsequently, when further requests for Web page 400 is received by Web server 400, the adjusted page shown in Figure 4G is presented in place of the original page shown in Figure 4C to the client nodes 150 requesting Web page 400.
The dynamic Web-based marketing operations are repeated, with user behavior being monitored at the adjusted Web page shown in Figure 4G, and the system determines from these new responses whether further adjustments are needed or not. As can be seen, a provider of a Web server may track an enormous amount of marketing information from each user accessing selected Web sites, and gain useful marketing data on the interests and dislikes of potential consumers. This may enable these providers to dynamically adjust their content solicited to the users in order to target them more effectively and to automatically test the effectiveness of the Web pages provided by the Web server.
As a result, the present invention allows providers to perform automatic dynamic market testing. Methods, systems and articles of manufacture consistent with present invention enable users located at client nodes 150, to not only be targeted for advertising, but to also utilize the users' response for evaluating the success of particular rendered content. The dynamic market analysis performed by analysis program 115 enable the server to automatically adjust served content based on responses from users, in a "real-time" and "hands-free" closed loop operation. This type of operation is an advantage over conventional Web-based marketing techniques that require either drastic or time consuming analysis and manual adjustments to rendered content.
In an alternate embodiment of the invention, the detailed user monitoring and collection implementations performed by methods, systems and articles of manufacture consistent with the present invention may be applied to advertisement and content billing management. Figure 7 is a flow chart of a content marketing process associated with the in-view features performed by Web server 110, in accordance with another aspect of the invention. In accordance with this aspect of the invention, Web server 110 may receive content from third party entities 180 to be included in a rendered Web page by Web server 110. The content received may include content as previously described, including advertisement objects. In one embodiment of the invention, third party entities 180 may provide Web server 110 with an identifier, such as a URL, to be included in a rendered Web page instead of content. In this embodiment, third party entities 180 control the type of content to be included in a rendered Web page, by enabling the URL to link to the third party entity 180 where the content is created and sent to Web server 110.
Third party entities 180 may incorporate Web server 110's services by sending requests to Web server 110 for including third party content into a Web page provided by Web server 110 (Step S.710). In another embodiment, third party entities 180 may contact the provider of Web server 110 in order to incorporate the services provided by Web server 110. Third party entities 180 may communicate with the provider of Web server 110 using any known communications means available in the art, such as telephonic communications, electronic mail and postal services. In any event, the provider of Web server 110 is made aware of the services desired by third party entities 180 either through network 140, or through some other means, as mentioned above.
Once a request is received, Web server 110 sets-up a billing account for each third party entity 180 that sent a request (Step S.720). A billing account may describe how a third party entity 180 may be charged for particular renderings of third party content within a Web page served by Web server 110. Utilizing the detailed features of the in-view analysis described previously, Web server 110 may diversify its third party content fees based on whether particular content was actually viewable by a user browsing the Web page served by Web server 110. For instance, Web server 110 may charge a third party entity 180 a certain fee only when an in-view analysis of the user response data indicates that the third party entity's content was actually viewable to a user. This fee may be altered based on whether the third party content was fully in- view or partially in-view. For example, consider the Web page 400 illustrated in Figure 4A. Window 425 is in partial view, while window 420 is in full view. Assume for purposes of this example that windows 420 and 425 are advertisement content provided by a third party entity 180 to be displayed in Web page 300. Web server 110 may charge the third party entity 180 a fee of "$ X" for window 420 being displayed while only charging "$ _ X" for window 425. Furthermore, Web server 110 may not charge any fee for content or components not at viewable by a user.
Moreover, Web server 110 may provide fee options based on every in-view rendering of a third party content, or a "flat" fee for a certain number of viewable renderings. For example, a third party entity 180 may pay a predetermined fee for 5,000 "viewable" renderings of its provided content on a Web page served by Web server 110. In this case, Web server 110 would keep track of the number of in-view renderings of the provided third party content, and continue to render the provided content until the threshold of 5,000 viewable renderings has been reached. Further to this example, Web server 110 may provide a fee option that charges third party entities 180 additional fees every time a "click-through" occurs on a link included in the third party content. Accordingly, Web server 110 may provide attractive fee options from which third party entities 180 may chose from, thus ensuring servers 180 are paying for advertisements or content that are actually being seen by users. These fee options may include a plurality of charging options associated with a user's behavior on a Web page and are not limited to the examples described above.
Referring back to Figure 7, once a billing account has been created for the third party entity 180, an option for enrolling in a content effectiveness service is provided by Web server 110, and billing program 113 (Step S.730). A content effectiveness plan (CEP) allows Web server 110 to provide third party entities proposed information on the effectiveness of the third party content, based on the analysis performed by analytical program 115. That is, Web server 110 may generate a report including proposed statistical information regarding the results of the analytical program 115 directed toward the third party content included in a rendered Web page. For a predetermined fee, third party entities 180 may benefit from the automatic analysis features performed by Web server 110, by receiving detailed reports regarding the activities associated with the content they provided for rendering to Web server 110. For example, Web server 110 may send a third party entity 180, enrolled in the CEP, a report depicting user activity associated with their provided content, and provide suggested changes to the content based on analysis performed by the analytical program 115. Such changes may include changing the color, font, multimedia features, position and any other modifications that may result in increased activity for the rendered content.
Once a third party entity agrees to enroll in a CEP, a plan is set up (Step S.740) by Web server 110. Upon completion of CEP set-up or a third party entity 180 decides not to enroll in a CEP, the third party entity 180 sends content to be rendered to Web server 110, and it is stored in data store 130 (Step S.750). Web server 110 may create billing accounts from a plurality of third party entities, and incorporate content from the plurality of third party entities into a Web page. Web server 110 generates a predetermined Web page, retrieves the third party content stored in data store 130, along with other content it will include in the page, and serves the Web page to the client nodes 150 requesting the page (Step S.760). In another embodiment, as described previously, the content provided by a third party entity 180 may be a URL that links back to the respective third party entity 180, where the desired content is provided to Web server 110. As described previously, client nodes 150 monitor and collect detailed user activity in client side data store 160, including the in-view activities. Upon encountering a client side trigger event, client nodes 150 send the collected user response data to Web server 110 for storage into data store 120 (Step S.770).
Figure 8 is a flow chart of a content marketing and billing process associated with the in-view features performed by Web server 110, in accordance with another aspect of the invention. Once Web server 110 has received the collected user responses, analytical program 115 retrieves the collected information for analysis (Step S.810), as described above with reference to Figure 6. However, in accordance with an aspect of the invention, Web server 110 recognizes when third party content was included in the rendered Web page and in response to this determination performs additional in-view analysis specifically for the third party content. This analysis includes determining the in-view characteristics of each third party content (Step S.820). That is, analytical program 115 may determine the number of times each third party content was in-view or partially in-view on each rendering of the Web page. Utilizing the results of the in-view analysis performed by analytical program 115, billing program 113 generates a billing record associated with each third party entity 180 (Step S.830). The billing record includes billing account information on the types of fees charged to each respective third party entity based on the billing account set up by the third party entity 180.
Once a billing record has been generated, Web server 110 determines whether a third party entity is enrolled in a CEP (Step S.840), and if so a content effectiveness record (CER) is created and appended to the billing record (Step S.850). A content effectiveness record is a record that includes the content effectiveness report described earlier with reference to Figure 7. Analytical program 115 analyzes the in-view user response data, along with the other user response data collected and stored in data store 120, to generate proposed modifications to the third party content, just as content and content rales are modified with respect to the operations described in Figure 6. Billing program 113 utilizes the results from this analysis and generates the CER. The CER may also include the collected user event data associated with the third party content. This may be provided in a table or list indicating an aggregated number of user responses associated with predetermined activity fields. For example, in one embodiment, a CER for a third party entity having three versions of a content included in the Web page may include user activity data, as shown in Table 3.
As shown in the example above, a CER may provide each third party entity 180 with information on the effectiveness of several versions of content provided by a third party entity. In Table 3, Version 1 of the content is in a position in the Web page that receives a large proportion of viewable rendering time. Specifically, in this example Version 1 is completely viewable on the average, 78% of the time the Web page is rendered on the users' client nodes, while on the average 84% of the actual content of Version 1 is viewable. Analytical program 115 utilizes the detailed user response data from each client node receiving the Web page, and computes in-view statistics, such as described above, in order to provide the third party entities with useful marketing analysis information. The types of statistical information computed and provided by Web server 110 may vary, and are not limited to the examples described above. The CER may also include suggestions on changes to the contents based on the information computed by the analytical program 115. Such changes may include changing the color, font, multimedia features, rendering time, position and any other modifications that may result in increased activity for the rendered content. Suggestions within the CER may include eliminating a version of content entirely as well. For example, referring to Table 1, Version 3 may need to change its position based on the statistic of being 100% viewable on the average only 15% of the Web page's rendering time. Accordingly, analytical program 115 may suggest to position the content further up on the Web page to make it more accessible by users. As described, analytical program 115 may generate a plurality of suggestions based on the collected user response data, and are not limited to the examples described above.
On the other hand, if a third party entity 180 is providing the content through an identifier, such as a URL, Web server 110 will not know what type of content is provided. In this case, Web server 110 would provide statistical information regarding the in-view characteristics of the third party entity's content, and enable the entity to utilize the information for determining whether changes are needed in their content.
Returning back to Figure 8, once the billing record is created, and a CER is included if needed, the billing record is sent to each third party entity 180 for billing (Step S.860). Billing program 113 may send the billing records periodically, wherein the frequency of delivery may be determined by each third party entity, or the billing records may be sent in response to a server side trigger, such as a subsequent request for the Web page including the third party content. The billing record delivery features may include a variety of options and are not limited by the examples listed above. For instance, billing record or statistical information, may be sent to third party entities without the use of network 140. In this case, any other well known means of communications may be implemented to deliver the reports to the third party entity. That is, the provider of Web server 110 would enable the reports to be created in a medium consistent with a third party entity's needs, and deliver the reports accordingly. For example, if postal services are being implemented, the reports created by Web server 110 would be put in hard copy form and mailed to the appropriate third party entity 180. In an alternate embodiment of the invention, a third party entity's CEP may arrange for Web server 110 to perform an automatic update to the third party content using the analytical program rales described above with reference to Figure 6. Thus, Web server 110 would be employed by the third party entity 180 to determine modifications needed for increasing the effectiveness of the third party content, and implement the changes automatically. In this case, the CER would indicate to the third party entity the changes implemented by the Web server, and the results of the changes based on the analysis by the analytical program 112.
As described, methods, systems and articles of manufacture consistent with the present invention enable a Web server the tools to provide Web content provision for third party entities while incorporating a detailed, equitable and attractive billing process that ensure the third party entities are delivered services they pay fees for. In addition to customized content billing, methods, systems and articles of manufacture consistent with the present invention also provide the third party entities proposed effectiveness reports and suggestions for increasing the effectiveness of the third party content rendered by the Web server. Thus, third party entities may utilize the advantages of the analysis performed by methods, systems and articles of manufacture consistent with the present invention to adjust the third party content to better target users.
The foregoing description of an implementation of the invention has been presented for purposes of illustration and description. It is not exhaustive and does not limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practicing of the invention. For example, the described implementation includes software but the present invention may be implemented as a combination of hardware and software or in hardware alone. The invention may be implemented with both object-oriented and non-object-oriented programming systems. Additionally, although aspects of the present invention are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or CD-ROM; a carrier wave from the Internet or other propagation medium; or other forms of RAM or ROM. The scope of the invention is defined by the claims and their equivalents.

Claims

WHAT IS CLAIMED IS:
1. A method for performing dynamic Web-based in-view monitoring, the method comprising the steps of: presenting a Web page including content to a plurality of users; collecting, for each user, user initiated responses to the content; analyzing the user initiated responses that are collected to determine user in- view characteristics; generating billing records based on the analysis of the user initiated responses; and sending the billing records to at least one of a plurality of third party entities.
2. The method of claim 1 , wherein the content includes a plurality of third party content and wherein presenting the Web page including the content further includes receiving each third party content from a respective third party entity included in the plurality of third party entities.
3. The method of claim 2, wherein the billing records include a plurality of third party billing records, each third party billing record is associated with a respective third party content, and wherein the step of sending the billing records includes sending each third party billing record to a respective third party entity included in the plurality of third party entities.
4. The method of claim 1 , wherein the step of generating billing records includes: generating a content effectiveness record associated with the content; and appending the content effectiveness record to at least one of the billing records, wherein the content effectiveness record includes data reflecting the effectiveness of the content based on the analysis of the user initiated responses.
5. The method of claim 4, wherein the content effectiveness record includes information associated with user in-view characteristics relating to the content.
6. The method of claim 5, wherein the user in-view characteristics includes information reflecting whether the content was viewable or partially viewable by a user.
7. The method of claim 6, wherein the user in-view characteristics include information associated with at least one of user mouse position data, user screen scrolling position data and time data associated with the mouse position and screen scrolling position data.
8. The method of claim 4, wherein the content effectiveness record includes a report indicating a plurality of user activities associated with the content and information indicating proposed changes to the content based on the user activities.
9. The method of claim 8, wherein the proposed changes includes suggestions to modify selected attributes of the content.
10. The method of claim 9, wherein the selected attributes include at least one of color, font, position, rendering time, and multimedia characteristics.
11. The method of claim 1 , wherein the collecting step further includes collecting, for each user, in-view response data reflecting whether the content was viewable or partially viewable to each respective user.
12. The method of claim 11, wherein the in-view response data includes at least one of mouse position information, screen scrolling position and time data associated with mouse position and screen scrolling position.
13. The method of claim 1 , wherein the collecting step further includes collecting, for each user, non-activated in-view response data reflecting whether the content was viewable or partially viewable to each respective user, wherein the non- activated in-view response data is user response data that is not associated with a user activating a button, icon or hyperlink on the Web page.
14. A system for performing dynamic Web-based marketing, the system comprising: a Web server for providing a Web page over a network, wherein the Web page includes content; a plurality of third party nodes connected to the network; a first plurality of users, each user located at a respective client node, for requesting and viewing the content in the Web page provided by the Web server, wherein each client node is connected to the Web server through the network; a first client side program, executed at each client node, for collecting user response data associated with the content in the Web page provided to each client node, and sending the collected user response data to the first server side data store via the Web server as event data, wherein the user response data includes user in-view characteristic data related to the content; and an analytical program, executing in the Web server, for analyzing the event data, including the user in-view characteristic data, and producing result data in response to the analysis of the event data, wherein the result data is based on at least the analysis of the user in-view characteristic data.
15. The system of claim 14, further comprising a billing program, executing in the Web server, for receiving the content from at least one of the plurality of third party nodes, generating billing records based on the analysis of the event data and sending the billing records to at least one of the plurality of third party nodes.
16. The system of claim 15, wherein the content includes a plurality of third party content, each third party content associated with a respective one of the plurality of third party nodes, and wherein the billing records include a plurality of third party billing records, each third party billing record associated with a respective third party content, and wherein sending the billing records by the billing program further includes sending each third party billing record to a respective third party node.
17. The system of claim 14, wherein generating billing records further includes generating a content effectiveness record associated with the content, and wherein the middleware program appends the content effectiveness record to at least one of the billing records, wherein the content effectiveness record includes data reflecting the effectiveness of the content based on the analysis of the user initiated responses.
18. The system of claim 17, wherein the content effectiveness record includes information associated with the user in-view characteristic data related to the content.
19. The system of claim 18, wherein the user in-view characteristic data includes information reflecting whether the content was viewable or partially viewable by a user.
20. The system of claim 19, wherein the user in-view characteristic data include information associated with at least one of user mouse position data, user screen scrolling position data and time data associated with the mouse position and screen scrolling position data.
21. The system of claim 17, wherein the content effectiveness record includes a report indicating a plurality of user activities associated with the content and information indicating proposed changes to the content based on the user activities.
22. The system of claim 21 , wherein the proposed changes includes suggestions to modify selected attributes of the content.
23. The system of claim 22, wherein the selected attributes include attributes associated with at least one of document structure, wireless card structure, titles, headings, paragraphs, lines, lists, tables, links, graphics, objects, multimedia, scripts, forms, frames, colors, wording, size, positioning, background properties, border properties, font properties and text properties.
24. The system of claim 15, wherein the user in-view characteristic data includes information reflecting whether the content was viewable or partially viewable by a user.
25. The system of claim 24, wherein the information reflecting whether the content was viewable or partially viewable includes at least one of mouse position information, screen scrolling position information and time data associated with mouse position and screen scrolling position.
26. The system of claim 15, wherein collecting user response data by the client side program further includes collecting, for each user, non-activated user in- view response data reflecting whether the content was viewable or partially viewable to each respective user, wherein the non-activated user in-view response data is user response data that is not associated with a user activating a button, icon or hyperlink on the Web page.
27. A computer-readable medium containing instructions for performing dynamic Web-based marketing, when executed by a processor, the method comprising the steps of: presenting a Web page including content to a first plurality of users; collecting, for each user, initiated responses to the content, wherein the initiated responses include user in-view characteristic data; analyzing the user initiated responses that are collected to determine user in- view characteristic response data; generating billing records based on the analysis of the user initiated responses; and sending the billing records to at least one of a plurality of third party entities.
28. The computer-readable medium of claim 27, wherein the content includes a plurality of third party content and wherein presenting the Web page including the content to the a first plurality of users further includes receiving each third party content from a respective third party entity included in the plurality of third party entities.
29. The computer-readable medium of claim 28, wherein the billing records include a plurality of third party billing records, each third party billing record associated with a respective third party content, and wherein the step of sending the billing records further includes sending each third party billing record to a respective third party entity included in the plurality of third party entities.
30. The computer-readable medium of claim 27, wherein the step of generating billing records further includes: generating a content effectiveness record associated with the content; and appending the content effectiveness record to at least one of the billing records, wherein the content effectiveness record includes data reflecting the effectiveness of the content based on the analysis of the user initiated responses.
31. The computer-readable medium of claim 27, wherein the content effectiveness record includes information associated with the user in-view characteristic data relating to the content.
32. The computer-readable medium of claim 31 , wherein the user in-view characteristic data includes information reflecting whether the content was viewable or partially viewable by a user.
33. The computer-readable medium of claim 32, wherein the information reflecting whether the content was viewable or partially viewable includes at least one of user mouse position data, user screen scrolling position data and time data associated with the mouse position and screen scrolling position data.
34. The computer-readable medium of claim 30, wherein the content effectiveness record includes a report indicating a plurality of user activities associated with the content, including the in-view characteristic data, and information indicating proposed changes to the content based on the user activities.
35. The computer-readable medium of claim 34, wherein the proposed changes includes suggestions to modify selected attributes of the content.
36. The computer-readable medium of claim 35, wherein the selected attributes are associated with at least one of document structure, wireless card structure, titles, headings, paragraphs, lines, lists, tables, links, graphics, objects, multimedia, scripts, forms, frames, colors, wording, size, positioning, background properties, border properties, font properties and text properties.
37. The computer-readable medium of claim 27, wherein the user in-view characteristic data reflects whether the content was viewable or partially viewable to each respective user.
38. The computer-readable medium of claim 37, wherein the in-view characteristic data includes at least one of mouse position information, screen scrolling position and time data associated with mouse position and screen scrolling position.
39. The computer-readable medium of claim 27, wherein the collecting step further includes collecting, for each user, non-activated user in-view response data reflecting whether the content was viewable or partially viewable to each respective user, wherein the non-activated user in-view response data is user response data that is not associated with a user activating a button, icon or hyperlink on the Web page.
40. A method for performing dynamic Web-based in-view monitoring, the method comprising the steps of: appending a client side routine to a Web page provided by a Web server, wherein the Web page includes content data; sending the Web page to a plurality of client nodes; and displaying the Web page to a plurality of users located at respective client nodes, and in response to the Web page being displayed to each user, each client node initiating the client side routine to perform the steps of: detecting in-view user activities associated with each respective user browsing the Web page, wherein the in-view user activities are associated with in-view response data reflecting whether or not the content data was viewable to each respective user; collecting data reflecting the in-view user activities; detecting a client side trigger event; and sending the collected data to the Web server in response to the detected client side trigger event.
41. The method of claim 40, wherein the in-view user activities includes at least one of mouse pointer movements, screen scrolling, hyperlink selections, icon selections, data entry, time data associated with mouse pointer position, time data associated with content position and time data associated with screen scrolling.
42. The method of claim 40, wherein the in-view user activities includes non-activated in-view response data reflecting whether the content data was viewable or partially viewable to each respective user, wherein the non-activated in-view response data is user response data that is not associated with a user activating a button, icon or hyperlink on the Web page.
43. The method of claim 40, wherein the client side routine is appended to a URL placed on the Web page.
44. The method of claim 40, wherein the collected data is stored in a client side data store and each client side trigger event is associated with each respective client side data store being filled with the collected data above a predetermined threshold level.
45. The method of claim 40, wherein each client side trigger event is associated with a respective user closing a browser application executing at a respective client node.
46. The method of claim 40, wherein each client side trigger event is associated with a respective user, located at a respective client node, selecting a URL displayed on the Web page.
47. The method of claim 40, wherein the collected data reflecting the in- view user activities includes information indicating the proportion of content actually viewable to a respective user.
48. The method of claim 40, further comprising the steps of: analyzing the collected data at the Web server; generating billing records based on the analysis of the collected data; and sending the billing records to at least one of a plurality of third party nodes.
49. The method of claim 48, wherein the content data includes a plurality of tliird party content data, and wherein each third party content data is provided by a respective one of the plurality of third party nodes.
50. The method of claim 40, wherein the in-view user activities are mouse pointer position data.
51. A system for performing dynamic Web-based analysis, the system comprising: means for sending a Web page provided by a Web server to a plurality of client nodes, wherein the Web page includes content data; means for displaying the Web page to a plurality of users located at respective client nodes;: means for detecting in-view user activities associated with each respective user browsing the Web page, wherein the in-view user activities are associated with in-view response data reflecting whether or not the content data was viewable to each respective user; means for collecting data reflecting the in-view user activities; means for detecting a client side trigger event; and means for sending the collected data to the Web server in response to the detected client side trigger event.
52. The system of claim 51, wherein the in-view user activities includes at least one of mouse pointer movements, screen scrolling, hyperlink selections, icon selections, data entry, time data associated with mouse pointer position, time data associated with content position and time data associated with screen scrolling.
53. The system of claim 51 , wherein the in-view user activities includes non-activated in-view response data reflecting whether the content data was viewable or partially viewable to each respective user, and wherein the non-activated in-view response data is user response data that is not associated with a user activating a button, icon or hyperlink on the Web page.
54. The system of claim 51 , wherein the means for detecting in-view user activities, means for collecting, means for detecting a client side trigger event and means for sending are all included in a client side routine that is appended to a URL placed on the Web page.
55. The system of claim 51 , wherein the collected data is stored in a client side data store and each client side trigger event is associated with each respective client side data store being filled with the collected data above a predetermined threshold level.
56. The system of claim 51, wherein each client side trigger event is associated with a respective user closing a browser application executing at a respective client node.
57. The system of claim 51 , wherein each client side trigger event is associated with a respective user, located at a respective client node, selecting a URL displayed on the Web page.
58. The system of claim 51 , wherein the data reflecting the in-view user activities includes information indicating the proportion of content actually viewable to a respective user.
59. The system of claim 51 , further comprising: means for analyzing the collected data; means for generating billing records based on the analysis of the collected data; and means for sending the billing records to at least one of a plurality of third party nodes.
60. The system of claim 59, wherein the content data includes a plurality of third party content data, and wherein each third party content data is provided by a respective one of the plurality of third party nodes.
61. The system of claim 51 , wherein the in-view user activities are mouse pointer position data.
62. A computer-readable medium for performing dynamic Web-based in- view monitoring, the method comprising the steps of: appending a client side routine to a Web page provided by a Web server, wherein the Web page includes content data; sending the Web page to a plurality of client nodes; and displaying the Web page to a plurality of users located at respective client nodes, and in response to the Web page being displayed to each user, each client node initiating the client side routine to perform the steps of: detecting in-view user activities associated with each respective user browsing the Web page, wherein the in-view user activities are associated with in-view response data reflecting whether or not the content data was viewable to each respective user; collecting data reflecting the in-view user activities; detecting a client side trigger event; and sending the collected data to the Web server in response to the detected client side trigger event.
63. The computer-readable medium of claim 62, wherein the in-view user activities includes at least one of mouse pointer movements, screen scrolling, hyperlink selections, icon selections, data entry, time data associated with mouse pointer position, time data associated with content position and time data associated with screen scrolling.
64. The computer-readable medium of claim 62, wherein the in-view user activities includes non-activated in-view response data reflecting whether the content data was viewable or partially viewable to each respective user, wherein the non- activated in-view response data is user response data that is not associated with a user activating a button, icon or hyperlink on the Web page.
65. The computer-readable medium of claim 62, wherein the client side routine is appended to a URL placed on the Web page.
66. The computer-readable medium of claim 62, wherein the collected data is stored in a client side data store and each client side trigger event is associated with each respective client side data store being filled with the collected data above a predetermined threshold level.
67. The computer-readable medium of claim 62, wherein each client side trigger event is associated with a respective user closing a browser application executing at a respective client node.
68. The computer-readable medium of claim 62, wherein each client side trigger event is associated with a respective user, located at a respective client node, selecting a URL displayed on the Web page.
69. The computer-readable medium of claim 62, wherein the data reflecting the in-view user activities includes information indicating the proportion of content actually viewable to a respective user.
70. The computer-readable medium of claim 62, further comprising the steps of: analyzing the collected data at the Web server; generating billing records based on the analysis of the collected data; and sending the billing records to at least one of a plurality of third party nodes.
71. The computer-readable medium of claim 70, wherein the content data includes a plurality of third party content data, and wherein each third party content data is provided by a respective one of the plurality of third party nodes.
72. The computer-readable medium of claim 62, wherein the in-view user activities are mouse pointer position data.
EP01967581A 2000-09-12 2001-09-12 System and method for performing web based in-view monitoring Withdrawn EP1381982A4 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US660495 1984-10-12
US09/660,495 US7567916B1 (en) 2000-09-12 2000-09-12 System and method for performing Web based in-view monitoring
PCT/IB2001/001654 WO2002023304A2 (en) 2000-09-12 2001-09-12 System and method for performing web based in-view monitoring

Publications (2)

Publication Number Publication Date
EP1381982A2 EP1381982A2 (en) 2004-01-21
EP1381982A4 true EP1381982A4 (en) 2004-11-17

Family

ID=24649767

Family Applications (1)

Application Number Title Priority Date Filing Date
EP01967581A Withdrawn EP1381982A4 (en) 2000-09-12 2001-09-12 System and method for performing web based in-view monitoring

Country Status (6)

Country Link
US (3) US7567916B1 (en)
EP (1) EP1381982A4 (en)
AU (1) AU2001287953A1 (en)
CA (1) CA2425140A1 (en)
WO (1) WO2002023304A2 (en)
ZA (1) ZA200302756B (en)

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE0102210L (en) * 2001-06-21 2003-02-12 Anoto Ab Program control procedure
US6986018B2 (en) 2001-06-26 2006-01-10 Microsoft Corporation Method and apparatus for selecting cache and proxy policy
US6990497B2 (en) 2001-06-26 2006-01-24 Microsoft Corporation Dynamic streaming media management
US7076478B2 (en) * 2001-06-26 2006-07-11 Microsoft Corporation Wrapper playlists on streaming media services
US10296919B2 (en) 2002-03-07 2019-05-21 Comscore, Inc. System and method of a click event data collection platform
US8095589B2 (en) * 2002-03-07 2012-01-10 Compete, Inc. Clickstream analysis methods and systems
US7000184B2 (en) * 2003-01-24 2006-02-14 The Cobalt Group, Inc. Remote web site editing in a standard web browser without external software
US20040158579A1 (en) * 2003-02-12 2004-08-12 Palamalai Gopalakrishnan Server side play-list
US8600920B2 (en) 2003-11-28 2013-12-03 World Assets Consulting Ag, Llc Affinity propagation in adaptive network-based systems
US7526459B2 (en) 2003-11-28 2009-04-28 Manyworlds, Inc. Adaptive social and process network systems
US7539652B2 (en) 2003-11-28 2009-05-26 Manyworlds, Inc. Adaptive self-modifying and recombinant systems
US7526464B2 (en) * 2003-11-28 2009-04-28 Manyworlds, Inc. Adaptive fuzzy network system and method
US8566263B2 (en) * 2003-11-28 2013-10-22 World Assets Consulting Ag, Llc Adaptive computer-based personalities
US7526458B2 (en) 2003-11-28 2009-04-28 Manyworlds, Inc. Adaptive recommendations systems
USRE45770E1 (en) 2003-11-28 2015-10-20 World Assets Consulting Ag, Llc Adaptive recommendation explanations
US7606772B2 (en) 2003-11-28 2009-10-20 Manyworlds, Inc. Adaptive social computing methods
US20090018918A1 (en) 2004-11-04 2009-01-15 Manyworlds Inc. Influence-based Social Network Advertising
US20050182666A1 (en) * 2004-02-13 2005-08-18 Perry Timothy P.J. Method and system for electronically routing and processing information
US7320003B2 (en) * 2004-02-13 2008-01-15 Genworth Financial, Inc. Method and system for storing and retrieving document data using a markup language string and a serialized string
US7698159B2 (en) 2004-02-13 2010-04-13 Genworth Financial Inc. Systems and methods for performing data collection
US20060064339A1 (en) * 2004-09-13 2006-03-23 Technology Transfer Office, Brigham Young University Methods and systems for conducting internet marketing experiments
CN100444553C (en) * 2004-11-10 2008-12-17 英业达股份有限公司 System for controlling Internet web update utilizing intermediate control layer and method thereof
JP2006208692A (en) * 2005-01-27 2006-08-10 Shigeo Maruyama Method of distributing music, and device
US9002725B1 (en) 2005-04-20 2015-04-07 Google Inc. System and method for targeting information based on message content
EP1896979A4 (en) * 2005-06-02 2010-07-28 Genius Com Inc Deep clickflow tracking
TWI431492B (en) * 2005-06-14 2014-03-21 Koninkl Philips Electronics Nv Data processing method and system
ATE548842T1 (en) * 2005-07-27 2012-03-15 Sap Ag SERVER COMPUTER, CLIENT SETUP AND WEB SERVICE IMPLEMENTED DATA PROCESSING METHOD
US7475075B2 (en) * 2005-09-09 2009-01-06 Microsoft Corporation Integration rich client views in server presentations
US7949714B1 (en) 2005-12-05 2011-05-24 Google Inc. System and method for targeting advertisements or other information using user geographical information
US8601004B1 (en) * 2005-12-06 2013-12-03 Google Inc. System and method for targeting information items based on popularities of the information items
US11004090B2 (en) 2005-12-24 2021-05-11 Rich Media Club, Llc System and method for creation, distribution and tracking of advertising via electronic networks
US11468453B2 (en) 2005-12-24 2022-10-11 Rich Media Club, Llc System and method for creation, distribution and tracking of advertising via electronic networks
US20100153836A1 (en) * 2008-12-16 2010-06-17 Rich Media Club, Llc Content rendering control system and method
US11412088B1 (en) 2006-03-27 2022-08-09 The Travelers Indemnity Company Methods, systems, and apparatus for connecting insurance customers with independent insurance agents
US7966557B2 (en) 2006-03-29 2011-06-21 Amazon Technologies, Inc. Generating image-based reflowable files for rendering on various sized displays
US7941525B1 (en) * 2006-04-01 2011-05-10 ClickTale, Ltd. Method and system for monitoring an activity of a user
US8543457B2 (en) * 2006-05-23 2013-09-24 Stb Enterprises, Llc Method for dynamically building documents based on observed internet activity
WO2007147080A1 (en) 2006-06-16 2007-12-21 Almondnet, Inc. Media properties selection method and system based on expected profit from profile-based ad delivery
WO2008005305A2 (en) 2006-06-29 2008-01-10 Cie Studios Press release distribution system
US8255489B2 (en) * 2006-08-18 2012-08-28 Akamai Technologies, Inc. Method of data collection among participating content providers in a distributed network
US20080052629A1 (en) * 2006-08-26 2008-02-28 Adknowledge, Inc. Methods and systems for monitoring time on a web site and detecting click validity
US7810026B1 (en) 2006-09-29 2010-10-05 Amazon Technologies, Inc. Optimizing typographical content for transmission and display
US7644315B2 (en) * 2006-10-30 2010-01-05 Google Inc. Diagnostics and error reporting for common tagging issues
US8024453B2 (en) * 2006-11-17 2011-09-20 International Business Machines Corporation Monitoring performance of dynamic web content applications
US8126766B2 (en) * 2006-11-29 2012-02-28 Yahoo! Inc. Interactive user interface for collecting and processing nomenclature and placement metrics for website design
CN101192227B (en) * 2006-11-30 2011-05-25 阿里巴巴集团控股有限公司 Log file analytical method and system based on distributed type computing network
WO2008111048A2 (en) * 2007-03-09 2008-09-18 Ghost, Inc. System and method for browser within a web site and proxy server
US7818419B1 (en) * 2007-03-30 2010-10-19 Amazon Technologies, Inc. Monitoring user consumption of content
US8775603B2 (en) * 2007-05-04 2014-07-08 Sitespect, Inc. Method and system for testing variations of website content
US8103967B2 (en) * 2007-08-31 2012-01-24 Microsoft Corporation Generating and organizing references to online content
US8527868B2 (en) * 2008-02-22 2013-09-03 International Business Machines Corporation Systems and methods for document annotation
US20100005403A1 (en) * 2008-07-02 2010-01-07 Rozmaryn Gadiel Z Monitoring viewable times of webpage elements on single webpages
US20100005169A1 (en) * 2008-07-03 2010-01-07 Von Hilgers Philipp Method and Device for Tracking Interactions of a User with an Electronic Document
US20100153948A1 (en) * 2008-12-11 2010-06-17 Ghost, Inc. Combined web and local computing environment
US8356247B2 (en) * 2008-12-16 2013-01-15 Rich Media Worldwide, Llc Content rendering control system and method
US9245263B2 (en) 2009-06-23 2016-01-26 Jwl Ip Holdings Llc Systems and methods for scripted content delivery
US20110066495A1 (en) * 2009-09-11 2011-03-17 Yahoo! Inc. System and method for customizing ads in web and mobile applications
WO2011072054A2 (en) * 2009-12-08 2011-06-16 Adxpose, Inc. Systems and methods for identification and reporting of ad delivery hierarchy
US20110161135A1 (en) * 2009-12-30 2011-06-30 Teradata Us, Inc. Method and systems for collateral processing
US8499236B1 (en) * 2010-01-21 2013-07-30 Amazon Technologies, Inc. Systems and methods for presenting reflowable content on a display
US9183543B2 (en) * 2010-02-19 2015-11-10 Prolifiq Software Inc. Tracking digital content objects
US8380810B2 (en) 2010-03-16 2013-02-19 Nokia Corporation Method and apparatus providing for output of a content package based at least in part on a content category selection and one or more contextual characteristics
US8495113B2 (en) 2010-06-15 2013-07-23 International Business Machines Corporation Incorporating browser-based find functionality into customized webpage displays
US8631356B2 (en) * 2010-07-22 2014-01-14 Yahoo! Inc. Presentation of advertisements based on user interactivity with a web page
US9418388B1 (en) * 2010-09-08 2016-08-16 Imdb.Com, Inc. Techniques for displaying third party content
US20120102411A1 (en) * 2010-10-25 2012-04-26 Nokia Corporation Method and apparatus for monitoring user interactions with selectable segments of a content package
US10482475B2 (en) 2011-02-10 2019-11-19 Adp Dealer Services, Inc. Systems and methods for providing targeted advertising
US9509788B2 (en) * 2011-06-09 2016-11-29 Tata Consultancy Services Limited Social network graph based sensor data analytics
US9535889B2 (en) 2011-06-17 2017-01-03 Google Inc. Method to determine whether advertisements in a web page are in view
US9147199B2 (en) * 2011-06-17 2015-09-29 Google Inc. Advertisements in view
US9576303B2 (en) 2011-06-17 2017-02-21 Google Inc. Advertisements in view
US9124920B2 (en) 2011-06-29 2015-09-01 The Nielson Company (Us), Llc Methods, apparatus, and articles of manufacture to identify media presentation devices
CN102571934A (en) * 2011-12-22 2012-07-11 深圳华强电子交易网络有限公司 WEB page data binding method
US10169307B2 (en) * 2012-03-01 2019-01-01 Wix.Com Ltd. Method and system for the use of adjustment handles to facilitate dynamic layout editing
US10146419B2 (en) * 2012-02-20 2018-12-04 Wix.Com Ltd. Method and system for section-based editing of a website page
US10789412B2 (en) 2012-02-20 2020-09-29 Wix.Com Ltd. System and method for extended dynamic layout
US9223462B1 (en) 2012-04-10 2015-12-29 Workday, Inc. Configuration of embedded intelligence
US9262035B1 (en) * 2012-04-10 2016-02-16 Workday, Inc. Display for embedded intelligence
US9411850B1 (en) 2012-04-10 2016-08-09 Workday, Inc. Process for embedded intelligence
US9672196B2 (en) * 2012-05-15 2017-06-06 Liveperson, Inc. Methods and systems for presenting specialized content using campaign metrics
US10387911B1 (en) 2012-06-01 2019-08-20 Integral Ad Science, Inc. Systems, methods, and media for detecting suspicious activity
US9037926B2 (en) * 2012-06-07 2015-05-19 International Business Machines Corporation Background buffering of content updates
CN103853729B (en) * 2012-11-29 2019-03-26 腾讯科技(深圳)有限公司 Page loading method and its system
US11068931B1 (en) 2012-12-10 2021-07-20 Integral Ad Science, Inc. Systems, methods, and media for detecting content viewability
US9749321B2 (en) 2013-01-22 2017-08-29 Prolifiq Software Inc. System for multi-point publication syndication
US11080734B2 (en) 2013-03-15 2021-08-03 Cdk Global, Llc Pricing system for identifying prices for vehicles offered by vehicle dealerships and other entities
US8719089B1 (en) * 2013-06-13 2014-05-06 Google Inc. Methods and systems for improving bid efficiency of a content provider
US10063450B2 (en) 2013-07-26 2018-08-28 Opentv, Inc. Measuring response trends in a digital television network
US9729410B2 (en) * 2013-10-24 2017-08-08 Jeffrey T Eschbach Method and system for capturing web content from a web server
US20160140626A1 (en) * 2014-10-12 2016-05-19 Atul Agarwal Web page advertisement configuration and optimization with visual editor and automatic website and webpage analysis
US20200218413A1 (en) 2014-10-30 2020-07-09 Google Llc Systems and methods for presenting scrolling online content on mobile devices
US9489470B1 (en) 2015-01-26 2016-11-08 Content Analytics, Inc. System and method for generating content comparison reports
US11373204B2 (en) * 2015-03-11 2022-06-28 Meta Platforms, Inc. User interface tool for applying universal action tags
US10332068B2 (en) 2016-04-21 2019-06-25 Cdk Global, Llc Systems and methods for stocking an automobile
US10853769B2 (en) 2016-04-21 2020-12-01 Cdk Global Llc Scheduling an automobile service appointment in a dealer service bay based on diagnostic trouble codes and service bay attributes
US10867285B2 (en) 2016-04-21 2020-12-15 Cdk Global, Llc Automatic automobile repair service scheduling based on diagnostic trouble codes and service center attributes
US10452724B2 (en) * 2016-05-18 2019-10-22 Google Llc Attribution model for content item conversions
CA3062634A1 (en) * 2017-05-10 2018-11-15 Embee Mobile, Inc. System and method for the capture of mobile behavior, usage, or content exposure
US10326858B2 (en) 2017-05-23 2019-06-18 Cdk Global, Llc System and method for dynamically generating personalized websites
US11190608B2 (en) 2018-03-21 2021-11-30 Cdk Global Llc Systems and methods for an automotive commerce exchange
US11501351B2 (en) 2018-03-21 2022-11-15 Cdk Global, Llc Servers, systems, and methods for single sign-on of an automotive commerce exchange
US11199949B2 (en) * 2018-04-13 2021-12-14 Constellation Agency, LLC Automation tool for generating web pages and links
WO2021026394A1 (en) 2019-08-06 2021-02-11 Duration Media LLC Technologies for content presentation
US10839453B1 (en) * 2019-11-26 2020-11-17 Capital One Services, Llc Systems and methods for identifying location-based information associated with a product on a web page
CN111767206B (en) * 2020-05-08 2023-07-14 北京奇艺世纪科技有限公司 Statistical method and device for content unit exposure presentation rate and electronic equipment
US11080105B1 (en) 2020-11-18 2021-08-03 Cdk Global, Llc Systems, methods, and apparatuses for routing API calls
US11049023B1 (en) 2020-12-08 2021-06-29 Moveworks, Inc. Methods and systems for evaluating and improving the content of a knowledge datastore
US11514021B2 (en) 2021-01-22 2022-11-29 Cdk Global, Llc Systems, methods, and apparatuses for scanning a legacy database
US11803535B2 (en) 2021-05-24 2023-10-31 Cdk Global, Llc Systems, methods, and apparatuses for simultaneously running parallel databases

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878384A (en) * 1996-03-29 1999-03-02 At&T Corp System and method for monitoring information flow and performing data collection
WO1999013423A1 (en) * 1997-09-11 1999-03-18 Narrative Communications Corporation Tracking user micro-interactions with web page advertising
US5933811A (en) * 1996-08-20 1999-08-03 Paul D. Angles System and method for delivering customized advertisements within interactive communication systems
WO2000068851A2 (en) * 1999-05-07 2000-11-16 Zlectric Computer-based system and method for delivering and tracking advertisements

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4775935A (en) 1986-09-22 1988-10-04 Westinghouse Electric Corp. Video merchandising system with variable and adoptive product sequence presentation order
US4996642A (en) 1987-10-01 1991-02-26 Neonics, Inc. System and method for recommending items
US4870579A (en) 1987-10-01 1989-09-26 Neonics, Inc. System and method of predicting subjective reactions
JPH01169605A (en) 1987-12-25 1989-07-04 Hitachi Ltd Program generating device
JP2760794B2 (en) 1988-01-29 1998-06-04 株式会社日立製作所 Database processing method and apparatus
US4992940A (en) 1989-03-13 1991-02-12 H-Renee, Incorporated System and method for automated selection of equipment for purchase through input of user desired specifications
US5201010A (en) 1989-05-01 1993-04-06 Credit Verification Corporation Method and system for building a database and performing marketing based upon prior shopping history
US5353219A (en) 1989-06-28 1994-10-04 Management Information Support, Inc. Suggestive selling in a customer self-ordering system
US5383111A (en) 1989-10-06 1995-01-17 Hitachi, Ltd. Visual merchandizing (VMD) control method and system
US5311424A (en) 1991-06-28 1994-05-10 International Business Machines Corporation Method and system for product configuration definition and tracking
AU674189B2 (en) 1993-02-23 1996-12-12 Moore North America, Inc. A method and system for gathering and analyzing customer and purchasing information
US5583763A (en) 1993-09-09 1996-12-10 Mni Interactive Method and apparatus for recommending selections based on preferences in a multi-user system
US5515269A (en) 1993-11-08 1996-05-07 Willis; Donald S. Method of producing a bill of material for a configured product
US5459306A (en) 1994-06-15 1995-10-17 Blockbuster Entertainment Corporation Method and system for delivering on demand, individually targeted promotions
US5724521A (en) * 1994-11-03 1998-03-03 Intel Corporation Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner
US6460036B1 (en) 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5774868A (en) 1994-12-23 1998-06-30 International Business And Machines Corporation Automatic sales promotion selection system and method
US5794209A (en) 1995-03-31 1998-08-11 International Business Machines Corporation System and method for quickly mining association rules in databases
US5749081A (en) 1995-04-06 1998-05-05 Firefly Network, Inc. System and method for recommending items to a user
US5768142A (en) 1995-05-31 1998-06-16 American Greetings Corporation Method and apparatus for storing and selectively retrieving product data based on embedded expert suitability ratings
IL118580A0 (en) 1995-06-30 1996-10-16 Massachusetts Inst Technology Method and apparatus for item recommendation using automated collaborative filtering
US6041311A (en) 1995-06-30 2000-03-21 Microsoft Corporation Method and apparatus for item recommendation using automated collaborative filtering
US6112186A (en) 1995-06-30 2000-08-29 Microsoft Corporation Distributed system for facilitating exchange of user information and opinion using automated collaborative filtering
US6092049A (en) 1995-06-30 2000-07-18 Microsoft Corporation Method and apparatus for efficiently recommending items using automated collaborative filtering and feature-guided automated collaborative filtering
US6049777A (en) 1995-06-30 2000-04-11 Microsoft Corporation Computer-implemented collaborative filtering based method for recommending an item to a user
US5668987A (en) 1995-08-31 1997-09-16 Sybase, Inc. Database system with subquery optimizer
WO1997026729A2 (en) 1995-12-27 1997-07-24 Robinson Gary B Automated collaborative filtering in world wide web advertising
US6119101A (en) 1996-01-17 2000-09-12 Personal Agents, Inc. Intelligent agents for electronic commerce
US5872850A (en) 1996-02-02 1999-02-16 Microsoft Corporation System for enabling information marketplace
US5704017A (en) 1996-02-16 1997-12-30 Microsoft Corporation Collaborative filtering utilizing a belief network
US5867799A (en) 1996-04-04 1999-02-02 Lang; Andrew K. Information system and method for filtering a massive flow of information entities to meet user information classification needs
US5790426A (en) 1996-04-30 1998-08-04 Athenium L.L.C. Automated collaborative filtering system
US5949419A (en) 1996-05-13 1999-09-07 Domine; Robert M Web browser detection and default home page modification device
US6018748A (en) 1996-05-28 2000-01-25 Sun Microsystems, Inc. Dynamic linkable labels in a network browser page
EP0979476A1 (en) 1996-07-15 2000-02-16 David A. Post A method and apparatus for expertly matching products, services, and consumers
JP3663770B2 (en) 1996-08-21 2005-06-22 富士ゼロックス株式会社 Information processing apparatus and method
DE69624809T2 (en) 1996-08-28 2003-07-03 Koninkl Philips Electronics Nv Method and system for selecting an information item
US6108637A (en) * 1996-09-03 2000-08-22 Nielsen Media Research, Inc. Content display monitor
US5825651A (en) 1996-09-03 1998-10-20 Trilogy Development Group, Inc. Method and apparatus for maintaining and configuring systems
US6108493A (en) 1996-10-08 2000-08-22 Regents Of The University Of Minnesota System, method, and article of manufacture for utilizing implicit ratings in collaborative filters
US6016475A (en) 1996-10-08 2000-01-18 The Regents Of The University Of Minnesota System, method, and article of manufacture for generating implicit ratings based on receiver operating curves
US5842199A (en) 1996-10-18 1998-11-24 Regents Of The University Of Minnesota System, method and article of manufacture for using receiver operating curves to evaluate predictive utility
US5948061A (en) 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US6285987B1 (en) * 1997-01-22 2001-09-04 Engage, Inc. Internet advertising system
US6006218A (en) 1997-02-28 1999-12-21 Microsoft Methods and apparatus for retrieving and/or processing retrieved information as a function of a user's estimated knowledge
US6643696B2 (en) * 1997-03-21 2003-11-04 Owen Davis Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6085229A (en) 1998-05-14 2000-07-04 Belarc, Inc. System and method for providing client side personalization of content of web pages and the like
US6018738A (en) 1998-01-22 2000-01-25 Microsft Corporation Methods and apparatus for matching entities and for predicting an attribute of an entity based on an attribute frequency value
US6038598A (en) 1998-02-23 2000-03-14 Intel Corporation Method of providing one of a plurality of web pages mapped to a single uniform resource locator (URL) based on evaluation of a condition
US6064980A (en) 1998-03-17 2000-05-16 Amazon.Com, Inc. System and methods for collaborative recommendations
US6123259A (en) 1998-04-30 2000-09-26 Fujitsu Limited Electronic shopping system including customer relocation recognition
US6317782B1 (en) * 1998-05-15 2001-11-13 International Business Machines Corporation Method and apparatus for detecting actual viewing of electronic advertisements and transmitting the detected information
US6006225A (en) 1998-06-15 1999-12-21 Amazon.Com Refining search queries by the suggestion of correlated terms from prior searches
US6334127B1 (en) 1998-07-17 2001-12-25 Net Perceptions, Inc. System, method and article of manufacture for making serendipity-weighted recommendations to a user
US6321221B1 (en) 1998-07-17 2001-11-20 Net Perceptions, Inc. System, method and article of manufacture for increasing the user value of recommendations
US6286043B1 (en) 1998-08-26 2001-09-04 International Business Machines Corp. User profile management in the presence of dynamic pages using content templates
US6266649B1 (en) 1998-09-18 2001-07-24 Amazon.Com, Inc. Collaborative recommendations using item-to-item similarity mappings
US6317722B1 (en) 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
CA2249096C (en) 1998-09-30 2001-12-04 Ibm Canada Limited-Ibm Canada Limitee Method for determining optimal database materializations using a query optimizer
US6226656B1 (en) 1998-11-12 2001-05-01 Sourcefinder, Inc. System and method for creating, generating and processing user-defined generic specs
US6442529B1 (en) * 1998-11-17 2002-08-27 Novaweb Technologies, Inc. Methods and apparatus for delivering targeted information and advertising over the internet
US6412012B1 (en) 1998-12-23 2002-06-25 Net Perceptions, Inc. System, method, and article of manufacture for making a compatibility-aware recommendations to a user
US6321179B1 (en) 1999-06-29 2001-11-20 Xerox Corporation System and method for using noisy collaborative filtering to rank and present items
AU5934900A (en) 1999-07-16 2001-02-05 Agentarts, Inc. Methods and system for generating automated alternative content recommendations
US20020010757A1 (en) 1999-12-03 2002-01-24 Joel Granik Method and apparatus for replacement of on-line advertisements
US6415368B1 (en) 1999-12-22 2002-07-02 Xerox Corporation System and method for caching
US6401075B1 (en) * 2000-02-14 2002-06-04 Global Network, Inc. Methods of placing, purchasing and monitoring internet advertising
US20020019774A1 (en) 2000-08-02 2002-02-14 Kanter Andrew S. Internet advertising
US20020032608A1 (en) 2000-08-02 2002-03-14 Kanter Andrew S. Direct internet advertising

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878384A (en) * 1996-03-29 1999-03-02 At&T Corp System and method for monitoring information flow and performing data collection
US5933811A (en) * 1996-08-20 1999-08-03 Paul D. Angles System and method for delivering customized advertisements within interactive communication systems
WO1999013423A1 (en) * 1997-09-11 1999-03-18 Narrative Communications Corporation Tracking user micro-interactions with web page advertising
WO2000068851A2 (en) * 1999-05-07 2000-11-16 Zlectric Computer-based system and method for delivering and tracking advertisements

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO0223304A3 *

Also Published As

Publication number Publication date
US7567916B1 (en) 2009-07-28
EP1381982A2 (en) 2004-01-21
US20080015929A1 (en) 2008-01-17
CA2425140A1 (en) 2002-03-21
US7970647B2 (en) 2011-06-28
WO2002023304A3 (en) 2003-10-30
WO2002023304A2 (en) 2002-03-21
ZA200302756B (en) 2004-08-25
US20050177401A1 (en) 2005-08-11
AU2001287953A1 (en) 2002-03-26

Similar Documents

Publication Publication Date Title
US7567916B1 (en) System and method for performing Web based in-view monitoring
US6477575B1 (en) System and method for performing dynamic Web marketing and advertising
US11037210B2 (en) System and methods for providing financial account information over a network
US9514479B2 (en) System and method for estimating prevalence of digital content on the world-wide-web
US9477930B2 (en) Cross channel optimization systems and methods
AU2009227873B2 (en) Digital marketing optimization
US6785717B1 (en) Method of incorporating user reaction measurement software into particular web pages of a website
US20040122735A1 (en) System, method and apparatus for an integrated marketing vehicle platform
JP2007522537A (en) Transparent search engine
EP1218835A1 (en) Managing the delivery of content to users
AU2013206242B2 (en) Digital marketing optimization

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20030408

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

AX Request for extension of the european patent

Extension state: AL LT LV MK

A4 Supplementary search report drawn up and despatched

Effective date: 20041006

17Q First examination report despatched

Effective date: 20050110

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20060401