Advertising Triggers Based on Internet Trends

Among other things, a computer-implemented method for presenting an ad. The method includes receiving from an advertiser a predetermined level of online interest in a specified topic. The method further includes determining whether a current level of online interest meets or exceeds the predetermined level, and selectively presenting the ad based on the determination.

TECHNICAL FIELD

This specification relates to event-driven ad placement.

BACKGROUND

A key objective for advertisers is increasing the efficiency and effectiveness of ad campaigns. The efficiency of the ad campaign can be improved, among other things, by real time reporting and copy splitting. Methods and systems are needed to improve the effectiveness of the ad campaigns.

SUMMARY

This specification describes methods and systems for advertising based on internet trends.

In one aspect, a computer-implemented method for presenting an ad is described. The method includes receiving from an advertiser a predetermined level of online interest in a specified topic. Subsequently, a determination is made whether a current level of online interest meets or exceeds the predetermined level. Based on the determination, the ad is selectively presented.

Further implementations can optionally include the following features. The ad may be presented if the current level of online interest meets or exceeds the predetermined level, otherwise no ad or a substitute ad may be presented. The level of online interest (that can be expressed in terms of an Internet trend) includes a count of keyword searches in the specified topic that have been entered in a web search interface during a time increment. The level of online interest can also be a running average of the counts taken over a plurality of time increments. Furthermore, the count of keyword searches can be segregated by a geographical region and/or a sub-region based on an origin of the keyword searches.

In another implementation, the specified topic can include more than one term. Additionally, the predetermined level of online interest in the specified topic can be set to a level that is constant in time. Alternatively, the predetermined level of online interest in the specified topic can also be a change in level over a predetermined time (a rate of online interest) or a change in level between the current level and a predicted level over a predetermined time.

In yet another implementation, the predetermined level of online interest in the specified topic can be a relative change between levels of online interest regarding two aspects of the specified topic. Alternatively, the predetermined level of online interest in the specified topic can be a relative change between the level regarding a first aspect and an offset to the level regarding a second aspect. In some implementations, the predetermined level of online interest in a specified topic can be established based on examination of historical levels of online interest in the specified topic. Optionally, the historical levels of online interest in the specific topic can be segregated by geographical regions and/or sub-regions. Geography-specific (or market specific) predetermined levels may be established based on the foregoing segregation.

Further implementations can optionally include the following features. The ad may be presented based on a current balance of a monetary fund (provided by the advertiser) exceeding a minimum cost for presenting the ad.

Additionally, the method can be implemented to cause an over-the-air, cable, satellite or internet radio content provider to broadcast the ad. Alternatively, the ad can be posted on a web site, billboard, or in print media.

In another aspect, a server for scheduling an ad includes a computerized electronic device configured to receive from an advertiser a predetermined level of online interest in a specified topic. The computerized electronic device is also configured to determine whether a current level of online interest meets or exceeds the predetermined level and to selectively schedule the ad based on the determination.

In yet another aspect, a computer-implemented method for bidding for unsold ad spots is described. The method includes establishing a predetermined level of online interest in a specified topic. A notification of an unsold ad spot is received from a broker. The method further includes determining whether a current level of online interest meets or exceeds the predetermined level, and selectively bidding for the received unsold ad spot based on to the determination.

In another aspect, a computerized electronic device is configured to establish a predetermined level of online interest in a specified topic. The computerized electronic device is also configured to receive from a broker a notification of an unsold ad spot. Furthermore, the computerized electronic device is configured to determine whether a current level of online interest meets or exceeds the predetermined level, and to selectively bid for the received unsold ad spot based on to the determination.

The subject matter described in this document potentially can provide various advantages. For example, an advertiser can define a rule to present a specific ad when internet search volume on a specified topic (in a particular market) exceeds a particular threshold. This allows an advertiser to concentrate spending to the periods when the ad is most relevant. The foregoing procedures can help campaign managers in determining more precisely when to start advertising in specific markets to increase the effectiveness of the ad campaign. Thus, consumers who are most interested in the advertised product can be reached during peak interest.

The subject matter described in this specification can be implemented as a method or as a system or using computer program products, tangibly embodied in information carriers, such as a CD-ROM, a DVD-ROM, a HD-DVD-ROM, a Blue-Ray drive, a computer memory, and a hard disk. Such computer program products may cause a data processing apparatus to conduct one or more operations described in this specification.

In addition, the subject matter described in this specification can also be implemented as a system including a processor and a memory coupled to the processor. The memory may encode one or more programs that cause the processor to perform one or more of the method acts described in this specification. Further the subject matter described in this specification can be implemented using various data processing machines.

Other features, objects, and advantages of the subject matter of this specification will be apparent from the description and drawings, and from the claims.

DETAILED DESCRIPTION

The systems and methods described in this document enable an advertiser to deliver highly effective ads, for example radio ads. Other advertising media may be TV and print. The radio and TV ad broadcast may be over the air or over the internet. Ads may also be posted on billboards, magazines and newspapers, in their tangible form or online. One exemplary advantage of the methods disclosed here is that advertisers can direct ad campaigns based on internet trends (activity) on and around a specified topic. Internet trends illustrate levels of online interest in the specified topic as a function of time. Therefore, the internet trends ultimately express a time evolution of consumer interest in products or services related to the specified topic.

This document describes systems and methods for specifying the conditions under which an ad is presented based on general online activity. For example, an advertiser indicates that a radio ad can be played, in a given market, if a web search volume (query-count) for a particular term or groupings of terms exceeds a predefined threshold. Advertisers can specify that certain ad campaigns participate in an auction (and/or buy ad spots) only in markets where special events are triggered. In a preferred implementation, data from Google Trends can be used for event targeting and triggering. Google Trends shows the number of keyword-based inquiries using the Google web search interface. Therefore, the internet trend for a specific subject tends to be a good proxy for estimating the interest that people have in that subject. The foregoing approach can be used by advertisers to determine: (1) the trend for searches related to an advertised product, and (2) the relative trend of the advertised product compared to a baseline. The baseline can be established, for example, in terms of the competition or the general market for the advertised product. Ad campaigns can react to changes in these trends.

In an exemplary implementation illustrated inFIG. 1, a user interface100is configured to allow an advertiser to enter one or more keywords. For example, advertisers advertise fire insurance in Southern California from May through October during the fire season. If an advertising campaign is set up as a block of time from May to September, the advertiser spends money uniformly during that entire period. A more effective way to spend advertising money is to present the ad when a particular event of interest occurs. It will be shown below that an advertiser can define a rule to broadcast a specific ad when search volume in a particular market (for example based on Google Insights for Search) exceeds a particular threshold. This allows an advertiser to concentrate spending to the periods when the ad is most relevant.

In this document, the term Internet trend represents an online interest in a specified topic over time, or equivalently a time series of the online interest in the specified topic. The terms online interest and level of online interest are used interchangeably. Online interest in a specified topic is defined as the relative (or normalized) search volume returned by a search engine, in the same fashion the search volume data is returned by, for example, Google Insights for Search. The search volume is defined as a count (or total number) of times a keyword (or synonym of the keyword) has been entered/queried in a search engine during a time increment. The time increment can be of order minutes, hours, days, etc. The count of keyword-queries during the latest time increment is referred to as the current level of online interest. In a preferred aspect, the search engine is the Google search engine although data from other search engines could be used.

Returning toFIG. 1, for example, the time series20represents the internet trend or the level of online interest in wildfires during the previous year. There are monthly divisions on the time axis50, but the time increment is 1-day, i.e., a count of wildfire-queries is taken at the end of each day. The y-axis55represents the normalized daily count of “wildfires”-queries, i.e., the y-axis range is 0-100. In an alternative implementation, the level of online interest can be presented as a running average of the count of keyword-queries. The running average can be calculated over a preset number of time increments, for example a 5-day running average, 50-day running average, etc.

The “wildfires” internet trend can be used by a fire insurance provider to effectively target ad campaigns. The advertiser can define a threshold30either as a function of a baseline (“Baseline”) or of one of the entered terms (“Relevant Trend”). InFIG. 1the threshold is a predetermined level of online interest equal to 18 (normalized value). The advertiser may request to present the ad if the search volume of the topic “wildfires”20is greater than or equal to the threshold30(based on user selection35). Previously, an ad offering fire insurance was presented starting in early May (40), when the level of online interest in wildfires20became larger than the predetermined level of online interest30. The condition for running the ad remained true until late May (45), when the level of online interest in wildfires20became less than the predetermined level of online interest30. In accordance with the foregoing procedure and the threshold30illustrated inFIG. 1, the fire insurance ad was presented for a total number of 6 different time periods during the prior 12-month period. Notably, the advertiser did not spend money continuously during the “actuarial fire season” (from May through October), instead money was spent only during the periods of highest consumer interest in wildfires, and presumably highest fire insurance interest. It will be described below in reference toFIGS. 4-5that the internet trends can be limited to (or segregated into) internet trends based on queries originated from geographical areas selected by the advertiser.

An advertiser can adopt a procedure for ad rotation based on alternating an ad and a substitute ad on a daily or weekly basis. In another aspect, the ad-triggering procedure based on internet trends and described in reference toFIG. 1can be adapted to determine the best ad to play on behalf of the advertiser if an ad campaign includes multiple ads. For example, during times of high online interest in wildfires consumers may be at home guarding their property, but during times corresponding to low online interest in wildfires consumers whom are outdoors enthusiasts may be riding all-terrain vehicles (ATV) in the back-country. Therefore, referring again toFIG. 1, at time45the fire insurance ad was replaced with a substitute ad for ATV insurance. Accordingly, an ad offering fire insurance was presented when the level of online interest in wildfires20became larger that the predetermined level of online interest30, and a substitute ad for ATV insurance was presented when the level of online interest in wildfires20became less than the predetermined level of online interest30.

FIG. 2is a schematic representation of a system for implementing advertising based on internet trends. A hub60is communicatively coupled via a network (represented by the cloud) with an advertiser70and a monitor of online interest (or internet trends)80. The network can be the internet, a local area network or a wide area network. The hub60is also communicatively coupled to one or more of an ad-presenting entity90, a radio station92, a TV station94, a newspaper96and a billboard98.

The hub60includes a computerized electronic device configured to provide the interface100discussed in reference toFIG. 1. The interface100can be provided locally at the hub60. In another aspect, the interface100can also be presented as a web service by a server at the hub60, and may be accessible remotely, via the network, from the advertiser70or any of the ad-presenting entities90-98. An advertiser70uses the interface100to input one or more ads to be presented by one of the ad-presenting entities90-98. Additionally, the advertiser70also inputs a specified topic to monitor the internet trend relative to a predetermined threshold. The threshold is also provided by the advertiser70. The internet trends on the specified topic are procured by the hub60from the monitor of online interest80.

The monitor of online interest80can be an internet-based service provider including a plurality of computerized electronic devices. In a preferred implementation, the monitor of online interest80is Google (Google Insights for Search or Google Trends).

The advertiser70includes a computerized electronic device configured to remotely access (via the network) the interface100presented at the hub60. The computerized electronic device of the advertiser70is configured to run a browser. The advertiser70also includes a store for storing ads, creatives, campaigns as electronic files or links. The ad, creative and campaign files or links can be transferred to the hub60prior to the start of or during an ad campaign.

The generic ad-presenting entity90, the radio station92, the TV station94, the newspaper96and the billboard98each include a respective computerized electronic device configured to receive from the hub60the ad to be presented. The ad-presenting entities90-98are further operated to present the received ad based on instructions, a schedule, etc. transmitted by the hub60.

FIG. 3illustrates an exemplary method300for advertising based on internet trends. The method300can be implemented within the advertising system200and further performed at the hub60.

At step310, the hub60receives from the advertiser70a predetermined level of online interest30in a specified topic20. The advertiser70can enter input parameters to the interface100provided by the hub60via the network.

The specified topic20is selected (entered) by the advertiser. The specified topic20can be an advertised product. For example, an advertiser may trigger the presentation of Product X ads in response to the current level of online interest in Product X. The specified topic20can also be a term other than the product (for example, “wildfires”).

Furthermore, the specific topic20can be an action, condition or event caused by the advertised product. For example, an advertiser may trigger the presentation of MP3player ads in response to the current level of online interest in sale of MP3s. Additionally, the specific topic20can be an action, condition or event prevented by the advertised product or service. For example, an advertiser may trigger the presentation of gym membership ads in response to the current level of online interest in obesity. In one embodiment, an advertiser can select a group of terms relating to a specific topic and specify that one, some all, or an average exceed the specified amount or percentage.

The predetermined level of online interest30can be of different types and can have different values. The type and value of the predetermined level of online interest30is selected by the advertiser. The predetermined level of online interest30can be a threshold that is constant over time. For example, the predetermined level of online interest30in wildfires illustrated inFIG. 1is 18 on a scale of 0 to 100.

The predetermined level of online interest30can be a selected change in the level of online interest over a predetermined time, or equivalently a selected rate of the level of online interest. For example, the predetermined level of online interest30in wildfires illustrated inFIG. 1may be a weekly rate of 5%/week. In this example, the weekly slope of the internet trend in wildfires that triggers the presentation of fire insurance ads is 5%. Notably, if the predetermined period of time is chosen to be the time increment (1 day), then the rate of the level of online interest is equivalent to a first derivative (or slope) of the internet trend.

The predetermined level of online interest30can be a selected change in the rate of the level of online interest over a predetermined time, or equivalently a selected rate of the rate of the level of online interest. For example, the predetermined level of online interest30in wildfires illustrated inFIG. 1may be a week-over-week change in the weekly slope of 0.2%/week/week. In this example, the week-over-week change in the weekly slope of the wildfires internet trend that triggers the presentation of fire insurance ads is 0.2%. Specifically, if the weekly rate two weeks ago was 3%/week, and if the weekly rate last week was 3.4%/week, the change in the weekly rate of 0.4%/week that happened over a week will trigger the presentation of fire insurance ads. Notably, if the predetermined period of time is chosen to be the time increment (1 day), then the rate of the rate of the level of online interest is equivalent to a second derivative (or curvature) of the internet trend.

Returning toFIG. 3, at step320, the hub determines whether a current level of online interest20meets or exceeds the predetermined level30. If the current level of online interest in the specified topic20meets or exceeds the predetermined level the hub presents the ad (including placing the ad into an auction to be placed). If the current level of online interest in the specified topic20does not meet the predetermined level, the hub does not present the ad (including no placing the ad into an auction to be placed).

If the determination at step320is positive, then at step330, the hub presents the ad. In general, when this document mentions placing an ad or not placing an ad, such placement can include placing or not placing an ad into an auction for placement. If the positive determination occurred for the first time (as was the case inFIG. 1, in early May40), then the hub60transmits the ad for presentation to one of the ad-presenting entities90-98. Alternatively, hub60instructs the ad-presenting entities90-98, that are currently storing the ad, to present the ad for the first time, or to continue to present the ad.

At step360, the hub60waits for a predetermined time increment before looping back to determine whether the current level of online interest in the specified topic meets or exceeds the predetermined level. In the meantime, the ad-presenting entities90-98are presenting the ad.

If the determination at step320is not positive, then at step340, the hub determines whether an alternative or substitute ad is available. When no substitute ad is available, the hub does not present the ad as part of step345. If the ad was being presented by the ad-presenting entities90-98when the determination at step320was taken (as was the case inFIG. 1, in late May45), then the hub60instructs the ad-presenting entities90-98to stop presenting the ad. If the ad was not being presented by the ad-presenting entities90-98when the determination at step320was taken, then the hub60omits placing the ad.

At step360, the hub60waits for a predetermined time increment before looping back to determine whether the current level of online interest in the specified topic meets or exceeds the predetermined level. In the meantime, the ad-presenting entities90-98are not presenting the ad.

If the determination at step340is positive, then at step350, the hub presents the substitute ad. If the positive determination occurred for the first time, then the hub60transmits the substitute ad for presentation to one of the ad-presenting entities90-98. Alternatively, hub60instructs the ad-presenting entities90-98, that are currently storing the substitute ad, to either continue to present the substitute ad, or to replace the currently presented ad with the substitute ad.

At step360, the hub60waits for a predetermined time increment before looping back to determine whether the current level of online interest in the specified topic meets or exceeds the predetermined level. In the meantime, the ad-presenting entities90-98are presenting the substitute ad.

Several exemplary implementations of method300are illustrated inFIGS. 4-7. Additionally, method300can be integrated with other procedures performed by the hub60. An exemplary implementation of such integration is presented in reference toFIG. 8.

FIG. 4shows an exemplary implementation of method300, where the specified topic is school supplies20-1,20-2. Internet trends20on school supplies displayed in interface100can be used by a first advertiser to trigger presenting a first ad related to school supplies. The same internet trends20on school supplies can be used by a second advertiser to trigger presenting a second ad related to after-school child care. In the implementation illustrated inFIG. 4, the time series of the online interest in school supplies is segregated in two internet trends: A first internet trend20-1illustrates online interest in school supplies based on queries originated in Washington State, while a second internet trend20-2illustrates online interest in school supplies based on queries originated in Arizona.

An advertiser for a national department store can set a predetermined level of online interest30to trigger presentation of a school supplies ad. The predetermined level illustrated inFIG. 4has a value of 20 (normalized on a scale from 0 to 100.) Using method300, the advertiser can avoid presenting the ad continuously during July through September, the traditional “back to school” period of time. Furthermore, the advertiser can present the ad only during peak online interest in school supplies (above the threshold30), separately in Washington20-1(from40-1to45-1on the time scale) and Arizona20-2(from40-2to45-2on the time scale). For example, the advertiser stops presenting the ad in Arizona in mid-August45-2(when the online interest20-2drops below the threshold30) and saves advertising money. In the meantime, the ad is being presented in Washington for three more weeks (from45-2to45-1), because the online interest in Washington continues to exceed the predetermined level30.

In another aspect, the count of keyword-queries can be segregated into and grouped by two or more geographical regions. In yet another aspect, the count of keyword-queries can be segregated into and grouped by two or more geographical regions and sub-regions. A geographical region (sub-region) can represent a designated market area (DMA). The level of online interest in a specified topic or event, such as “school supplies” inFIG. 5, reflects the level of interest that people in certain (geographic) markets have for the specific topic or event. As illustrated in the cases of Washington and Arizona, people in different markets react to an event (beginning of the school year) at different times compared to people in other markets. The foregoing findings can help campaign managers in determining more precisely when to start advertising in specific markets to increase the effectiveness of the ad campaign. Thus, consumers who are most interested in the advertised product can be reached during peak interest.

FIG. 5shows an exemplary implementation of method300, where the specified topic is tornados20. Internet trends20on tornados displayed in interface100can be used by an insurance provider to trigger presentation of a home insurance ad. A first internet trend20-1illustrates online interest in tornados based on queries originated in California, and a second internet trend20-2illustrates online interest in tornados based on queries originated in Kansas.

The predetermined level30illustrated inFIG. 5has a value of 20 (normalized on a scale from 0 to 100.) Again, using method300, the advertiser can avoid presenting the ad during the entire tornado season from April through October. Furthermore, the advertiser can present the ad only during peak online interest in tornados (above the threshold30), separately for California20-1and Kansas20-2(from40-2to45-2on the time scale). According to the internet trends on tornados20-1and20-2there are a few weeks when people were extremely interested in tornados in Kansas, but the interest in California was never significant. Advertisers who sell home insurance can focus on their best customer base if they advertise insurance during the weeks of May and June in Kansas. Notably, the online interest in California did not reach the predetermined level30throughout the prior 12-month period, thus the advertiser avoids advertising in California altogether and saves significant advertising money in the meantime.

According to the exemplary implementation of method300illustrated inFIGS. 4 and 5, relative differences between internet trends in two states can provide an advertiser with useful ad triggering means. In another implementation, internet trends for more than two states, for example for the entire US, can be used by an advertiser to decide whether an ad campaign should be pursued or not in each specific market. National-level internet trends on a specified topic may not correctly infer the consumer interest for each regional market. Alternatively, market-level trends are based on multiple thresholds that are selected, respectively, for each individual market. More characteristics of the national and regional approaches to trend-based advertising are considered below.

Internet trend granularity at market level can be used by an advertiser to set respectively accurate threshold values. For national ad campaigns, the national-level trend can be extrapolated to individual market-level trends. For example, the US-trend graph (national level) for a “Product X” campaign may have a threshold value of 80 (normalized between 0-100). Alternatively, in California, a corresponding threshold value can be, for example,68, while in Minnesota the corresponding threshold value can be25. The ad campaign may trigger when the current levels of online interest for “Product X” in California and Minnesota go above, respectively,68and25.

The implementations of method300illustrated inFIGS. 1, 4 and 5use either (1.a) one internet trend (query on relevant keywords for the campaign) or (1.b) two internet trends (a first query for the campaign and a second query for the baseline), (2) a “threshold” parameter, and (3) a “direction” parameter.

(1.a) The threshold can be a predetermined level in the internet trend. A campaign may trigger when the values of the internet trend go above or below the threshold, in the direction indicated by the “direction” parameter. For example, a campaign can set up a query for “snow tires”, a threshold of 50 and a direction of “up”. When the internet trends goes above 50 (normalized between 0-100), the event triggers and the campaign participates in the auction. The campaign stops when the value decreases below 50.

(1.b) The threshold can also be a difference between the two queries in the second case. A campaign can trigger when the values of the queries go above or below the threshold, as indicated by the “direction” parameter. In another example, a campaign can set up a query for “Product X”, a comparison query for “Product Y”, a threshold of 0 and a direction of “down”. The campaign participates in the auction while the level of online interest for “Product X” is below the level of online interest for “Product Y” in a given market.

The “threshold” parameter can be specified either as a constant value or a constant change in a moving average. The constant threshold can be specified in terms of a date at which the threshold was set, and in terms of the internet trend used to set the threshold (i.e., the internet trend including the specific topic and time interval). For example, the threshold may be set to the value 80 based on an internet trend over the last year. Alternatively, the moving average is defined by how long in the past the average is calculated. For example, the threshold may be set to trigger whenever the moving average for the last 30 days increases by 15%.

In yet another aspect, forecasted data can be used in conjunction with internet trends to trigger ad campaigns. The advertiser may decide to use past internet trends or to use future projections. Because the advertiser cares about a future event, a forecast (projection, extrapolation) of the level of online interest in the event may be compared to a current level of interest to trigger the ad campaign.

FIG. 6shows an exemplary implementation of method300, where the specified topic is Product X20. In this example, Product X is an allergy relieving product, and the internet trend on Product X20is displayed in interface100alongside the internet trend on the generic term “allergy medicine”25. An advertiser can set a predetermined level of online interest120to trigger presentation of an ad for Product X. The predetermined level120illustrated inFIG. 6is set in terms of a relative difference between the level of online interest in Product X20and the level of online interest of allergy medicine25(or relative trend). Using method300, the advertiser can present the ad only when the current relative internet trend is less than (125) a predetermined level120. The relative “direction”122in this example is measured from the allergy medicine trend25. Additionally, a bias of20can be used to provide the value of the predetermined threshold120.

InFIG. 6, the difference between the Product X trend20and the allergy medicine trend25is larger than the offset value of20starting from the beginning of the year until mid-March40. During this period of time, the ad for Product X is not being presented. Once the difference between the Product X trend20and the allergy medicine trend25becomes less than the offset value of20, the hub60can present the ad for Product X. The foregoing condition is satisfied for the remainder of the year. Therefore the ad-presenting entities90-98present the ad for Product X starting from mid-March40on.

FIG. 7shows an exemplary implementation of method300, where the specified topic is once again wildfires20, as inFIG. 1. InFIG. 7, an advertiser is interested in presenting the fire insurance ad during periods of peak online interest in wildfires20. Peaks can be determined based on different degrees of peak finding sensitivity. For example inFIG. 7(a), the peak finding algorithm is adjusted to a very high sensitivity level, such that multiple (most) peaks of the internet trend on wildfires20are being captured. Therefore, the ad is presented during peak periods (each peak period starting at40and ending at50).FIG. 7(b)illustrates advertising windows established by a similar peak-finding algorithm adjusted to an intermediate sensitivity level. AndFIG. 7(c)shows advertising windows established by a similar peak-finding algorithm adjusted to a low sensitivity level.

FIG. 8illustrates additional features of method300and shows an exemplary integration of method300with other procedures performed by the hub60. For example, at step810, the advertiser accesses the interface100provided by the hub and examines historical levels of online interest in the specified topic20. For example, using historical internet trends as illustrated inFIGS. 1, 4-7, the user can establish accurate thresholds. The predetermined level of online interest in tornados discussed earlier is set to a value of 20 based on examining the historical internet trend inFIG. 5. A threshold lower than 20 may inadvertently capture pre-tornado season “chatter” of less interest to the advertiser. Additionally, a threshold lower than 20 may inadvertently capture “noise” that originates in California and is related to tornados. The later noise is also not of interest to the advertiser.

At step820, the hub receives from the advertiser an advertising budget and access to a monetary fund. The monetary fund is supposed to cover the cost of presenting an ad during the ad campaign based on numerous criteria, such as the number of times the ad is presented, the duration per instance, time of the day, market, etc. (See application incorporated by reference.) The balance of the ad campaign is checked at multiple times and the ad may be presented during an available slot only if the monetary fund balance can cover the cost of presenting the ad during the available slot.

Conditional steps830-1and830-2are performed to determine whether the balance in the account can cover the cost of presenting the desired instance of the ad. The monetary balance verification steps are performed after the step320, when the determination based on the current level of online interest in a specified topic is performed. Therefore, if the current level of online interest in the specified topic20meets or exceeds the predetermined level30the hub60performs conditional step830-1before presenting the ad. When not enough money is left in the monetary fund to cover for the cost of presenting the desired instance of the ad, the ad is not being presented. If the monetary fund balance can cover the cost of the open ad slot, then the ad is being presented as discussed inFIG. 3.

The methods and system described in this document can also be used for auction campaigns, in contrast to (and not for) reservation campaigns. In an exemplary implementation, an ad broker communicates to the advertiser that an ad spot has become available. In case of an ad campaign running in reservation mode, the newly available spot is automatically assigned to the advertiser. Alternatively, in case of an ad campaign running in auction mode, the system first verifies the current level of online interest in the specified topic. If the current level of online interest meets or exceeds the predetermined level set up by the advertiser, then the system automatically bids for the newly available ad spot.

Otherwise, if the current level of online interest does not meet the predetermined level, then no bidding takes place at that time. However, if after a preset time increment, when the system determines that the current level of online interest does meet or exceed the predetermined level, the system places a bid if the ad spot is still available.

Exemplary Elements of Software Infrastructure:

The UI includes mechanisms for capturing the targeting queries and the thresholds to define a feed. The UI transmits the request of a new feed and proposed start and end dates to the FeedService. The end date is used so the feeds are not collected if they are not needed. The start date is used by the FeedService to get the required feeds by that time.

The FeedService is configured to have a “TRENDS” feed category. The feed type can be specific to each ad campaign. Therefore, the feed registers with the FeedService prior to the beginning of the ad campaign.

The feed parameters can be one or more of:

Trends query: A trends query can be a full query or can be a broken down query in the form of a list of keywords and categories. The trends query uses a date range for the data retrieved.

Baseline trends query: A baseline query has the same characteristics as the regular trends query.

Fixed threshold value: A fixed threshold value can be in the range of 0 to 100. The fixed threshold value can be internally translated into a fixed value based on the query. The fixed threshold value can be expressed as a percentage.

Feed direction: A feed direction can be one of “up” and “down”.

Moving average percent: A moving average percent requires (i) a duration of how long in the past to look at, and (ii) a change value expressed in percentage.

Examples of feed expressions:

FIG. 9is a schematic diagram of a computer system900representing any computerized electronic device included in the hub60, the advertiser70, the monitor of online interest80, and the ad-presenting entities90,92,94,96and98. Also the computer system900can represent a server at the annotation information repository50. The system900can be used for the operations described in association with any of the computer-implement methods described previously, according to one implementation. The system900is intended to include various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The system900can also include mobile devices, such as personal digital assistants, cellular telephones, smartphones, and other similar computing devices. Additionally the system can include portable storage media, such as, Universal Serial Bus (USB) flash drives. For example, the USB flash drives may store operating systems and other applications. The USB flash drives can include input/output components, such as a wireless transmitter or USB connector that may be inserted into a USB port of another computing device.

The system900includes a processor910, a memory920, a storage device930, and an input/output device940. Each of the components910,920,930, and940are interconnected using a system bus950. The processor910is capable of processing instructions for execution within the system900. In one implementation, the processor910is a single-threaded processor. In another implementation, the processor910is a multi-threaded processor. The processor910is capable of processing instructions stored in the memory920or on the storage device930to display graphical information for a user interface on the input/output device940.

The memory920stores information within the system900. In one implementation, the memory920is a computer-readable medium. In one implementation, the memory920is a volatile memory unit. In another implementation, the memory920is a non-volatile memory unit.

The storage device930is capable of providing mass storage for the system900. In one implementation, the storage device930is a computer-readable medium. In various different implementations, the storage device930may be a floppy disk device, a hard disk device, an optical disk device, or a tape device.

The input/output device940provides input/output operations for the system900. In one implementation, the input/output device940includes a keyboard and/or pointing device. In another implementation, the input/output device940includes a display unit for displaying graphical user interfaces.

A number of implementations of advertising triggers based on internet trends have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the subject matter of this specification. For example, triggers that are not based on internet trends may be used. Such other sources to trigger presentation of an ad may be predetermined weather conditions, air quality and other environmental characteristics. Other examples of triggers used for ad campaigns are RSS Feeds, Song Feed, number of visits (hits) on a webpage, etc.