US 20060026071 A1
An advertisement generation system presents a time-dependent advertisement to a user via a communication network, the advertisement based upon a search term of a search query during a period of time. The system includes a search engine coupled to a web server for receiving the search query and for presenting a search results page. The search results page is accompanied with an immediate advertisement. In one embodiment, the system includes an advertisement repository to store data representing a plurality of advertisements and includes the immediate advertisement and the time-dependent advertisement. Also, the system includes a user profiler configured to communicate a plurality of search characteristics and includes a data structure to store the search characteristics. Lastly, an advertisement server is included to provide to the web server the immediate advertisement with an associated search results page and the time-dependent advertisement with a web page presented after the display of the search results page, until a period of time expires.
1. A method for operating a computer system to generate and send hypertext pages comprising at least a reference to an advertisement, or representations thereof, to a user device, the method comprising:
receiving at least one search term, the search term originating from the user device;
determining a search result based upon the at least one search term;
storing a representation of at least one of the at least one search term;
sending a first search result page resulting from the search result to the user device, the first search result page comprising an immediate advertisement selected from a plurality of advertisements selected based on at least the at least one search term;
selecting a future advertisement from the plurality of advertisements based on at least the representation of at least one of the at least one search term and on an approximation of time difference between a time of sending the first search result page to the user device and a time of sending a later web page to the user device; and
sending the future advertisement to the user device as part of the later web page, wherein the later web page is sent to the user device subsequent to sending the first search result page to the user device.
2. The method of
storing a representation of at least one of the at least one search term in a user profiler.
3. The method of
storing a representation of at least one of the at least one search term in a cookie.
4. The method of
associating at least one search term data element number to the stored representation of at least one of the at least one search term.
5. The method of
assigning an advertisement ID data element number to each of the plurality of advertisements, wherein the advertisement ID data element number is associated with an advertising type in an advertisement data structure;
comparing the search term data element number with the advertisement ID data element number; and
matching the data element number to the advertisement ID data element number when the data element number is equivalent to the advertisement ID data element number;
wherein the matched advertisement ID data element number associated with the advertising type is used to select the future advertisement to send to the user.
6. The method of
receiving a second at least one search term, the second at least one search term originating from the user device;
determining a second search result based upon the second at least one search term;
storing a representation of at least one of the second at least one search term;
sending the later web page comprising at least a part of the second search result list and the future advertisement;
selecting a second future advertisement based on at least the stored representations of the at least one of the at least one search term and the at least one of the second at least one search term; and
sending the second future advertisement as part of a second later web page, the second later web page sent subsequent to the later web page.
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
filtering advertisements from which the future advertisement is selected, the filtering based on at least time of search values, indicative of when search terms were used, and a time of filtering.
12. A method of sending a future advertisement of a plurality of advertisements to a user device, the method comprising:
receiving a search query, the search query comprising at least one search term;
generating a search result web page based on the search query;
determining at least one advertisement type based on the at least one search term;
matching the advertisement type with an advertisement type of at least one advertisement of the plurality of advertisements, wherein the advertisement type is associated with a second plurality of advertisements;
setting an expiration period of time based on a time that the search query was received;
receiving a selection to view a portion of the search result web page;
selecting the future advertisement from the second plurality of advertisements; and
sending the future advertisement to the user device during the set expiration time.
13. The method of
setting a cookie to include data representing the at least one advertisement type upon a match.
14. The method of
15. An advertisement generation system for sending a future advertisement to a user based upon a search query comprising at least one search term, comprising:
a web server operative to receive the search query originating from the user and to send a search results page to the user, the search results page comprising an immediate advertisement;
a user profiler operative to communicate a representation of at least one characteristic associated with the search query to the web server, the user profiler comprising a data structure to store the at least one characteristic associated with the search query, the at least one characteristic associated with the search query comprising the at least one search term; and
an advertisement server operative to select the future advertisement based upon the at least one characteristic associated with the search query and at least one characteristic of a page viewed subsequent to the search result page, wherein the subsequent page comprises the future advertisement.
16. The method of
17. The method of
an advertisement repository having logic and a repository data structure to store data representing a plurality of advertisements, the plurality of advertisements comprising the advertisement.
18. The method of
19. The method of
storage for time of search values, the time of search values comprising at least a time of search value for the search query.
logic operative to determine when a difference between the time of sending the future advertisement and the time of search value exceeds a threshold difference and selecting the future advertisement based on the threshold difference.
20. The method of
21. An advertisement generation system for sending a future advertisement to a user based upon user input associated with a first web page, comprising:
a web server operative to receive the user input originating from the user and to send a first web page to the user, wherein the first web page is responsive to the user input and the first web page comprises an immediate advertisement;
a user profiler operative to communicate a representation of at least one characteristic associated with the user input, the user profiler comprising a data structure to store the at least one characteristic associated with the user input; and
an advertisement server operative to select a future advertisement based upon the at least one characteristic associated with the user input and at least one characteristic of the first web page, wherein a second web page viewed subsequent to the first web page comprises the future advertisement.
22. The system of
an advertisement repository having logic and a repository data structure to store data representing a plurality of advertisements, the plurality of advertisements comprising the future advertisement.
23. The system of
24. The system of
25. The system of
26. The system of
storage for time input values, the time input values comprising at least a time of input value for the user input; and
logic operative to determine when a difference between a time of sending the future advertisement to the user device and a time of receiving the user input exceeds a threshold difference and selecting a future advertisement based on the threshold difference.
27. The advertisement generation system of
The present patent document is a continuation of U.S. patent application Ser. No. 09/950,567, filed Sep. 10, 2001, the entirety of which is hereby incorporated by reference.
Use of the Internet by the general public is gaining popularity. More and more people are getting access to the Internet and the vast amount of information that it provides. Along with the rapid increase in the number of Internet users, advertising on the Internet has consequently become an important priority for many advertisers.
As a result, for web portals and ISPs, a significant amount of revenue is generated from displaying advertisers' ad banners on web sites or web pages. For example, for a preeminent portal such as Yahoo! which is visited daily by hundreds of thousands, if not millions of users, considerable revenue is generated by displaying an advertiser's advertisements on its web sites or web pages.
For web portals like Yahoo!, advertisers generally pay a fee for each advertisement viewed by web users. Contracts to present advertisements are normally signed well in advance of delivery, from several weeks to months. The duration of contracts ranges from one day to multiple years. Typically, there are several types of contracts, including regular contracts, exclusive contracts and non-exclusive contracts. For regular contracts, the advertisers purchase a designated number of ad views on a chosen space (web page). A type of regular contract is based upon the CPM (i.e., cost per thousand impressions or views) generally linked to, for example, a specific web page or search term. Under a CPM arrangement involving a search engine, a particular advertisement will have a set cost corresponding to a guaranteed number of times (per 1,000 matches or views) a term is searched during a period of time. For exclusive contracts, advertisers purchase all the ad views on a chosen web page or search term. A type of exclusive contract might be a CPM contract excluding all other advertisers from using a specific search term or sequence of search terms.
For non-exclusive contracts, the advertiser purchases leftover ad views on a chosen space not reserved under an exclusive contract after other regular contracts related to that space have been fulfilled. Such advertisements, referred to herein as “run of network” ads, are generally displayed “out-of-context.” An advertisement is out-of-context if it is displayed on a space or web page unrelated to the subject matter of the advertisement. Run of network ads are less desirable from an advertiser's viewpoint because users generally are less likely to respond to advertisements that are unrelated to a user's interest in the particular space. Consequently, run of network ads command a lower price, and thus generate less revenue than advertisements based upon regular and exclusive contracts.
Like advertising delivered through more traditional media, such as TV or printed publications, advertising on the Internet is similarly subject to physical and temporal limitations. For obvious reasons, it is a natural and often most selected choice for advertisers to request ad views on the more relevant web pages for maximum exposure to a targeted audience. However, since there is a finite amount of physical space on a web page, demand for ad space or ad views on relevant web pages often exceeds supply. If such demand cannot be serviced (i.e., advertisements cannot be displayed according to the advertiser's wishes), then revenue otherwise derived therefrom will not be realized.
For web portals, like Yahoo!, advertisements are displayed on web pages resulting from a user-defined search based upon one or more search terms. Generally, there are more advertisers interested in targeting their advertisements based on frequently used search terms than there is room or means to accommodate such advertisements. For example, in an exclusive contract, an advertiser of baby books has rights to all occurrences, each, of one or more keywords associated with a user's search, such as “books” and/or “baby.” Other advertisers of books, however, will have no opportunity to key their respective advertisements to the term “books” and thus may have only the less favorable run of network ads as a consideration.
A common approach to improving the effectiveness of presenting targeted advertisements to those users interested in receiving product information from various sellers is to employ demographic characteristics (i.e., age, income, sex, occupation, etc.) for predicting the behavior of groups of different users. Advertisements then will be presented to each user in a targeted audience based upon predicted behaviors rather than in response to certain keyword search terms.
This approach, however, has significant drawbacks. Since users generally declare their demographics upon registering for an email or My Yahoo! account, for example, users sometime provide inaccurate information about their demographics, such as claiming to be female rather than male. Another disadvantage of demographic ad targeting is that there are underlying assumptions that are not necessarily accurate. For example, advertisers might presume that if one is a doctor, then that person would be interested in golf. The effectiveness of demographic ad targeting is thus impaired by the assumptions in which it is based upon.
Another convention approach is profile-based ad targeting. In this approach, user profiles specific to each of the users are generated to model user behavior, for example, by tracking each user's path through a web site or network of sites, and then compiling a profile based on what pages and advertisements were delivered to the user. Using aggregated data, a correlation develops between users in a certain target audience and the products that those users purchase. The correlation then is used to target potential purchasers by targeting content or advertisements to the user at a later time.
A disadvantage to using profiling to target advertisements is that there are inherent latencies in the time it takes to build up each user's profile. Such behavior profiling often uses data-mining techniques to determine trend information from ad server log files. Such data-mining techniques are then used to model behaviors of each targeted audience. Behavior modeling, however, has inherent latencies in predicting a new user behavior from the time the user first exhibits such behavior, which can take days to link an appropriate advertisement to a new consumer behavior. Hence, advertisements linked to behavior modeled features will not have an optimum exposure to the targeted audience.
A further conventional approach is advertisement queuing, where a fixed number of advertisements are each queued to display on subsequently presented web pages. In keyword advertising applications, this approach allows advertisers to present their advertisements to users subsequent to the presentation of a search results page and a corresponding keyword advertisement. A drawback to this approach, however, is that such queued advertisements are generally run of the network ads and are of no, or very low, interest to the particular user performing the search.
Therefore, there is need for a system and method for presenting advertisements to targeted users who are interested in such product or service information nearly immediately following the presented results of a keyword search. Such a system and method decreases the latency between the time that the user exhibits some behavior on the web site and the time that an advertiser capitalizes on that behavior for ad-targeting. Furthermore, there is a need to capture ad revenue that otherwise would be lost using conventional ad-targeting techniques by presenting a targeted advertisement to a unique user.
An improved advertisement generation system is herein described that takes into account a previous search term for conducting a search, typically with a search engine, and the time at which the search was conducted, when selecting an advertisement to present to a potential consumer. For example, the time-dependent advertisement is presented to a user's computing system based upon a search query during a period of time. The advertisement generation system includes a search engine and a web server.
In one embodiment of an exemplary advertisement generation system, an advertisement repository includes immediate and time-dependent advertisements and a user profiler is configured to communicate search characteristics associated with various search terms entered by the user. Furthermore, the present invention includes an advertisement server configured to provide to the web server the immediate advertisement with an associated search results page and a time-dependent advertisement with a web page presented after the display of the search-results page. The time-dependent advertisement is associated with at least one of the search terms of the search query, where the time-dependent advertisement is a targeted advertisement based upon the search characteristics of the user and is available for presentation to the user until the period of time expires. Such a time-dependent advertisement is also referred herein as a future advertisement in some embodiments of the present invention.
In another embodiment, the present invention provides the user a first web page to conduct a search, accepts a first search term to determine the contents of a search result, stores the first search term, presents concurrently a search result page and an associated immediate advertisement to the user, selects the time-dependent advertisement when the user has selected another web page and presents the time-dependent advertisement, so long as the time-dependent advertisement is available for selection during a period of time after presentation of an associated immediate advertisement.
A further understanding of the nature and advantages of the inventions herein may be realized by reference to the remaining portions of the specification and the attached drawings.
The present invention relates to a system and a method for presenting to a user a selected advertisement from an advertisement repository containing a large number of advertisements. An exemplary advertisement generation system includes a web server coupled between a search engine and an ad server according to one embodiment of the present invention. Over a communication network, the web server receives a search query having one or more search terms and provides such terms to the search engine. The web server then presents the search results web page containing documents or a list of references to each of the documents associated with the terms searched. Such documents described herein are records in a search database (not shown), where the search database is organized, for example, as a hierarchical structure of categories and site references.
In a substantially parallel process to the generation and the presentation of the search results page, the web server also presents a keyword advertisement based in part, upon the search terms, as determined by the ad server. Thereafter, as the user navigates from the search results web page to another web page, the ad server accesses previously stored search terms and determines which of the advertisements within the advertisement repository will be presented to the user as a time-dependent advertisement. “Web pages” herein refers to a single hypertext document which forms part of a web site, where “web site” refers to a collection of one or more web pages which are controlled (i.e., modifiable) by a single entity or group of entities working in concert to present a site on a particular topic.
In this specific example, HTTP client 12 is a browser, but other HTTP clients, such as search back-end processors, could be used instead of a browser. Also, it should be understood that system 10 could be implemented with Internet 16 replaced with an alternate communications channel between HTTP client 12 and search server 14. Furthermore, it should be understood that while search server 14 is an HTTP server, it could handle requests using an entirely different protocol, so long as the different protocol is understood by HTTP client 12 or its substitute. For brevity, only one HTTP client, one request and one response is shown, but it should be understood that in practice many clients will be accessing search server 14 substantially simultaneously, each with one or more search requests. In fact, if warranted, the tasks of search server 14 might be spread over multiple machines. If the tasks are spread over multiple machines, the preferred arrangement is to have the multiple machines presented to the clients as a single logical machine, to simplify client access.
In operation, a user at a browser, or other HTTP client, sends a request 30 (i.e., search query) containing a search term 31 to search server 14 where search server 14 parses the one or more search terms 30 and uses the search terms to find advertisements in advertisement repository 20 that, among other things, match the one or more search terms of a search query. Search server 14 responds by serving up a search results page 32 comprising either a list of matching documents or the documents themselves as well as either a keyword advertisement or a time-dependent advertisement 33. “Time-dependent” advertisements in connection with the described system and method are available for presentation during a period of time until the time period expires and are alternatively described herein as “time-delayed” advertisements. Moreover, the time-dependent notation also refers to a future advertisement which is available for selection and presentation to a user with a later presented web page at some time after the search results is presented to the user that initiated a search query. User profiler 22 is used to provide, during a period of time, the search terms available from cumulative search queries to the search server 14. In response to a request from the search server 14, the advertisement repository 20 provides a targeted advertisement to the search server 14 for presentation to the user at HTTP client 12. HTTP client 12 is then configured to communicate a next page request 34 to the search server 14 as explained later.
Web server 50 operates as a web site that offers a collection of linked hypertext documents controlled by a single person or entity. Since the web site is controlled by a single person or entity, the hypertext documents, often called web pages in this context, have a consistent look and subject matter. Web server 50 is configured to receive one or more search terms 30 of a search query initiated by a user over the communications network 16 and is configured further to receive the search results 62. For each search query received, web server 50 determines and assigns respective search characteristics 60 to each of the search terms of the query, including the search terms themselves. Such characteristics 60 may be determined from the nature of the search terms or may be received from the user. For example, one search characteristic is a user ID associated with particular terms to a respective user. Another search characteristic is a time stamp associated with particular terms and indicates the time at which the search term 30 was used to perform a search query. It should be understood that a skilled artisan might employ other search characteristics to enhance the novel features within the scope of the present invention.
Web server 50, in addition to serving static documents, can return dynamic documents. A static document is a document that exists on a web server before a request for the document is made and for which the web server merely sends out the static document upon request. A static page URL is typically in the form of “host.subdomain.domain.TLD/path/file” or the like. That static page URL refers to a document named “file” which is found on the path “/path/” on the machine which has the domain name “host.subdomain.domain.TLD.” An actual URL refers to, for example, the machine (or machines) designated “www” at the domain “yahoo” in the “.com” top-level domain (TLD). By contrast, a dynamic document is a document that is generated by the web server when it receives a particular URL, which the server identifies as a request for a dynamic document.
Search engine 52 is configured to receive the search characteristics 60 and is configured to provide the search results 62 to web server 50 for presentation to the user. In operation, search engine 52 searches a hierarchical document repository (not shown) and returns documents which match one or more search terms 30 either directly or indirectly, wherein a direct match is a document which matches all of the search terms 30 queried and an indirect match is a document which only matches each of the search terms 30 when contents of the indirectly matching document are combined with contents of the indirectly matching document's ancestor documents in the hierarchy. A search engine suitable for implementing some of the embodiments of the invention are described in U.S. Pat. No. 5,991,756, entitled “INFORMATION RETRIEVAL FROM HIERARCHICAL COMPOUND DOCUMENTS,” assigned to the assignee of the present invention, and herein incorporated by reference.
Search engine 52 is electrically coupled to user profiler 22 to provide search characteristics 70, including the search terms themselves. Furthermore, user profiler 22 is configured to provide user profile information 64 to ad server 54 and is configured further to receive a request 66 for user information, which will be discussed below. As shown in
In a specific embodiment, user profiler 22 is arranged in multiple user profile arrays 71, where each array 71 contains search characteristics that correspond with a user ID 74. Typically, array 71 is stored in shared memory for quick access, where such memory may be RAM, a computer disk, or any other read-write computer medium having read-write capability. Array 71 has one record per search term 76 and each record 72 at least includes certain fields for storing a search term 76, a time stamp 77 and other search characteristics 78 used to facilitate time-dependent advertising according to the exemplary advertisement generation system.
As an example, suppose a user, Ms. X, desires information to prepare for a European vacation. Such a user might enter a search expression of “French Resorts” at 4:00 p.m. According to an exemplary advertisement generation system, the search terms “French” and “Resorts” are provided to the search engine 52 to generate search results. Furthermore, the terms are also supplied to the user profiler 22 for storage as records 72 in the data structure exemplified in
The search terms are used to determine which of the advertisements 38 in the advertisement repository 20, as shown in
In one embodiment of the advertisement generation system, search term index database 24 is electrically coupled to advertisement server 54 to receive search terms 48 used by a particular user and returns a match list 46. Search term index 24 is organized as a plurality of records 25, with one record per term. As shown in
The search term index database 24 returns a match list 46 to search server 14. The match list 46 is a list of all the advertisement types 42 which are associated with all of the search terms 76 associated with the user's search query. In one aspect of the index database of
Referring back to
Advertisement repository 20 is electrically coupled to the search server 14 with advertisement request line 68 and fetch advertisement 69. The advertisement request 68 is configured to communicate a request from ad server 54 to the advertisement repository 20 for selecting one or more ads to present to a particular user and the fetch advertisement 69 is configured to convey the selected advertisements from advertisement repository 20 to ad server 54.
In one embodiment, advertisement repository 20 is a hierarchical data structure of categories and advertisements, where an advertisement type number corresponds to a category of advertising that includes at least one advertisement. Each of the advertisements 44 is hierarchically sub-categorized under one or more advertisement type 42. Each advertisement type number 40 corresponds with an advertising type 42 and is used to determine which advertisement 44 is to be selected for presentation based upon the match list 46 returned by the search term index database 24. For example, an advertiser for a French rental car agency may request an advertisement 44 to be placed under advertisement type “France” and “auto rental” advertisement types, where the advertisement placed under the “France” advertisement type is keyword advertisement Bn. Hence, if a search query includes any search terms which correspond to match tags 27 shown in
The hierarchical structure of advertisement repository 20 might be automatically generated, but in the embodiment known as the Yahoo! search term index database, the advertisements are placed in a list corresponding to the appropriate advertising type by an editorial staff according to the terms of advertising agreement as well as experience and suggestions from the respective advertisers. The editorial staff also evaluates each advertisement submission and adds, in some cases, a keyword flag for immediate presentation with the search results page and/or an advertisement importance weighting value.
The advertisement importance weighting value 47 is a value set automatically, or by an editorial staff member, to indicate how valuable and/or relevant a particular advertisement type or advertisement is relative to other advertisement types and advertisements. The importance weighting value 47 of a particular advertisement associated with an advertisement type might be adjusted based on external events or the significance of an advertisement. For example, under a CPM arrangement, an advertisement is guaranteed to have a number of impressions per time period (e.g., per month). If the number of impressions is predicted to below a guaranteed minimum, an appropriate advertisement importance weighting value may be assigned to that advertisement. If assigned a higher weighting by the editorial staff, the advertisement will have a relatively higher probability of being selected by the ad server 54 than it otherwise would have been. Returning to the previous example, as shown in
Referring back to
Exemplary ad server 54 is a computer system, similar in structure to web server 50, including a central processing unit (CPU) configured to execute computer programs (including an application and operating system software) stored in a program memory (not shown) by reading program instructions from the program memory via a processor bus. The CPU uses program memory, such as RAM (random access memory), for storage of program variables and for computational processes performed under control of application software. Ad server 54 is further configured to access and to communicate data to and from the user profiler 22, search term index database 24, web server 50 and advertisement repository 20.
In a specific embodiment, ad server 54 functions under control of a proprietary computer program residing on a computer medium, such as a hard disk drive, accessible to the ad server. The ad server 54 operates to determine whether an advertisement request from the web server 50 is either an immediate advertisement request 57, or is a subsequent advertisement request 59. An immediate advertisement request 57 provided to ad server 54 is used to fetch an immediate advertisement that accompanies the display of a search results page. The immediate advertisement request 57 is generated by the web server 50 nearly in parallel with the initiation of a search by web server 50 with search engine 52.
The request for an immediate advertisement 57 corresponds to at least one keyword search term submitted by a user in a search query. Ad server 54 receives the immediate advertisement request 57 and responds by selecting an advertisement having a keyword flag 45 set. A keyword flag 45, for example, resides in a register in program memory (not shown) or as a part of a record of advertisement repository 20 of
Upon selecting the most appropriate advertisement to present, as shown in
As with the example of user Ms. X, her first search using the terms “French” and “Resorts” will generate a match list corresponding to advertisement types 2, 4 and 19 for France, Vacation and Europe, respectively. Since Bn is the only advertisement qualified to be presented as an immediate advertisement, since its keyword is set, when the results of Ms. X's search are presented, immediate advertisement Bn will accompany it. Thus, the French rental car agency will be assured an impression.
After the user is presented the immediate advertisement data 56 with the corresponding search results, the user generally selects one or more of the displayed hypertext linked documents. These links are associated with other web pages having contents of interest to the user. Upon selection of a new link, web server 50 operates to serve either a static or dynamic hypertext document according to methods well known in the art. While the web server 50 initiates retrieval of the web page from a hierarchical document repository (not shown), the web server 50 also initiates a subsequent request 59.
The subsequent request 59 is provided to ad server 54 to request the most appropriate time-dependent advertisement to be presented with the contents of the selected web page. Ad server 54 operates to determine which advertisement 44 of the many advertisements in the advertisement repository 20 is to be presented to the user as a time-dependent advertisement. A time-dependent advertisement is an advertisement 44 having an advertisement type 42 corresponding to a search term 76 previously used by the same user 74 to perform an earlier search until that particular search term 76 is no longer available (i.e., expired). Time stamp 77 of
Returning to the example of user Ms. X, her second search using the terms “Rental” and “Car” will generate a match list corresponding to at least advertisement types 26, 93, 441, 593 for Rental Tools, Rental Cars, Auto Sales, and Auto Repair, respectively. Since F1 is the only advertisement qualified to be presented as an immediate advertisement, since its keyword is set, when the results of Ms. X's search are presented, immediate advertisement F1 will accompany it. Thus, if F1 was an advertisement for a German rental car agency, that advertisement will be assured an impression. Assume Ms. X is presented a hypertext link for an American rental car agency with a subsidiary in France. If Ms. X selects the link, the web server will serve up the hypertext document. Additionally, the web server will present a time-dependent advertisement. So long as the “Resort” search term has not expired, a corresponding advertisement, such as advertisement C1, will be available for presentation as a time-dependent advertisement.
Ad server 54 determines which advertisement 44 of those stored in advertisement repository 20 will be presented as a time-dependent advertisement, according, among other things, to the corresponding importance weighting values discussed above. For example, ad server 54 will verify that the advertisements under consideration as a time-dependent advertisement must not also be a keyword advertisement exclusive to a particular search term. If an advertisement is a non-keyword advertisement (i.e., keyword flag is zero), the advertisement that is selected as a time-dependent advertisement may provide the most revenue, or alternatively, may best meet CPM obligations. More specifically, certain advertisements may bring more money than other advertisements per impression. Furthermore, certain advertisements may be further away from guaranteeing a certain number of impressions per time period and thus must have the frequency of presentation increased to meet CPM targets. It should be understood that other weighting factors may be considered in determining which of the non-keyword advertisements are to be presented as a time-dependent advertisement.
Once the optimum advertisement 44 for presentation is determined, ad server 54 provides web server 50 the time-dependent advertisement in time-dependent advertisement data 58. The time-dependent advertisement data 58 includes information, for example, to display the advertisement as a banner, as streaming video, as an audio advertisement, or in other media discernible to human perception, and may also include additional information for practicing the present invention, such as a cookie, as discussed below.
The immediate (i.e., keyword) and time-dependent advertisements described above are presented to a user according to an exemplary process shown in
At 606, the search results are presented to the user. The results are presented to the user as a search results web page having one or more hypertext documents or hypertext links representing documents associated with the search terms of the query. The resulting hypertext links are generated, for example, by a search engine as described above. At 610, a matched keyword advertisement from 608 is presented along with the search results of 606. An exemplary presentation is embodied in a visual advertising banner; however, such presentation is not limited to visual display, but also includes audio advertisements.
After the user is presented with the search results, an accompanying immediate advertisement remains presented until the user selects a web page to view at 612. The user continues his or her research and selects the next web page, for example, by using a computer mouse to click on at least one of the displayed hypertext links. The next web page, when displayed, contains information associated with the search term queried and is accompanied by a time-dependent advertisement. At 614, previously stored search terms are fetched to determine which advertisement in the advertisement database will be presented as a time-dependent advertisement. Some stored search terms, however, are filtered out at 616 if the time stamp indicates that the search term is expired. Expired search terms are generally stale as to providing advertisements of interest to the user. In other words, the shorter the period of time between a selected web page and a previously searched search term, the more inclined a user is to click through an associated time-dependent advertisement.
At 618, the aggregation of search terms are matched against non-keyword terms (i.e., not flagged as a keyword term) similar to 608 for determining a sub-set of advertisements which may be presented as a time-dependent advertisement. At 618, a single time-dependent advertisement is selected from the sub-set of advertisements by determining which of the advertisements in the sub-set is optimal for presentation. For example, the selection process at 618 includes filtering out advertisements that are not related to a previously stored search term (i.e., advertisements not associated with advertisement types related to certain terms), and further includes maximizing revenue as well as meeting guaranteed minimum impression quotas. At 620, the time-delay advertisement is presented to the user accompanied with the content of the next web page.
In this example, however, search information 733 is distilled from the search characteristics entered by the user and is provided back to the user's computing system for future use. Such information includes one or more of the following: an advertisement type, a time stamp which corresponds to a previously presented keyword targeted advertisement, one or more search terms used in the user's query, and other similar types of information. Such distillation is performed, for example, by web server 750. In another example, the information stored on the user's computing system is encrypted as is known in the art of encryption.
In a specific embodiment that facilitates the previous example, search server 714 of
In a specific embodiment, the web server 750 of
In yet another specific embodiment, web server 750 of search server 14 is configured to use a “1.times.1 pixel image,” such as an HTML “web bug,” to initiate the issuance of a TD cookie according to the present invention. Exemplary web server 750 in this embodiment neither need be coupled to nor be required to use search term index 724. Accordingly, the 1.times.1 pixel image is used to issue a TD cookie. For example, if the user has previously performed a search using the search term “real estate,” web server 750 inserts the following exemplary HTML tag, for example, directly into the HTML source instructions: <img width=1 height=1 src=“http://pa_yahoo com/pa?q=real+estate”> where each of the underscores represents a “dot.” The 1.times.1 pixel image is thus presented to the user with the search results page 733 regardless of whether the user might or might not perceive the 1.times.1 pixel image.
As the user's computing system displays the search results, the user's computing system (e.g., browser) initiates a contact with ad server 754, such as pa_yahoo_com ad server. Such contact may be via web server 750 or directly with ad server 754, the interconnection which is not shown. The ad server 754 matches the user's search query to a search term index 724, for example, and issues the TD cookie in the same manner as above. The use of 1.times.1 pixel images is well known in the art of HTTP cookies, so a detailed discussion thus is not necessary.
As shown in
If, however, a search term does match a term in the database at 805, a web server sets a TD cookie that contains an encrypted version of the ad type (i.e., categorization) of the word “shoes” at 808. In this example, it would set the following two bits on: ID=1 and ID=6, which respectively represent advertisement types “Apparel” and “Apparel/Footwear.” The ID represents, for example, which bit of a bit-vector corresponds to a particular advertisement type. In one embodiment, the TD cookie is implemented using a base-64 encoded version of a bit-vector at 810 and contains a list of which bits are set.
At 811, additional search terms of the same search query are additionally matched against the advertisements in the database. If additional terms are queried, then the process is similarly repeated from 804 to 811. At 812, an immediate search advertisement is presented to the user. In one aspect of 812, if two or more search terms are reserved to different advertising entities, then the advertisement importance weighting value described above is used to determine which of the two or more corresponding immediate advertisements will be presented.
After the user has been presented the search results page and the immediate search advertisement, the search server, for example, monitors whether the user has selected a next web page for viewing at 814. If the user does select one of the presented hypertext links for display, then the stored cookie is accessed at 815, for example, by the web server to determine which advertisement from one or more groups of stored advertisements is to be presented to the user. Each group of advertisements corresponds to advertisement type IDs set in the cookie. Lastly, a time-dependent advertisement is presented to the user at 816 so long as the cookie has not expired.
To further illustrate an embodiment of the advertisement generation system, if the user then searches for “pizza” after searching for “shoes,” but before the cookie expires, the TD cookie is re-issued including the new and old data. An exemplary cookie would contain ID=154 (i.e., setting ID 154 bit at 808) representing advertisement type “Food and Beverages” from the pizza query in addition to ID=1 and ID=6. If the cookie expired before the user searched for “pizza,” the new TD cookie would simply contain ID=154. A search for “sushi” within the next few minutes, however, would not set the TD cookie because it, too, is categorized as ID=154, and that bit has been already set due to the pizza search query.
If a keyword term matches the search term “pizza,” then the associated immediate advertisement will be presented. As the user drills down and selects a next web page for viewing, a time-dependent advertisement having an advertisement type of either “Apparel” or “Apparel/Footwear” will be available to be selected as a time-dependent advertisement. Thus, an advertisement for Doris'Clothing, Inc. is presented in lieu of a run of the network ad based upon the cookie's bits represented by ID=1 and ID=6. Such a time-dependent advertisement is presented along with the content of the selected web page by, for example, replacing “q=pizza” with the user's prior query, such as “q=shoes.” Since Doris'Clothing is categorized under the advertisement type “Apparel,” the prior query of “shoes” makes clothing stores available as time-dependent advertisements.
The time-dependent advertisement of the advertisement generation system is described herein with reference to a particular type of user input. More specifically, the advertisement generation system links an advertisement to a search term. It should be understood, however, that the advertisement generation system and the embodiments described herein are usable with many other types of user inputs. For example, the time-dependent advertisement may also relate to a string of text submitted by the user to the web server, such as text entered in a chat room-related web page or any other application facilitating advertising.
For each user action or input received, web server 950 determines and assigns respective user input characteristics 960 to each of the user inputs provided to the web server, including the user inputs themselves. Such characteristics contain a user ID associated with particular user action or input. Another user input characteristic is a time stamp associated with particular terms and indicates the time at which the user input was received by web server 950. The user characteristics are stored in user profiler 952 where the user profiler 952 has a data structure similar to the embodiment depicted in
Referring back to
By way of example, suppose an on-line shopper is viewing a Yahoo! Shopping web page which displays a lamp for sale. If the shopper clicks (i.e., selects) “add to cart” to purchase the item, the shopper's action of clicking a shopping cart button (i.e., user input) is stored in a user profile record associated with that user. As the shopper navigates through other web pages during a period of time, the web server will request a time-dependent advertisement from the ad server. The ad server will select an advertisement from the ad repository based upon on at least the shopper's previous inputs. Thus, the ad server will select a time-dependent ad related to, for example, “lamps,” “lamp merchants,” or “shopping malls,” or any other advertisement linked to the shopper's user input.
The above description is illustrative and not restrictive. Many variations of the invention will become apparent to those of skill in the art upon review of this disclosure. The advertisement generation system also has utility in presenting time-dependent advertisements associated with text entered in chat room-related or message board web pages by particular user. For example, a user might ask other users in a chat room their opinions on the best brand name automobiles for purchase. In such a case, a car dealer, as an advertiser, may present a time-dependent advertisement after the user leaves the chat room for a next web page. Furthermore, the present invention may present an audio advertisement related to the type of music to which a user has listened recently. For example, when a user leaves a first web page presenting streaming audio to the user for a next web page, a time-dependent audio ad may be presented to the user at some later time. In addition, the present invention is not limited to providing time-dependent advertisements, but may also provide a time-dependent object such as text, pictures, music, programs, etc. that is linked to a user input. For example, a graphic having content related to a user input may be presented to a user at a later time (i.e., time-delayed or time-dependent) in lieu of or in addition to a time-delay advertisement. The scope of the invention should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents.