Advertisers always strive to find an optimal set of consumers. To meet this need, advertising platforms often provide targeting parameters such as age group, gender, physical location, income level, time of day, and the like. These parameters can be helpful for targeting advertisements to individuals or persons classifiable by some predetermined parameter, but are less helpful for targeting advertisements to dynamically changing optimum target audiences, especially those that correspond to social events, social trends, economic events, economic trends, natural disasters, changes in spending power of a region, fluctuations in financial markets, fluctuations in employment markets, scheduled holidays, scheduled or conditional injections of cash into local economies, and the like. Moreover, immediate modification of advertising campaigns based on occurrences of future foreseeable, but not necessarily guaranteed, events such as these is not supportable by conventional advertisement platforms, which depend on decision-making and other inputs from individuals only after the event has occurred.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in isolation as an aid in determining the scope of the claimed subject matter.
Embodiments of the invention generally relate to computer-readable media and a computer system for managing advertisement campaigns. In embodiments, advertisers interact with an interface to configure advertising (“ad”) campaigns. In embodiments, ad campaigns can be configured according to parameters supplied by the advertisers. A set of parameters supplied by an advertiser can, according to some embodiments, comprise a campaign trigger definition that includes an identification of a campaign trigger. A campaign trigger can include an event, the occurrence of which causes an initiation or modification of an ad campaign. Events can include any number of types of social, economic, physical, or political events, changes in trends associated with consumer behaviors, natural disasters, changes in values of stocks traded on stock markets, changes in prices of particular consumer goods or services, injections of cash into local economies, increases or decreases in spending power associated with members of a community or region, results of sporting events, results of political elections, updates in news reports, and the like.
According to embodiments of the invention, an ad network hosts a trend/event crawler that is configured to retrieve event information corresponding to campaign triggers identified in campaign trigger definitions. In embodiments, event information can be retrieved from a number of different sources, and to improve accuracy and reliability, a weighting system can be implemented based on the types of sources that are accessed. When event information identifies an occurrence of a trigger event, the ad network can perform some operation on an associated ad campaign. For example, in some embodiments, a trigger event causes the initiation of an ad campaign (e.g., delivery of one or more advertisements) and in other embodiments, a trigger event results in a modification or termination of an ad campaign.
Accordingly, embodiments of the invention exploit the immediate availability of information related to events such as social events, economic events, natural events, and the like to retrieve, aggregate, and analyze event information. When event information identifies an occurrence of a campaign trigger event, an ad campaign is initiated or modified. In embodiments, an operation is performed on the campaign incident to identifying an occurrence of a trigger event. The operation can include, for example, initiating an ad campaign, delivering an ad, modifying an ad campaign trigger definition element, adjusting a bid on ad inventory, adjusting a budgeted amount associated with a particular ad campaign, terminating an ad campaign, customizing ad content based on the trigger event, modifying the contextual relevance of the ad content based on the trigger event, and the like. Various features of the invention can be configured by the advertiser to allow for customization of the ad campaign management experience described herein.
Embodiments of the inventions are described in detail below with reference to the attached drawing figures, wherein:
The subject matter of embodiments of the invention disclosed herein is described with specificity to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the terms “step” and/or “block” may be used herein to connote different elements of methods employed, the terms should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
Embodiments of the invention described herein include systems and methods for managing an ad campaign. In a first illustrative embodiment, a set of computer-executable instructions provides an exemplary method of managing an advertising campaign. Embodiments of the exemplary method include receiving a campaign trigger definition corresponding to an advertising campaign. The trigger definition is referenced and an information source is identified. Event information is retrieved from the information source and analyzed to determine whether the event information identifies an occurrence of a trigger event. In embodiments, an operation corresponding to the advertising campaign is performed incident to identifying the occurrence of the trigger event.
In a second illustrative embodiment, a set of computer-executable instructions provides an exemplary method of managing an advertising campaign. Embodiments of the exemplary method include referencing a campaign trigger definition corresponding to an advertising campaign. In embodiments, an event occurrence vote can be retrieved from each of one or more information sources. A weighting factor corresponding to each of the information sources can be referenced and associated with the corresponding event occurrence votes to create weighted votes. The weighted votes are analyzed to determine whether an occurrence of a trigger event is identified. Incident to identification of a trigger event, embodiments of the exemplary method further include performing an operation corresponding to the advertising campaign.
In a third illustrative embodiment, a computer system is provided that is capable of causing an advertisement to be provided to a presentation device. In embodiments, the computer system includes a storage medium having a number of software modules embodied thereon. When executed by a processor, the modules include a user interface that allows an advertiser to configure a campaign trigger definition associated with an advertising campaign, a crawler that retrieves event information associated with trigger events defined within the campaign trigger definition from one or more information sources, and an analysis module that analyzes the event information to determine whether an occurrence of the trigger event is identified by the event information. According to various embodiments, the exemplary computer system further includes a delivery engine that causes an advertisement corresponding to the advertising campaign to be displayed via the presentation device.
Embodiments of the invention may be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program components or software modules, being executed by a computer, laptop, or other machine, such as a personal data assistant, wireless device, or other handheld device. Generally, program components including routines, programs, objects, components, data structures, and the like, refer to code that performs particular tasks or implements particular abstract data types. Embodiments of the invention may be practiced in a variety of system configurations, including handheld devices, consumer electronics, general-purpose computers, specialty computing devices, etc. Embodiments of the inventions may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
An exemplary computing device useful for implementation of embodiments of the invention includes a bus that directly or indirectly couples the following devices: memory, one or more processors, one or more presentation components, input/output (I/O) ports, I/O components, and an illustrative power supply. Although the various components of an exemplary computing device are clearly distinguished in this description for the sake of clarity, in reality, delineating various components is not so clear. For example, one may consider a presentation component such as a display device to be an I/O component. Also, processors have memory. The inventors recognize that such is the nature of the art and reiterate that this description is illustrative of an exemplary computing device that can be used in connection with one or more embodiments of the inventions disclosed herein. Distinction is not made between such categories as “workstation,” “server,” “laptop,” “handheld device,” “mobile device,” “wireless device,” etc., as all are contemplated to be within the scope of the invention with reference to “computer” or “computing device.”
An exemplary computing device typically includes a variety of computer-readable media. By way of example, and not limitation, computer-readable media may comprise computer-storage media such as Random Access Memory (RAM); Read Only Memory (ROM); Electronically Erasable Programmable Read Only Memory (EEPROM); flash memory or other memory technologies; Compact Disc Read-Only Memory (CD-ROM), digital versatile disks (DVDs) or other optical or holographic media; magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices; or any other medium that can be used to encode information and can be accessed by a computing device.
Memory includes computer-storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, nonremovable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, etc. An exemplary computing device includes one or more processors that read data from various entities such as memory or I/O components. Presentation component(s) present data indications to a user, advertiser, or other device. Exemplary presentation components include a display device, speaker, printing component, vibrating component, etc. I/O ports allow a computing device to be logically coupled to other devices including I/O components, some of which may be built in. Illustrative I/O components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, keyboard, pen, voice-input device, touch-input device, touch-screen device, interactive display device, and a mouse.
Referring now to the drawings, and initially to
With reference to
In some embodiments, trend/event crawler 112 receives instructions to retrieve event information. In other embodiments, trend/event crawler 112 retrieves event information continuously or according to predetermined or dynamic schedules. Trend/event crawler 112 can retrieve information according to parameters included within an ad campaign trigger definition, according to embodiments. Crawler 112 can be configured to crawl websites providing event information about current events. Some types of current events that can be monitored by crawler 112 can include news, stock information, blogs, entertainment, and the like. In addition, crawler 112 can be configured to retrieve information from advertiser-specified websites, databases, or other sources.
The frequency with which crawler 112 crawls information sources to retrieve event information is configurable. In some embodiments, crawler 112 is configured to crawl for certain types of event information at a predetermined rate. In other embodiments, a campaign trigger definition can include among its trigger elements parameters that indicate how often crawler 112 should retrieve information. In further embodiments, parameters in a campaign trigger definition can specify information sources to access, types of information sources to access, and the like. Crawler 112 can, according to some embodiments, traverse content to search for keywords, events, breaking news, and even the general sentiment of the content. Moreover, fixed events such as holidays and cash bonus dates associated with certain companies can be entered into a database by an advertiser, retrieved from information sources, or otherwise provided to the system.
Event information retrieved by trend/event crawler 112 can be compared with campaign trigger definition parameters to determine whether an occurrence of a trigger event is identified. Upon identifying an occurrence of a trigger event, a corresponding trigger 120 is initiated which results in initiation, modification, or termination of the ad campaign 110. Initiation and modification of an ad campaign can include delivering an advertisement 124 according to the campaign parameters. Additionally, modification of ad campaign 110 can include changing one or more of the parameters.
In operation, for example, advertisers, once granted accounts on an advertising (“ad”) network, start by creating campaigns. To create a campaign, advertisers specify budgets, basic targeting parameters (e.g., location, gender, historical behavior, etc.), run/pause settings, and the ads themselves. Using exemplary implementations of embodiments of the inventions, advertisers can trigger or target their ads based on uncertain yet foreseeable events.
For example, in one embodiment, suppose that Carmaker is an automobile manufacturer. Carmaker understands that big purchase decisions (such as buying a car) are typically made when people feel that they have enough money to afford to make such decisions. Carmaker dealers of Bellevue and Kirkland, Wash. report a surge in sales in the months of September and October annually. This surge in sales is due to the fact that Z Corporation of Redmond Washington, a major influence in the regional economy, awards its annual cash bonus to employees on September 15th. To take advantage of the predictable injection of cash into the local economy, Carmaker can utilize an ad network as described herein, which automatically detects corporation bonus dates such as the Z Corp. bonus dates and focus advertising funds into the region.
As another example, suppose that on Monday's news headline, it is announced that Computermaker plans to cut 2500 people from its headquarters in Palo Alto, Calif. Ad campaign managers at Getajob.com wish to be able to immediately and automatically increase their ad spending for the Bay Area region in response to an event like this, as they there will be an increase in the number of high quality workers searching for new jobs. Getajob.com can utilize an ad network to automatically identify events such as layoffs. The ad network can automatically focus ad spending in the region by making adjustments to a dynamic budget.
As still another example, suppose that Utrade is an online stock broker. Looking at consumer data, Utrade realizes that its consumers are interested in the significant winners and losers of the day (e.g., those companies whose stock values experience large gains or losses). Utrade can utilize an ad network to automatically detect significant gains and losses in values of companies' stock. Consumers searching or reading stock related information can be presented with a dynamic ad such as “FooCo (FOO) drops 23% today! Time to buy FOO at Utrade.com!” It should be apparent that this type of ad can be generated using an ad template that includes fillable fields so that the name of the company, the type of change (e.g., rises or drops), the rate of change (e.g., 23%), the suggested action (e.g., buy or sell), and the advertiser's name (e.g., Foo) can be automatically modified, duplicated, and the like.
As a further example, suppose that Insurco Insurance Company realizes that the demand for insurance increases when natural disasters such as hurricanes or earthquakes makes the news headlines. This behavior is particularly observed in the region around the location of the disaster. For example, a wild fire in Los Angeles may raise fire insurance inquiries in the Bay Area. Insurco can use an ad network that automatically recognizes such events and immediately directs advertising budget to the surrounding locales. The regions, budget amounts, and the like can be customized by Insurco to optimize utilization of the foreseeable, but not certain insurance market.
Turning now to
Analysis module 210, trend/event crawler 212, cue 222, known-event database 224, trigger database 226, delivery engine 228, ad store 230, and interface 232 can be implemented on any number of types of computing devices. In one embodiment, for example, analysis module 210, trend/event crawler 212, cue 222, known-event database 224, trigger database 226, delivery engine 228, ad store 230, and interface 232 can be implemented on a single computing device. In another embodiment, analysis module 210, trend/event crawler 212, cue 222, known-event database 224, trigger database 226, delivery engine 228, ad store 230, and interface 232 are each implemented on separate computing devices. In other embodiments, analysis module 210, trend/event crawler 212, cue 222, known-event database 224, trigger database 226, delivery engine 228, ad store 230, and interface 232 are implemented on a single computing device or a distributed processing system using several interconnected computing devices. In a further embodiment, combinations of the components 210, 212, 222, 224, 226, 228, 230, and 232 can be implemented on any number of machines and according to any number of various combinations.
The software components 210, 212, 222, 224, 226, 228, 230, and 232 of exemplary system architecture 200 are also scalable. That is, in embodiments of the invention, there can be varying numbers of components. For instance, in one embodiment, exemplary system architecture 200 includes one of each of analysis module 210, trend/event crawler 212, cue 222, known-event database 224, trigger database 226, delivery engine 228, ad store 230, and interface 232. In another embodiment, system architecture 200 includes only one or two of the components 210, 212, 222, 224, 226, 228, 230, and 232. Any number of configurations that provide dynamic targeting capabilities as described below can be suitable for implementing embodiments of the invention.
Analysis module 210 includes a weighting component 234, an event detection component 236, and a source selection component 238. According to embodiments of the inventions, source selection component 238 can be configured to dynamically select information sources based on any number of factors, rules, instructions, or the like. In an embodiment, source selection component 238 interfaces with a database such as known-event database 224 or trigger database 226. In one embodiment, source selection component 238 references a campaign trigger definition stored in trigger database 226.
Returning now to
Because not all information sources 216, 218, and 220 are equally trustworthy, weights can be assigned via weighting component 234 to event occurrence votes retrieved by trend/event crawler 212. In embodiments, weighting component 234 creates a weighted vote by associating a weighting factor corresponding to an information source with an event occurrence vote retrieved from that information source. In embodiments, weighting factors can be provided by advertisers. In other embodiments, weighting factors can be included within campaign trigger definitions. In still further embodiments, weighting factors can be predetermined or dynamically calculated using any number of types of algorithms suitable for assigning weighting factors to information sources based on trustworthiness. In various embodiments, weighting component 234 can test assigned weighting factors for accuracy, and can dynamically update weighting factors as more information is learned by the system, thus optimizing the triggering of ad campaigns.
In some embodiments, any number of advertiser configuration options can be provided so that the advertiser can customize the weighted voting system employed by embodiments of the invention. In an embodiment, for example, a trigger definition can include a specification of a minimum vote reserve, which indicates that a certain total vote (which is an aggregation of weighted votes) must meet a particular threshold before an ad campaign is triggered. Generally, it should be understood that more authoritative sources such as news agencies can be associated with higher weighting factors than less authoritative sources such as blogs and other consumer-generated content.
As further illustrated in
Analysis module also includes source selection component 238, as shown in
According to an embodiment of the invention, trend/event crawler 212 gathers time-stamped information from information sources 216, 218, and 220. In embodiments, trend/event crawler 212 references, receives instructions from, or otherwise communicates with source selection component 238 to identify information sources 216, 218, and 220 from which event information is to be retrieved, what type of information is to be retrieved, how often information is to be retrieved, and the like.
In embodiments, information sources 216, 218, and 220 can include, for example, authoritative sources such as news reporters, market reporters, and the like. In some embodiments, trend/event crawler 212 visits the home page of authoritative sources and uses article titles as definitive event occurrence votes. Information sources 216, 218, and 220 can also include, for example, search engines. In embodiments, trend/event crawler 212 visits the uniform resource locator (URL) for the search service. In some embodiments, source selection component 238, analysis module 210, or trend/event crawler 212 can be configured to construct a URL corresponding to the search service, where the URL has the search term already filled in. For example, a trigger definition could include a URL for identifying an occurrence of a wildfire: http://search.live.com/news/results.aspx?q=wildfire.
In other embodiments of the invention, information sources 216, 218, and 220 can include stock quotes and weather information sources. In embodiments, trend/event crawler 212 visits the corresponding URL, which might include the particular stock symbol or zip code. According to some embodiments, trend/event crawler 212 only needs to extract elements such as price, gain/loss percentage or temperature, humidity, and the like. In still further embodiments, information sources 216, 218, and 220 can include user-generated content such as, for example, blogs, product reviews, bulletin boards, and the like. In various embodiments of the invention, trend/event crawler 212 can utilize RSS feeds, which include “real-time” updates.
According to some embodiments of the invention, trend/event crawler 212 can crawl any sites that the advertiser defines such as, for example, by including the definitions as parameters in a campaign trigger definition. In embodiments, the advertiser can specify what the crawler needs to look for—keywords, HTML/XML tags, and the like. Additionally, any combination of the above or other types of information sources can be referenced within the context of various embodiments of the invention.
With continued reference to
According to embodiments of the invention, trend/event crawler 212 can be configured to look for different types of content and can be configured to engage in varying levels of searching. For example, in an embodiment, trend/event crawler 212 searches information sources 216, 218, and 220 for keywords. Embodiments of a simple keyword search can include a simple phrase match. That is, if the keyword is present in the content, then an occurrence of the event is identified. A more sophisticated keyword search might include discovering the elements of the content such as, for example, a location of the event. If trend/event crawler 212 encounters a phrase such as “wildfire near Santa Barbara”, while looking for “wildfire”, the crawler can reference the trigger definition to determine whether this location is included in the parameters, and if so, trend/event crawler 212 can automatically extract the location information from the source.
In even more sophisticated crawls, trend/event crawler 212 can determine trends or sentiment associated with certain facts, products, data, behaviors, and the like. To identify trends or sentiment, a cluster of keywords can be used with weighting factors assigned thereto. For example, if trend/event crawler 212 searches for a positive sentiment associated with some event, it could look for keywords such as “happy,” “excited,” “love,” “bright,” “good,” “positive,” and the like. Each keyword would contribute to the overall decision based on a corresponding weighting factor. For example, with reference to the positive sentiment search, “happy” might be associated with much larger weighting factors than “decent” or “good.” In some embodiments, trend/event crawler 212 searches for negative keywords as well when attempting to detect positive sentiment because negative keywords could have opposing weight and may tend to influence an overall identification of an occurrence of a trigger event.
As
Known-event database 224 includes information associated with predetermined trigger events, where occurrence of the trigger events are nearly certain. Trigger database 226 can include, for example, a database for storing trigger definitions, a cache for temporarily storing trigger definitions, and the like. Additionally, in some embodiments, trigger database 226 is integrated with known-event database 224. In other embodiments, trigger definitions include information associated with predetermined trigger events, and therefore a separate known-event database 226 is redundant. In further embodiments, any number of databases 224, 226 can be integrated with analysis module 210.
Databases 224, 226 provide information for managing advertising campaigns for presentation of advertisements to consumers. In an embodiment, each of databases 224, 226 is a content server that has associated storage for storing information such as trigger definitions, URLs, consumer profiles, configuration data, and the like. In an embodiment, either one or the other or both databases 224, 226 can be a server, computing device, or software module that can maintain information. In embodiments, databases 224, 226 might be computing devices associated with a company that produces advertisements. In another embodiment, databases 224, 226 can be integrated with servers that can maintain, and manage numbers of advertisements that are associated with and received from various originating entities. It should be appreciated that databases 224, 226 can be designed to operate within various business models, ad inventory bidding schemes, and the like.
In an embodiment, database 224, 226 is a database or other data storage module. In one embodiment, database 224, 226 can be associated with delivery engine 228, interface 232, or another component of exemplary system architecture 200 not illustrated in
With continued reference to
Delivery engine 228 can interface with an ad store 230. Ad store 230 can include, for example, an ad database, a cache for temporarily storing advertisements and other content before providing the advertisements and/or other content to consumers, and the like. Additionally, in some embodiments, delivery engine 228 is integrated with ad store 230. In other embodiments, delivery engine 228 is integrated with analysis module 210. In an embodiment, delivery engine 228 generates a searchable index of the advertisements and related data stored in ad store 230.
Ad store 230 provides advertisements for presentation to consumers. In an embodiment, ad store 230 is a content server that has associated storage for storing advertisements, and can also include links to advertisements, information about advertisements, metadata, device location data, advertiser profile information, and the like. In an embodiment, ad store 230 can be a server, computing device, or software module that can provide advertisements or links to advertisements. In embodiments, ad store 230 might be a computing device associated with a company that produces advertisements. In another embodiment, ad store 230 can be a server that can collect, maintain, and manage numbers of advertisements that are associated with and received from various originating entities. It should be appreciated that ad store 230 can be designed to operate within various business models, purchasing schemes, and the like.
In an embodiment, ad store 230 is a database or other data storage module. In one embodiment, ad store 230 can support an advertising (ad) database. In other embodiments, ad store 230 can be associated with delivery engine 228, interface 232, or another component of network environment 200 not illustrated in
For instance, in an embodiment, an advertisement provider such as ad store 230 can specify particular geographical regions in which an ad should be presented to a consumer. That way, for example, a local sandwich shop can specify that an advertisement related thereto is presented to consumers when the consumers are within a certain distance from the shop. In another embodiment, the shop might specify that the advertisement should be played to consumers in the same town, to consumers on the same city block, and the like. According to another embodiment, ad store 230 can include scripts, APIs, or other software modules that facilitate presentation of advertisements to consumers.
Ad store 230 also may be configured to store information associated with various types of advertisements. In various embodiments, such information may include, without limitation, one or more unapparent advertisements, one or more image advertisements, one or more consumer feedback advertisements, advertiser and/or publisher identities and the like. In some embodiments, ad store 230 is configured to be searchable for one or more advertisements to be selected for presentation.
Information stored in ad store 230 may be configurable and may include any information relevant to an advertisement. Further, though illustrated as a single, independent component, ad store 230 may, in fact, be a plurality of databases, for instance, a database cluster, portions of which may reside on a computing device associated with the ad store 230 or the delivery engine 228, another external computing device (not shown), and/or any combination thereof.
In embodiments, interface 232 can include an interface, an application programming interface (API), a method, a function call, a hardware device, or any other type of conduit configured for allowing information to be provided to various components illustrated in
Information stored in ad store 230 may be configurable and may include any information relevant to an advertising campaign or advertiser. Further, though illustrated as a single, independent component, each of databases 224 and 226 may, in fact, be a plurality of databases, for instance, a database cluster, portions of which may reside on a computing device associated with the databases 224, 226 or the delivery engine 228, another external computing device (not shown), and/or any combination thereof.
Turning briefly to
Additionally, the exemplary trigger definition 300 includes a second trigger element 312 that specifies another parameter: “trigger item.” The trigger item 312 can be used to specify, for example, a subset of the corresponding trigger class. In an embodiment, trigger item 312 identifies a party, an entity, a name, a holiday, or the like. For example, as illustrated in
As further illustrated in
In embodiments, the ad campaign is initiated incident to identification of the occurrence of the trigger event. With reference to
To further illustrate the functionality of embodiments of the invention,
As further illustrated in
Turning now to
Accordingly, any number of components may be employed to achieve various types of functionality within the scope of embodiments of the inventions described herein. Although the various components of
Exemplary system architecture 400 includes the consumer device 410 for, in part, supporting operation of the presentation device 420. In an exemplary embodiment, where the consumer device 410 is a mobile device for instance, the presentation device (e.g., a touchscreen display) may be disposed on the consumer device 410. In addition, the consumer device 410 can take the form of various types of computing devices. By way of example only, the consumer device 410 may be a personal computing device (e.g., computing device 100 of
In one embodiment, for example, consumer device 410 is a personal computer (PC) that a consumer has at home or at work. In a further embodiment, consumer device 410 can be a kiosk, a public network access terminal, a media management system such as may be available on a TV in a hotel room, or other device. According to embodiments of the invention, consumer device 410 can communicate with one or more of the other elements illustrated in
In embodiments, as discussed above, the consumer device 410 includes, or is operably coupled to the presentation device 420, which is configured to present a user-interface (UI) display 422 on the presentation device 420. The presentation device 420 can be configured as any display device that is capable of presenting information to a consumer, such as a monitor, electronic display panel, touch-screen, liquid crystal display (LCD), plasma screen, or any other suitable display type, or may comprise a reflective surface upon which the visual information is projected. Although several differing configurations of the presentation device 420 have been described above, it should be understood and appreciated by those of ordinary skill in the art that various types of presentation devices that present information may be employed as the presentation device 420, and that embodiments of the invention are not limited to those presentation devices 420 that are shown and described.
In one exemplary embodiment, the UI display 422 rendered by the presentation device 420 is configured to surface a web page (not shown) that is associated with ad network 414 and/or a content publisher. In embodiments, the web page may reveal a search-entry area that receives a query and presents search results that are discovered by searching the Internet, an intranet, a website, a database, or the like, with the query.
As
With further reference to
Ad network interface 424 can include any type of server, software module, or the like that is configured to allow communication between content server 412 and ad network 414. In embodiments, ad network interface 424 allows content server 412 to provide information to ad network 414 about a request 415 for content received from a consumer device 410. In this manner, ad network 414 can apply various algorithms and the like so that advertisements are targeted based, at least in part, on the request 415. Any number of other types of information can be passed using ad network interface 424. For example, in another embodiment, ad network interface 424 facilitates delivery of advertising content via delivery engine 432 to content server 412 so that content server 412 can ultimately cause an advertisement 436 to be rendered via a user interface (UI) display 422 on a presentation device 420 associated with consumer device 410.
As illustrated in
Campaign database 418 can be used to store advertisements and information associated with advertisements. Campaign database 418 can include one or more advertisement databases. Campaign database 418 can include indexes associated with advertisement databases, and can also include information associated with advertisements, mappings between hyperlinks and content, and other types of content. In some embodiments, campaign database 418 can be used to store scripts, APIs, and the like. In one embodiment, campaign database 418 includes ad content associated with ad campaigns. Ad content can include text, graphics, animation, video, audio, and the like.
Additionally, in some embodiments, ad content includes ad templates that represent “fillable” ad content. An ad template can include parameters to be used to render an ad impression (e.g., to display an advertisement). Ad templates can also include placeholders for dynamic content. The dynamic content can be filled periodically, according to one or more rules or conditions, or even just before ad delivery. In the latter case, the dynamic content can include crawler elements, which are pieces of information gathered by trend/event crawler 426. In this manner, an advertiser can construct an ad template such that, for example, parts of a displayable ad are predetermined, but blanks are configured to be filled in with the results obtained from trend/event crawler's 426 perusal of information sources in accordance with a corresponding campaign trigger definition. Therefore, when a trigger event occurs, information about the trigger event can be immediately inserted into the ad template to create a nearly-instantaneous ad content that is contextually relevant to an event that was foreseeable, but not precisely predictable.
As an example, an ad template in campaign database 418 might look like the following, where placeholders for dynamic content are represented as spaces for crawler elements (CEs), {CE1}, {CE2}, and {CE3}:
A corresponding campaign trigger definition would include several trigger elements as follows:
Trigger Class: Sports
Trigger Item: Basketball
Trigger Parameter: Win
Moreover, the advertiser can configure the ad campaign to have the crawler elements be assignable variables so that the trend/event crawler 426 knows what information is required and so that the information can be immediately inserted into the ad template as soon as it is obtained by trend/event crawler 426. Accordingly, in the present example, the advertiser could make the following assignments: CE1: winning team; CE2: losing team; and CE3: event date. Thus, if the Tigers are playing the Lions in an important tournament playoff game, the ad campaign can be configured to deliver ad content to consumers as soon as the final score is reported. Thus, if the Tigers win the game, trend/event crawler 426 identifies the occurrence of the event and also collects the crawler elements CE1, CE2, and CE3, and analysis module 428 inserts the crawler elements into the place holders in the ad template. The ad content 435 is delivered and rendered as an ad impression 436 to one or more consumers:
With continued reference to
Turning now to
As depicted at step 512, an analysis module references the campaign trigger definition. Referencing the campaign trigger definition can include retrieving the definition, searching the definition for particular information, extracting information from the campaign trigger definition, and the like. The analysis module references the campaign trigger definition to obtain values for parameters used in managing the advertising campaign. At step 514, the analysis module identifies at least one information source and, at step 516, the analysis module causes a crawler to reference the at least one information source. In an embodiment, the information source includes a network site such as, for example, a web site. In other embodiments, the information source includes a database. The analysis module can identify an information source by referencing the campaign trigger definition, referencing a database, or querying a database using information provided in the campaign trigger definition.
Further, as depicted at step 518, the analysis module and/or crawler determines that at least one information source includes event information associated with the trigger event. Event information can include any kind of information, data, values, or other content that can be used by the analysis module in determining whether a trigger event has occurred. For example, in an embodiment, event information can include an event occurrence vote retrieved from the information source. Event occurrence votes are indications about the occurrence of a trigger event. Because the authoritativeness associated with various information sources can vary dramatically, an aggregation of weighted votes from different information sources can be used in determining whether occurrence of a trigger event is identified. Weighting factors corresponding to each information source are referenced and associated with event occurrence votes retrieved from the information sources to create weighted votes. The weighted votes can be analyzed to determine whether the weighted votes identify an occurrence of the trigger event.
With continued reference to
Turning to
As shown at step 614, the analyzer references a weighting factor corresponding to each information source. In an embodiment, the weighting factor corresponding to each information source is established based on a source classification associated with each information source. In embodiments, source classifications include indications relating to the authoritativeness associated with each information source. For example, a first source classification could indicate that a first information source is an authoritative source such as, for example, a news agency web site. In embodiments, a second course classification might indicate that a second information source is advertiser-defined.
With continued reference to
Various embodiments of the invention have been described to be illustrative rather than restrictive. Alternative embodiments will become apparent from time to time without departing from the scope of embodiments of the inventions. For example, in an embodiment, systems and methods described herein can support access by devices via application programming interfaces (APIs). In other embodiments, trend/event crawlers can be configured to crawl information sources to retrieve information for a number of trigger definitions. In some embodiments, trend/event crawlers can run continuously and in other embodiments, trend/event crawlers can retrieve information in response to receiving instructions to do so.
It will be understood that certain features and sub-combinations are of utility and may be employed without reference to other features and sub-combinations. This is contemplated by and is within the scope of the claims.