The invention relates to displaying advertisements in a computer network environment, for example, on the Internet.
The computer system 100 illustrated in
As shown in
Communications between the client system 205 and the server system 210 may be provided, for example, by a direct dial up through a modem 215 and a telephone network 220, or through a network connection 225 using, for example, the TCP/IP protocol.
An example of a server system 210 is a host computer that provides subscribers with online computer services such as e-mail, e-commerce, chat rooms, Internet access, and electronic newspapers and magazines. Users of a host computer's online services typically communicate with one or more central server systems 210 through client software executing on their respective client systems 205.
In typical practice, a server system 210 will not be a single monolithic entity. Rather, it will be a network of interconnected server computers, possibly physically dispersed from each other, each dedicated to its own set of duties and/or to a particular geographical region. In such a case, the individual servers are interconnected by a network of communication links. One such server system is provided by America Online, Inc. of Virginia.
A “browser” is an example of client software that enables users to access and view electronic content stored either locally or remotely, such as in a network environment (e.g., a local area network (LAN), an intranet, or the Internet). A browser typically is used for displaying documents described in Hyper-Text Markup Language (HTML) and stored on servers connected to a network such as the Internet. A user instructs a browser to access an HTML document, or web page, by specifying a network address—or Uniform Resource Locator (URL)—at which a desired document resides. In response, the browser contacts the corresponding server hosting the requested web page, retrieves the one or more files that make up the web page, and then displays the web page in a window on the user's computer screen.
Many commercial web-site operators generate revenue by displaying advertisements (or ads) on their web pages. A typical ad is displayed as a “banner”—a generally rectangular graphic image that serves as a link to another web site or URL.
Typically, ads are sold on the basis of cost per thousand impressions (CPM). The definition of an impression varies between advertising mediums. For example, when a radio station plays a commercial, each person tuned to that station counts as an impression. For billboards, each passing motorist that views the billboard counts as an impression. Likewise, each person that is likely to read a display ad in a magazine counts as an impression for that ad. In an interactive media, such as the Internet, each computer screen to which a promotional message is delivered counts as an impression. In all cases, it is the potential that the person saw or heard the ad that constitutes an impression; it is not necessary for the person to actually mentally register the ad or respond to it.
The term “inventory” is used to define the number of potential impressions that an advertising vehicle can generate within a given time frame. For example, an owner of ten billboards on a highway with 10,000 passing motorists a day has a daily inventory of 100,000 ad impressions. This inventory then is sold (e.g., as a paid ad on the billboard). Most advertising inventory is sold in minimum units of 1,000 impressions. The CPM charged to an advertiser varies widely; for example, a late night cable TV ad might be sold at $1 CPM while direct response ads for premium products to a very targeted audience might be sold at $200 CPM. Internet advertising typically is sold anywhere in the $1-$120 range, with most sales falling in the $20-$40 range.
Advertisers create media plans that detail the specifics of an advertising campaign. Typical elements of a media plan include: (1) a budget; (2) a time frame; (3) a target audience; (4) reach (how many people should see the advertising); (5) frequency (how often each person should see the advertising); (6) quantity (derived from the product of reach and frequency); and (7) placement (where the advertising should be presented, such as, for example, on the Internet, on radio, or in a newspaper. Media plans can vary dramatically based on the product being marketed. For example, a movie studio may want to reach a large percentage of the U.S. population within one week of a major blockbuster release, with each person seeing or hearing an ad for the movie at least five times. The movie studio's media plan might call for placement of advertising on prime-time television on all major television networks as well as on drive-time radio on the top three radio stations in every major market.
On the other hand, a high-risk, high-yield mutual fund company interested in marketing a mutual fund product to sophisticated investors with money to invest might want to target only the wealthiest one percent of the U.S. population, with each person seeing the ad twenty times over a three-month period. The mutual fund company's media plan might call for placement of advertising on news and business cable stations, in The Wall Street Journal, and in investor publications. Comparing total spending on their media plans, the movie studio is likely to spend more money on its four-day campaign than the mutual fund company will spend on its three-month campaign. However, because of its placement and targeting, the mutual fund company is likely to purchase its advertising at a much higher CPM.
Similar media plans can be developed for owners of computer network environments, such as web page hosts and operators. Different web pages may be targeted at different audiences with different interests. Some web pages may be general in nature while others may be specific. For example,
Advertising is prevalent on web sites, web TV systems, and browsers, and is likely to experience increased use in these and other computer network-based applications because it provides a source of income for web site operators, just as it does for owners of television stations, billboards, radio stations, and magazines. This income, in turn, may be used to subsidize the cost of the web site and services offered by the website to the end user, and often may make the services free to the end user.
A web page, when displayed in a browser, occupies some portion of the available “real estate” (i.e., visible area) of a user's display monitor. The screen real estate occupied by a given web page typically is divided among ads, links, substantive information, and search engines. Each different type of web page content (e.g., ads, links, or substantive information) can be associated with a different screen real estate area.
As shown in
Users viewing content on the Internet typically do not view an entire page devoted only to advertising. As illustrated in
In one general aspect, a method of presenting advertising to viewers in a computer network environment includes monitoring a viewer's interactions with an associated computer system, and adjusting a timing of advertisements displayed on the viewer's associated computer system based on one or more of the viewer's monitored interactions.
Implementations may include one or more of the following features. For example, adjusting the timing may include adjusting an ad expiration tuning parameter that is configured to set the quantity of time for which an advertisement is available for display, the time of displayed advertisements may be adjusted in a way designed to capture a user's attention, such as by changing advertisements only after the user has been idle for a short, specified period of time (e.g., 5 seconds). In addition, adjusting a maximum display count that sets a maximum number of times an advertisement may be displayed to a user viewing a batch of ads, adjusting a minimum display time that sets a minimum amount of time that an advertisement may be displayed before another advertisement is displayed, adjusting an idle delay that causes a delay from the time a user has gone idle before a first advertisement is replaced with another advertisement, adjusting an active delay that causes a delay from the time a user goes active before displaying another advertisement, and adjusting an idle (no spin) timer that stops the display of a first advertisement from being replaced with the display of another advertisement after a user goes idle for so long that is it unlikely that the user is actually looking at the screen.
Monitoring a viewer's interactions with an associated computer system may include monitoring a maximization and minimization status of a window displaying advertising, and monitoring occlusion of that window. If the window is minimized or occluded, the method may include not switching between advertisements. Monitoring a viewer's interactions with an associated computer system also may include monitoring a viewer's use of a device that sends an input, or causes an input to be sent, to the associated computer system. For example, monitoring a viewer's interactions with an associated computer system may include monitoring use of a computer mouse, a computer keyboard, and/or a microphone.
In another general aspect, a system for presenting advertising to viewers in a computer network environment includes software programmed to monitor a viewer's interactions with an associated computer system, and software to adjust a timing of advertisements displayed on the viewer's associated computer system based on one or more of the viewer's monitored interactions.
In another general aspect, displaying advertisements in a computer network environment includes providing advertisements, providing one or more tuning parameters configured to cause a display of a first advertisement to be changed to a display of another advertisement, and downloading the advertisements and tuning parameters to a viewer's computer.
In another general aspect, optimizing a click-through rate of a user viewing content in a computer network environment includes providing advertisements, providing a set of tuning parameters, downloading the advertisements and tuning parameters to the user's computer, storing click-through information for the advertisements, and sending the click-through information to a host computer. The tuning parameters are configured to cause a display of a first advertisement on a user's computer to be changed to a display of another advertisement on the user's computer based on the user's activity with respect to the user's computer.
Implementations may include one or more of the following features. For example, the tuning parameters downloaded to the user's computer may be varied, and a correlation technique may be used to determine a correlation between the tuning parameters downloaded to the user's computer and the click-through rate of the user. A set of tuning parameters may be associated with each individual ad, or with a group of ads. Another set of tuning parameters may be set based on the correlation between the tuning parameters and the user's click-through rate. This correlation may be further refined by user or by class of user (e.g., by different age groups). In another general aspect, a system for timing the display of advertisements on a web page includes a host computer, a set of at least a first advertisement and a second advertisement, a set of tuning parameters stored on the host computer, and a software program stored on the host computer and including the set of tuning parameters. The tuning parameters are configured to cause a display of the first advertisement to be changed to a display of the second advertisement and are downloadable to a user computer.
The techniques for timing the display of ads provide numerous advantages. For example, timing the start of an ad to coincide with the time that viewers are most likely to be viewing the screen increases the likelihood that viewers actually will view the ad. Timing an ad to end a set amount of time after the ad starts increases the likelihood that viewers will have time to view the ad and decide to click through the ad. By increasing the likelihood that viewers will click through the ad, the CPM for the web site on which that ad is displayed can be increased, which increases the revenue for the web site host or operator. In addition, the methods and techniques for optimizing the tuning parameters can be further used to optimize click-through rates of, for example, ads, web pages, users, and groups of users.
The systems and techniques described here for displaying ads such that they catch and hold viewers' attention are based in part on the premise that viewers tend to pay attention to the transition from one ad to another. Accordingly, by continually varying the lengths of time during which ads are displayed, as well as by basing the transition between ads on viewers' interactions with a computer displaying the ads, the viewers will become and remain engaged. For example, the ads can be transitioned at various times after the user has gone idle with respect to the computer.
Varying the lengths of time that ads are displayed and transitioning between ads based on viewers' interactions can be implemented in systems and techniques using tuning parameters, such as are described below. Such systems and techniques can be employed in virtually any Graphical User Interface (GUI) or other display environment in which content is presented to viewers. For example, the systems and techniques can be employed to considerable advantage in association with an instant messaging GUI. Other examples where similar ad timing techniques could be used include web browsers, web-based TV systems, chat room GUIs, and the like.
The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims.
Referring to
The ads presented in upper advertising hot spot 810 and lower advertising hot spot 820 can be changed periodically to display a series of different ads. The ads 815 and 825 displayed in hot spots 810 and 820, respectively, can be changed simultaneously or at different times. For example, as illustrated in
As illustrated in
As illustrated in
As discussed in more detail below, a portion of the system 800 controls ad timing access and considers system idle time information. In this manner, the timing of ad transitions can be tied to what the user is doing in a particular application that has ads displayed. For example, the timing of an ad transition can be based on the user idle time with respect to the system idle time rather than the application idle time. This is useful because the user may be idle in one application but active in another.
By changing the ads at different times, there is an enhanced likelihood that an ad will catch a user's attention and cause the user to click on the ad. Clicking on the ad 870, for example, causes a linked page 900 to be displayed in the user's web browser window, as shown in
Clicking on an ad hot spot to gain access to the underlying ad content is referred to as a “click through.” The rate at which users click on an ad to go to the linked ad is known as the click-through rate. Typically, click-through rates are reported as a percentage of impressions. For example, two click-throughs per hundred impressions is a click-through rate of two percent.
The click-through rate can be measured and reported for different entities, such as a service, an ad, a web site, a technique of displaying ads, a user, or a category of users. For example, if an ad is particularly eye-catching in comparison to other ads, it is likely to have a greater click-through rate than other, less eye-catching ads. Likewise, if a service or a web site displays ads in a prominent portion of the screen, the ads displayed in that portion of the screen are likely to have a greater click-through rate than other, less prominently displayed ads on the same screen. Techniques and systems for displaying ads, such as by timing the display of ads based on activity of the user, can increase the click-through rate for ads in comparison to ads that are not timed. With respect to timing, statistics can be generated regarding the likelihood of click through relative to, for example, the amount of time that an ad is displayed or the amount of time that the user is idle before the ad is displayed. These statistics can be used to control ad timing in ways that improve click-through rates. In general, if an ad system operator can show an advertiser that displaying an ad on the ad system will cause that ad to have an increased click-through rate, for whatever reason, as compared to another ad system, the ad system operator with the increased click-through rate likely will be able to sell impressions at a premium CPM.
To attract and retain a user's attention in a way that improves the click-through rate, the timing and rate at which ads displayed in advertising hot spots, such as hot spots 810 and 812 of
Tuning parameters may be associated with ads displayed on an instant messaging program screen, or other service, and may be downloaded with the ads in batches. Software supporting the service at the user's system (“client software”) may periodically contact the ad server and download a batch of ads and their associated tuning parameters, where each ad has an associated tuning parameter. For example, the client software may contact the ad server every twenty minutes.
“Ad expiration” refers to the quantity of time for which an ad is available for display. Once the expiration has passed, the ad will no longer be displayed. Typically, the expiration is set for a period of time greater than the frequency with which the client software requests new ads from the server. In this manner, the expiration is a backstop to overcome potential problems resulting from the client software not being able to connect to the ad server, due, for example, to network problems. Should such a case arise, the client software will continue to display the last batch of ads until the problem is solved, or the expiration times of the ads are exceeded. Once the expiration times of all of the available ads have been exceeded, the client software will stop showing ads until contact with the server is reestablished. This ensures advertisers that they will not be billed for ads outside of their contract period. In one example of ad expiration, a particular ad may have its expiration set on the basis of a relative clock, such as for 1 hour, while the frequency of client connection with the ad server is 20 minutes. In this example, the ad will not be displayed in the period beginning one hour after the ad has been downloaded to the client. In another example of ad expiration, a particular ad may have its expiration set to an absolute clock, such as 2 P.M. In this example, the ad will not be displayed after 2 P.M. An absolute ad expiration clock is advantageous when the ad relates to an event that is time sensitive, such as an ad for a sporting event.
“Maximum display count” refers to the maximum number of impressions of a given ad that may be displayed to any one user in one batch of ads. Because ads are sold on a CPM basis, the maximum display count typically is based on the number of impressions purchased and the time period between batches. Thus, if the purchaser of the advertising wants to spread the advertising over a set period, the maximum display count can be specified so that the advertising does not occur in a concentrated portion of that set period. For example, if a company purchases 10,000 impressions and wants to spread the impressions over ten days, the target impressions per day is specified for a subset of the overall time period, e.g., no more than 1,000 impressions per day for each of the ten days. The maximum display count also may be specified by the ad system operator to prevent the display of more impressions than were purchased.
In general, the ad system operator or host has an approximate estimate of how many impressions overall per day will be generated by the ad system screen, such as the screen of an instant message program. The operator or host can use that knowledge to determine how many impressions can be sold. Typically, the distribution of impressions across the ads that are scheduled to run on a given day is done using weighing factors. Thus, if the operator expects to have 10,000 impressions in a day, and has sold 5,000 impressions to one advertiser X and 3,000 impressions to another advertiser Y, leaving 2,000 spare impressions for its own ad Z, the operator may assign the ads proportional weights. These values then define the order in which the ads will be served and the frequency at which each will be served within a batch. Assuming that the operator typically displays twenty ads in a batch, the weights would be used to calculate the maximum display count for each ad. For example, assuming a 20 minute ad batch and approximately one ad per minute, the maximum display count for advertisers X, Y, and Z would be 10, 6, and 4, respectively. This allows the operator to specify the mix of ads to be shown within one batch, while it may not attempt to manage the number of impressions delivered to each advertiser across batches. Thus, if the operator's forecasts are incorrect and there are fewer impressions than expected, all of the advertisers will under perform in proportion to their weight. Similarly, if there are more impressions than expected, the advertisers will over perform in proportion to their weight.
“Minimum display time” refers to the minimum amount of time that an ad must be displayed before another ad is displayed. The values for minimum display time are expressed in seconds, and typically vary between fifteen seconds and five minutes. When an ad is displayed, the ad will stay displayed for its minimum display time. When that time has elapsed, the ad will be rotated out and replaced by another ad, subject to the idle parameter described below. For example, if the minimum display time is set at fifteen seconds, the ad will be displayed for at least fifteen seconds before another ad is displayed. The minimum display time is set lower than the ad expiration time. The minimum display time prevents “ad-idle-ad” situations in which the second occurrence of the ad is only for a fleeting moment.
“Idle delay” designates the time to wait after a user has become “idle” before replacing an ad with another ad. The term “idle” is used to describe the condition in which the user is not interacting with the computer through, for example, either the mouse, the keyboard, or another device that sends, or causes to be sent, an input signal to the computer. If there is a conflict between the ad expiration timing and the idle delay the idle delay, takes priority over the ad expiration timing. The premise of “idle delay” is that shortly after a user has gone idle, the user is most likely to look at the introduction of a new ad. Idle delays may vary between animated ads and normal (non-animated ads) to account for differences in the likelihoods that the viewer has become idle because the user is viewing the ad.
“Active delay” designates the time to wait after a user has become active before rotating in a new ad. The premise of active delay is to provide time for the user to click on the old ad before rotating in the new ad. Without this feature, for example, if a user becomes active after being idle, a new ad may rotate in immediately. This could result in a problem situation in which a user wants to click on an ad, but movement of the mouse toward the ad causes the user to become active, which replaces the ad with a new ad and frustrates the user.
“Idle (no spin)” designates a period of time after a user goes idle to stop changing the ads. The premise of “idle (no spin)” is that the user is unlikely to view ads displayed on a computer monitor after the user has been idle for a specified period of time (e.g., five minutes).
The timing of the change of ads displayed in screen real estate areas can be controlled by the tuning parameters described above. The tuning parameters can be implemented, for example, to cause an ad to be displayed for a specified period after the user has gone idle before the ad is replaced with another ad. The advertiser benefits from such timing based on the premise that the user is more likely to notice an ad shortly after going idle than when the user is active. Delaying the display of an ad so that it appears shortly after the screen's content is updated draws more attention to the ad and increases the likelihood that a user will click on the ad.
Referring to
As illustrated in
As illustrated in
If the timer is greater than or equal to the minimum display time, the client software determines whether the user is idle (step 1056). If the user is not idle, the client software determines whether the active timer A is greater than or equal to the active delay and whether the state variable “ad-ready-to-flip” is set to true (step 1057). If these two conditions are not met, the client software determines that no new ad is to be displayed (step 1053) and checks no other tuning parameters. (In the described implementation, ads can only be changed after a user has been idle. In an implementation in which an ad could be changed when the user is active, without having been idle, the client software would check the active delay tuning parameters.) If these two conditions are met, the client software determines that a new ad should be displayed (step 1065).
If the user is idle, the client software determines whether the user has been idle for more than the idle delay tuning parameter (i.e., I is greater than or equal to the idle delay parameter) (step 1062). If the timer (I) is less than the idle delay tuning parameter, the client software determines that no new ad is to be displayed (step 1053) and checks no further tuning parameters.
If the timer (I) is greater than or equal to the idle delay tuning parameter, the client software sets the “ad-ready-to-flip” state variable to true (step 1058) and determines whether the user has been idle for less than the no spin parameter (step 1059). If the timer (I) is greater than or equal to the no spin tuning parameter (step 1059) the client determines that no new ad is to be displayed (step 1053). If the user has been idle for less than the no spin parameter (step 1059), the client software determines that a new ad is to be displayed (step 1065). The client software then returns to the procedure 1000.
Upon returning to the procedure 1000, the software determines whether there has been a change in the user's status (step 1080). If so, the software obtains user information (step 1085).
Next, the software determines whether a new ad should be displayed (step 1090). If a new ad should be displayed, the procedure loops back and displays the next unexpired ad that has a count less than the maximum display count tuning parameter (step 1030). If a new ad should not be displayed, the software loops back and checks the tuning parameters again (step 1040).
Referring to
Typically, after an agreement has been reached between an advertiser and an advertising system operator, the operator determines and sets the appropriate tuning parameters for the ads (step 1105). This may be done, for example, by entering the parameters into a database of tuning parameters corresponding to ads. These tuning parameters then are stored on the host computer (e.g., the computer acting as the server for an instant messaging system) (step 1110). When a user initiates an online session with the host computer (step 1115), the host computer downloads a first set of ads and associated stored tuning parameters to the user's computer (step 1120). As the user takes part in the online session, the ads are displayed in accordance with the first set of tuning parameters (step 1125). If the user is online for a sufficient period, and/or the entire sequence of ads defined by the first set of tuning parameters is viewed (step 1130), the user's computer contacts the host computer and requests a second set of ads and tuning parameters (step 1135). The new ads and tuning parameters are downloaded to the user's computer (step 1140), which then causes ads to be displayed in accordance with the second set of parameters (step 1145).
As an example of a set of tuning parameters, assume that an ad system operator has received orders from three advertisers that wish to advertise on a screen of that ad system operator, and that only one user views that screen. The advertisers will have paid for a specific number of impressions and the ad system operator will determine and specify the tuning parameters to provide optimal effectiveness of the ads. In this example, Advertiser #1 has paid for 1,000 normal (i.e., static) impressions over 10 days at a rate of 100 impressions per day. Advertiser #2 has paid for 2,000 animated impressions over two days at a rate of 1,000 impressions per day. Advertiser #3 has paid for 900 normal impressions over one day. Referring to Table I, the ad system operator are might create the tuning parameters shown to specify how sequencing between ads will be controlled. First, the maximum display counts are set to be 1, 10, and 9, respectively. The ad expiration parameter is set to ten days, two days, and one day, respectively, for the three ads. The minimum display time is set at one minute for each ad, and the idle delay is set at two seconds for each ad. The active delay typically also is set at two seconds. The idle (no spin) typically is set at a value of approximately five minutes. In general, in this example, the main value that varies between ads is the maximum display count, though other values can also vary.
Based on the tuning parameters selected for the ad displayed for Advertiser #1, the ad will be displayed one time in each 20 minute batch. Each time it is displayed, the ad will be displayed for at least one minute before it is replaced with one of the other two ads. Based on the setting of the idle delay parameter, the ad will not be replaced until the user has been idle for two seconds. The idle delay parameter benefits the advertiser based on the premise that the user is more likely to notice an ad shortly after going idle than when the user is active.
If the user is not viewing the ad, because, for example, the ad is minimized or occluded or if the user is idle, the active delay parameter causes an ad rotation to be delayed until two seconds after the user returns to being active. In this manner, the ad will be displayed on the screen two seconds after the user has gone active. For example, the user may have received a telephone call and consequently is not viewing the screen or using the computer, which may cause a screen saver to be displayed on the screen. When the user reverts to being active, as evidenced by moving the mouse or using the keyboard, the screen saver is replaced by the previously-viewed screen. The ad then is displayed two seconds after that screen is displayed. This allows the user two seconds to click on the ad before the ad is replaced by another ad. Because the idle (no spin) tuning parameter for Advertiser #1 is set at 5 minutes, ad of Advertiser #1 will not be displayed after five minutes of idle time has passed. This parameter is set to avoid providing impressions on a screen that potentially is not being viewed by the user, as evidenced by the lack of user interaction with the computer.
As shown in
To provide specific examples of the decision making process 1000,
Referring to
The tuning parameters listed in Table III are used to control the display of the ads 815, 870. As discussed above with respect to
If the timer (T) is greater than the no spin tuning parameter, the client software determines whether the timer is greater than the expiration tuning parameter (step 1068). If the timer is greater than the expiration tuning parameter, the ad is cleared (step 1071) and the client software determines that no new ad is to be displayed (step 1053) and returns to the procedure 1000.
If the user has been idle for less than the no spin tuning parameter, the client software determines whether the idle timer (I) is greater than the idle delay tuning parameter (step 1062). Assuming that the timer (I) has exceeded the idle delay tuning parameter, a new ad (i.e., ad 870) is selected for display (step 1065) and the client software returns to the procedure 1000.
Upon returning to the procedure 1000, the software determines whether there has been a change in the user's status (step 1080). If so, the software obtains user information (step 1085). Next, the software determines whether a new ad should be displayed (step 1090). If a new ad should be displayed, the procedure loops back and displays the next ad that has a count less than the maximum display count tuning parameter (step 1030). If a new ad should not be displayed, the software loops back and checks the tuning parameters again (step 1040).
In general, the tuning parameters and their use described above can be applied to any form of computer-based advertising, such as web pages, web TV applications, and instant messaging services. Techniques using the tuning parameters provide substantially improved effectiveness when incorporated in client-based software (i.e., software that resides or is installed on the user's computer). Such software may be, for example, a browser, an instant messaging service, a web-based TV application, or an Internet provider's proprietary client-based software that is supplied to a user when signing up for Internet service from that provider. The tuning parameters are delivered to the client-based software from the host computer at the start of a session when the client's computer initially connects to the host's computer.
After the tuning parameters are delivered to the client's computer, the parameters implement the display of ads based on those parameters. Because the display of ads is influenced by the quantity of time during which the user is active or idle, or the screen is minimized, the ads will be viewed over a variable length of time. Conceivably, not all of the ads will be viewed during the user's connection to the host, or they all may be viewed during a first portion of the user's connection to the host. In the case of the latter, the user's computer will request that the host computer supply a new set of ads and associated tuning parameters. In this manner, the user's computer will be supplied a second set of ads and associated tuning parameters whenever the user has viewed the entire set of previous ads.
In general, each batch of ads and parameters is designed to be more than enough for the client software to show before the next batch of ads is fetched. In other words, the batches rarely run out before the 20 minute inter-batch interval has expired. Accordingly, sending a batch of ads to the client does not in and of itself generate impressions. It is the act of the client displaying the ads, in accordance with the parameters, that generates impressions. For this reason, the client reports back to the host on how many impressions and/or click-throughs have been generated. This allows the host to adjust the counts of how many ads need to be displayed, and to adjust the tuning parameters accordingly for future batches. The client reports these actual impression counts at two different times. First, when it goes to fetch a new batch of ads it reports the impressions that were generated since the last time it reported. Second, if the user clicks on an ad, the client reports on the impressions since the last report, and, of course, the click. In this manner, the advertiser is assured that the impressions purchased are delivered because the user's next connection to the host computer will include a set of ads and tuning parameters that are specified based on the number of ads viewed in the previous session. In addition, when the user logs out, information, such as the number of clicks and the impressions viewed by the user, is returned to the host computer.
In addition to notifying the host computer of the quantity of impressions provided, the user's computer provides information about the clicks the user has made. When a user clicks through an ad, that information is recorded and provided to the host computer, and can be used to analyze the effectiveness of an ad as well as the tuning parameters specified for the ad. For example, a matrix of tuning parameters can be selected and correlated to click-through rate to determine the most effective tuning parameters with respect to a particular user, classes of users, users in general, or for a format of advertising.
Each tuning parameter, or a combination of tuning parameters, can be optimized with respect to click-through rate by using standard optimization methods. This may be done, for example, according to the procedure 1300 illustrated in
The techniques, methods and systems described here may find applicability in any computing or processing environment in which content is to be displayed to a viewer. In particular, the concept of varying the timing between displayed content transitions could be used whenever it is desirable to attract and/or retain the viewer's attention. For example, web page content other than, or in addition to, ads could be displayed with dynamically altered transition timing. As another example, the timing between displays of status indicators or warnings could be varied to engage an equipment operator such as a pilot or a nuclear plant operator. The timing also can be used in interactive software applications in which the user must interact with part of a screen or display. For example, installation software may use the techniques and methods described here to assist the user installing the software by varying the timing of interactive portions of the screen or portions that have key information that the user must notice and read.
Various implementations of the systems and techniques described here may be realized in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations thereof. A system or other apparatus that uses one or more of the techniques and methods described here may be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer system to operate on input and/or generate output in a specific and predefined manner. Such a computer system may include one or more programmable processors that receive data and instructions from, and transmit data and instructions to, a data storage system, and suitable input and output devices.
Each computer program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors.
Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks.
Any of the foregoing may be supplemented by, or implemented in, specially designed ASICs (application-specific integrated circuits).
A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims.
This is a division of application Ser. No. 09/690,007, filed Oct. 17, 2000 now U.S. Pat. No. 7,962,604 and claims the benefit of U.S. Provisional Application No. 60/195,991, filed Apr. 7, 2000. Both applications are incorporated by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
4674041 | Lemon et al. | Jun 1987 | A |
5029104 | Dodson et al. | Jul 1991 | A |
5105184 | Pirani et al. | Apr 1992 | A |
5305195 | Murphy | Apr 1994 | A |
5347632 | Filepp et al. | Sep 1994 | A |
5572643 | Judson | Nov 1996 | A |
5724521 | Dedrick | Mar 1998 | A |
5737619 | Judson | Apr 1998 | A |
5740549 | Reilly et al. | Apr 1998 | A |
5742768 | Gennaro et al. | Apr 1998 | A |
5754830 | Butts et al. | May 1998 | A |
5774534 | Mayer | Jun 1998 | A |
5781894 | Petrecca et al. | Jul 1998 | A |
5805815 | Hill | Sep 1998 | A |
5809242 | Shaw et al. | Sep 1998 | A |
5828837 | Eikeland | Oct 1998 | A |
5848396 | Gerace | Dec 1998 | A |
5854897 | Radziewicz et al. | Dec 1998 | A |
5913040 | Rakavy et al. | Jun 1999 | A |
5929849 | Kikinis | Jul 1999 | A |
5933811 | Angles et al. | Aug 1999 | A |
5937392 | Alberts | Aug 1999 | A |
5946646 | Schena et al. | Aug 1999 | A |
5948061 | Merriman et al. | Sep 1999 | A |
5973683 | Cragun et al. | Oct 1999 | A |
5991735 | Gerace | Nov 1999 | A |
5999912 | Wodarz et al. | Dec 1999 | A |
6009409 | Adler et al. | Dec 1999 | A |
6009410 | LeMole et al. | Dec 1999 | A |
6011537 | Slotznick | Jan 2000 | A |
6035332 | Ingrassia, Jr. et al. | Mar 2000 | A |
6108637 | Blumenau | Aug 2000 | A |
6119098 | Guyot et al. | Sep 2000 | A |
6128651 | Cezar | Oct 2000 | A |
6133912 | Montero | Oct 2000 | A |
6138155 | Davis et al. | Oct 2000 | A |
6141010 | Hoyle | Oct 2000 | A |
6167235 | Sibecas et al. | Dec 2000 | A |
6177931 | Alexander et al. | Jan 2001 | B1 |
6182050 | Ballard | Jan 2001 | B1 |
6185586 | Judson | Feb 2001 | B1 |
6230204 | Fleming, III | May 2001 | B1 |
6250428 | Amo et al. | Jun 2001 | B1 |
6285985 | Horstmann | Sep 2001 | B1 |
6299934 | Manning | Oct 2001 | B1 |
RE37456 | Brisson | Nov 2001 | E |
6314451 | Landsman et al. | Nov 2001 | B1 |
6317761 | Landsman et al. | Nov 2001 | B1 |
6317789 | Rakavy et al. | Nov 2001 | B1 |
6339761 | Cottingham | Jan 2002 | B1 |
6351736 | Weisberg et al. | Feb 2002 | B1 |
6457025 | Judson | Sep 2002 | B2 |
6460036 | Herz | Oct 2002 | B1 |
6463468 | Buch et al. | Oct 2002 | B1 |
6466967 | Landsman et al. | Oct 2002 | B2 |
6484148 | Boyd | Nov 2002 | B1 |
6502076 | Smith | Dec 2002 | B1 |
6636247 | Hamzy et al. | Oct 2003 | B1 |
6647257 | Owensby | Nov 2003 | B2 |
6654725 | Langheinrich et al. | Nov 2003 | B1 |
6763379 | Shuster | Jul 2004 | B1 |
6771290 | Hoyle | Aug 2004 | B1 |
6799209 | Hayton | Sep 2004 | B1 |
6820277 | Eldering et al. | Nov 2004 | B1 |
6876974 | Marsh et al. | Apr 2005 | B1 |
6892354 | Servan-Schreiber et al. | May 2005 | B1 |
7039599 | Merriman et al. | May 2006 | B2 |
7058036 | Yu et al. | Jun 2006 | B1 |
7103099 | Paz et al. | Sep 2006 | B1 |
7103643 | Jacobs et al. | Sep 2006 | B1 |
7340760 | Wachtfogel et al. | Mar 2008 | B2 |
7548874 | Kanevsky et al. | Jun 2009 | B2 |
7647609 | Wachtfogel et al. | Jan 2010 | B2 |
7844488 | Merriman et al. | Nov 2010 | B2 |
7882519 | Wachtfogel et al. | Feb 2011 | B2 |
7962604 | Morris et al. | Jun 2011 | B1 |
20010034637 | Lin et al. | Oct 2001 | A1 |
20020010623 | McCollom et al. | Jan 2002 | A1 |
20020013167 | Spaur et al. | Jan 2002 | A1 |
20020013174 | Murata | Jan 2002 | A1 |
20020016736 | Cannon et al. | Feb 2002 | A1 |
20020077130 | Owensby | Jun 2002 | A1 |
20050026694 | Kelly et al. | Feb 2005 | A1 |
20060036495 | Aufricht et al. | Feb 2006 | A1 |
20070038728 | Jacobs et al. | Feb 2007 | A1 |
20110093884 | Wachtfogel et al. | Apr 2011 | A1 |
Number | Date | Country |
---|---|---|
WO 9821664 | May 1998 | WO |
WO 9913423 | Mar 1999 | WO |
Number | Date | Country | |
---|---|---|---|
20110225054 A1 | Sep 2011 | US |
Number | Date | Country | |
---|---|---|---|
60195991 | Apr 2000 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09690007 | Oct 2000 | US |
Child | 13115040 | US |