US 20060282312 A1
Advertisements are incorporated into alerts generated for a user. A server-side alert delivery system can be used by a partner server, client device, or other server to deliver an alert to a user about some event the user has requested. A relevant advertisement is selected based upon the content of the alert and other data. In some cases, the time of day of the alert and/or the location to which the alert is delivered may be considered in selecting the advertisement. The alert may be provided to a user through different services and devices, including an instant messaging service, mail service, or through a mobile device.
1. A method for providing an alert, comprising:
receiving event data associated with an alert for a user;
determining a relevant advertisement associated with the event data; and
providing the relevant advertisement and the alert to the user.
2. The method of
3. The method of
4. The method of
receiving the relevant advertisement in response to transmitting the event data.
5. The method of
determining a user routing preference for receiving alerts.
6. The method of
7. The method of
providing an alert through an instant messaging service.
8. The method of
providing an alert to a mobile device.
9. The method of
providing an alert through a mail service.
10. A system for providing an alert, comprising:
an alert generation engine able to generate an alert in response to receiving event data for a user, the alert having alert data and advertisement data; and
an alert delivery engine able to deliver the alert to a user.
11. The system of
12. The system of
13. The system of
14. The system of
15. The system of
16. The system of
17. A method for providing an alert, comprising:
receiving alert data and advertisement data by an application, the alert data and advertisement data associated with a user; and
providing the alert data and advertisement data to the user in an alert interface.
18. The method of
19. The method of
20. The method of
receiving alert data by the application; and
retrieving advertisement data by the application in response to said receiving alert data.
1. Field of the Invention
The present invention is directed to providing advertisements to a user, and more specifically to providing advertising to a user through an alert service.
2. Description of the Related Art
A large number of people spend considerable time browsing content over the Internet. As a result, advertising over the Internet has become very popular. Currently, advertisements are reactively selected for Internet users. First, user data is captured by a network browser application. The data may include a number of websites the user has accessed. For example, a network browser stores information, such as a URL, regarding the web sites that a user has accessed in the form of a cookie file. Web services can then access the stored information and determine advertisements that relate to the websites previously accessed by the user. For example, if the stored information indicates a user has visited a travel planning web site, an advertisement may be selected regarding travel planning web services.
Selecting advertisements for a user based on past information has disadvantages. In particular, the advertisements are selected in response to previously accessed web sites. Thus, advertisements are selected for a user some time after the user has shown an interest in the particular website. This can result in selection of an out-dated advertisement for the user. Furthermore, this type of advertisement selection requires enablement of cookies by the user, which is not always the case. However, even if cookies are enabled for a user, if a user browses the Internet on different machines (for example, a work machine and a home machine), neither machine will have a full record of the user's website access history. This results in a degraded relevancy of the advertisements selected for the user.
The technology herein, roughly described, relates to advertisements placed in alerts generated for a user. A proactive targeted advertising system uses an alert delivery system to generate and deliver advertisements. The alerts can be provided to a user based on the user's request for the alerts. A server-side alert delivery system can be used by a partner server, client device, or other server to deliver an alert to a user about some event the user has requested. The targeted advertising system is linked to the alert delivery system to select an advertisement based upon the content of the alert and other data. In some cases, the time of day of the alert and/or the location to which the alert is delivered may be considered in selecting the advertisement.
In one embodiment, a method for providing an alert begins with receiving event data associated with an alert for a user. A relevant advertisement associated with the event data can then be determined. A relevant advertisement and the alert are then provided to the user.
In one embodiment, a system for providing an alert may include an alert generation engine and an alert delivery engine. The alert generation engine may generate an alert in response to receiving event data for an alert. The alert may include alert data and advertisement data. The alert delivery engine may be able to deliver the alert to a user.
In one embodiment, a method for providing an alert may begin with receiving alert data and advertisement data by an application. The alert data and advertisement data are associated with a user. Next, the alert data and advertisement data are provided to the user in an alert interface.
In accordance with one embodiment of the invention, advertisements are incorporated into alerts which are generated for a user. Advertisements are proactively generated and then delivered by an alert delivery system. The alerts can be provided to a user based on user alert routing preferences. User alert routing preferences may include preferences for routing alerts to a user, whether or not to include advertisements in user alerts, and other preferences. A server-side alert delivery system can be used by a partner server, client device, or other server to deliver an alert to a user about some event the user has requested to be notified about. A relevant advertisement is selected based upon the content of the alert, content associated with a link within the alert and other data. In some cases, the time of day of the alert and/or the location to which the alert is delivered may be considered in selecting the advertisement.
In operation, an event associated with a user is detected. An alert is subsequently generated from data associated with the event. Event data, alert data and/or other data is then used to select a relevant advertisement for the user. Additional data my be retrieved from several sources at the same time or some time before the advertisement is selected. The selected alert and relevant advertisement is then provided to a user. In some embodiments, the alert may be provided to a user through different services or devices, including an instant messaging service, mail service, or through a mobile device. Using event data, user data and/or alert data to select advertisements proactively can result in an improved relevancy of the advertisement.
In one embodiment, an advertisement is information that may be provided within an alert for a user regarding a product, service or event related to the alert. An advertisement may consist of text, images, video, animation, audio, or some combination of these. In addition, additional content may be associated with the advertisement. For example, a URL may be associated with the text, image(s), video, or animation of an advertisement.
In one embodiment, the advertisement provided with the alert is determined to be relevant to the alert. Relevancy of an advertisement to an alert, or event, is improved by increasing the number of metrics provided to the advertisement targeting system. Metrics are used by the advertisement targeting system to determine an advertisement for a user. Relevancy metrics may include key words in alert content or content associated with a link within the alert, user metadata, the time an alert is generated and/or delivered, a device on which the alert is displayed, user location, user actions, or other information associated with the user. Key words may include alert content or key words in a query used to generate the alert. Metadata may include data related to the categorization of the type of content being sent, such as sports, travel, weather, information about categories of other alerts the user subscribes to, or other data.
System 100 of
System 100 of
Content provider 110 may be implemented as a third party web service. The web service may provide content to users and other web services. The information may include event data associated with a particular user. The event data may be used to generate an event by alert server 120. For example, content provider 110 may provide event data regarding the weather, such as forecasts and current weather conditions. As another example, client content provider 110 may provide event data regarding sports scheduling information, such as sport and team information. Content provider 110 may send and receive messages with alert server 120 and advertisement service 130.
Alert server 120 is located within relevant advertisement generation system 105. Alerts can be processed and managed by alert server 120 for users of different services. In particular, alert server 120 manages alert subscriptions, receives alert event messages, retrieves advertisement data, and transmits alerts to users through different channels. The channels may include web-based mail, client application-based mail, instant messaging services, and mobile devices. In one embodiment, alert server 120 may also maintain and access user settings for receiving alerts. For example, alert server 120 may confirm a user has subscribed to receive advertisements in an alert. The confirmation can be done locally or by querying a remote server, such as user data store 128. As indicated in
User data store 128 stores data and other information for users of the relevant advertisement generation system 105. The stored information can include data such as user account data for a mail provider service, user contact lists, user alert subscription information, user instant messaging account information, user mobile device account information, and other data. The data received from user data store 128 can be used to increase the relevancy of an advertisement generated for a user in an alert. This is discussed in more detail below.
Advertisement service 130 can provide, or select, a relevant advertisement in response to receiving user and event information. In one embodiment, advertisement service 130 is the portion of an advertisement targeting system that selects the relevant add based on known metrics. Typically, advertisement service 130 is implemented outside relevant advertisement generation system 105. In an example of advertisement selection, advertisement service 130 may receive associated with a football game. In particular, the event data may indicate that the game will be televised during the evening of the current day. The advertisement service can select an advertisement associated with this event data, including the time of day, location of the user, and content of the event data. In the example, the selected advertisement may relate to a pizza delivery service. The service can be selected such that it is available within the user's geographic area during the time of the sporting event mentioned in the alert. After selecting a relevant advertisement, advertisement service 130 may transmit the advertisement back to the requesting source. Advertisement service 130 may receive and transmit information with content provider 110, alert server 120, computing devices 145-165, and mobile device 175. Advertising service 130 is discussed in more detail below.
Messaging server 140 implements the server side operation of an instant messaging service. In particular, instant messages sent and received by a user from a messenger client application or web based messaging application are sent and received through messaging server 140. Additionally, alerts displayed to a user by a messaging application on a client device are sent to the client by messaging server 140. Messaging server 140 may send and receive information with alert server 120 and computing device 145 and is discussed in more detail below.
Mail web server 150 implements a web-based mail service for users that subscribe to the mail service. In particular, users may access and manage a web-based mail account using a browser application in communication with mail web server 150. Mail web server 150 may send and receive messages with alert server 120 and computing device 155, and is described in more detail below.
Mail server 160 implements a mail service with users that implement a mail client application on a remote computing device. Mail server 160 may send and receive messages and alert data with alert server 120 and computing device 165. Mobile service server 170 implements a messaging service for mobile devices, such as mobile device 175. In particular, mobile service server 170 may send and receive text and other message data with mobile device 175. Mobile server 170 sends and receives information with alert server 120 and mobile device 175.
Computing devices 145-165 may send and receive information with the relevant advertisement generation system 105 through network 180. Computing device 145 may include messenger client application 147, AGE 148, and ADE 149. Users can log into an instant messaging service through messaging server 140 with messenger client 147. Alerts may be transmitted to computing device 145 by messaging server 140 and displayed on a display device by messenger client 147. In some embodiments, an alert may be generated by AGE 148. In this case, AGE 148 may retrieve a relevant advertisement from the alert data and provide the advertisement and alert in an alert interface. The alert interface may be displayed for a user by ADE 149. In some embodiments, alert data and advertising data may both be received by computing device 145. This is discussed in more detail below with respect to
Computing device 155 includes browser application 157, AGE 158 and ADE 159. A user having an account with a web-based mail service provider may access their mail through browser application 157. Alerts may be delivered to the user's web-based mail account and accessed through browser application 157. In one embodiment, the browser application may generate ads using AGE 158 and display ads using ADE 159. This may be performed in a similar manner to that discussed with respect to computing device 145 in
Computing device 165 includes mail client 167, AGE 168 and ADE 169. A user may access mail using mail client 167 of computing device 165. A user may also receive an alert as an electronic message through mail client 167. In this case, mail client 167 may generate alerts using AGE 168 and display alerts using ADE 169. This may be performed in a similar manner to that discussed with respect to computing device 145 in
Mobile service server 170 may be used to provide message data and alerts to a user through mobile device 175. In this case, mobile device 175 may receive alert data or generate alerts using AGE 178. The generated alerts may be displayed to a user on mobile device 175 by ADE 179. Mobile device 175 may include any device that is able to remotely communicate with a network. This may include, but is not limited to, wireless personal digital assistants (PDAs), handsets, cameras, notebooks, laptop computers, cellular and other wireless phones, and other devices. This is discussed in more detail below with respect to
In one embodiment, a system 100 for implementing relevant advertising in an alert may include an entertainment device. The entertainment device may be configured to provide alerts to a user. For example, an entertainment unit, such as a gaming console or web-television unit, may receive alert data directly or indirectly from alert server 120. In this case, the entertainment unit may provide an alert with a relevant advertisement while also providing entertainment content (such as a game, television programming, or Internet content) to a user. The alert may be selected based on the event or alert data as well as data from the entertainment device. Entertainment device data may include game information, the location of the device, the number of players playing, the television program being viewed, and other information. As discussed above, the alerts may include text, images, video, audio, animation, and other media.
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
With reference to
Computer 210 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 210 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 210. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
The system memory 230 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 231 and random access memory (RAM) 232. A basic input/output system 233 (BIOS), containing the basic routines that help to transfer information between elements within computer 210, such as during start-up, is typically stored in ROM 231. RAM 232 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 220. By way of example, and not limitation,
The computer 210 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
The computer 210 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 280. The remote computer 280 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 210, although only a memory storage device 281 has been illustrated in
When used in a LAN networking environment, the computer 210 is connected to the LAN 271 through a network interface or adapter 270. When used in a WAN networking environment, the computer 210 typically includes a modem 272 or other means for establishing communications over the WAN 273, such as the Internet. The modem 272, which may be internal or external, may be connected to the system bus 221 via the user input interface 260, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 210, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
Content provider 110 determines users to receive an alert at step 410. As discussed above, an alert will subsequently be generated from data associated with the detected event. Users to receive the alert can include users that have indicated a preference to receive information regarding the event detected at step 405. In one embodiment, content provider 110 may access a database or mailing list to determine which users shall receive the alert. The step of determining users to receive an alert is not illustrated in sequence diagram 300 of
In on embodiment, one or more relevant advertisements can be determined based on a textual analysis of the event and other data. In this case, a parsing engine (not illustrated in
The advertisement can be selected based on the content of the event or alert data. In some cases, an advertisement associated with all the detected keywords may be considered more relevant than an advertisement associated with less than all the detected keywords in event or alert data. In the Metropolis football game example, an advertisement for a pizza delivery service associated with all three of the detected keywords may have a higher relevance than an advertisement for evening news updates associated with “Metropolis” and “6:00 p.m.”, and even more relevant than an advertisement for travel services for Metropolis, associated with the single keyword of “Metropolis.” The most relevant advertisement is selected and sent to the appropriate entity. With respect to textual analysis, the most relevant advertisement may be selected based on the number of matching keywords or phrases or based on the weight of the detected keywords. For example, if “Metropolis” was weighted more than “6:00 p.m.” or “football”, an advertisement associated with Metropolis itself (such as travel services to Metropolis) may be determined as the most relevant advertisement. This would differ from an advertisement selected for equally weighted keywords of “Metropolis”, “football” and “6:00 p.m.”
Content provider 110 receives the relevant advertisement and sends the relevant advertisement, event data, and user data to alert server 120 at step 430. This is illustrated by step 320 of
Alert server 120 determines alert routing preferences for the user at step 440. This is illustrated by step 335 of
In one embodiment, after confirming the user is logged into messaging server 140, alert server 120 generates the alert from the event data received from the content provider. The alert server then sends the alert, advertisement, and user data to messaging server 140 at step 445. This is illustrated by step 350 of
Computing device 145 receives the alert, advertisement and user data and provides an alert interface with the alert and relevant advertisement at step 455. The alert interface is illustrated as alert 360 of
Next, a determination is made as to whether the user has selected the advertisement of the alert interface at step 460. In one embodiment, a user may select the advertisement using an input device associated with computing device 145. In one embodiment, a determination is made with respect to a limited period of time in which the user may select the advertisement. If the user has not selected the advertisement within a designated period of time, operation continues to step 470 where operation of method 400 is complete. If the user does select the advertisement, operation continues to step 465. Additional content associated with the selected advertisement is provided at step 465. This is illustrated as content page 370 of
Alert server 120 sends the user data and alert data to advertisement service 130 at step 635. This is illustrated by step 525 of
Advertisement service 130 receives the user data and alert data from alert server 120 at step 640. Advertisement service 130 then determines a relevant advertisement and sends the relevant advertisement to alert server 120 at step 645. This is illustrated by step 530 of
Computing device 145 receives the data and provides an alert interface to the user at step 665. The alert interface includes an alert based on the detected event, as well as the relevant advertisement selected from the event data. An example of an alert interface is illustrated by alert interface 570 of
Alert server 125 determines a user alert routing preference to receive alerts at a mobile device at step 830. This is illustrated by step 725 of
After mobile service server 170 has determined the device location and sent a response to alert server 120, alert server 120 sends alert user and location data to advertisement service 130. This is illustrated by step 740 of
Upon receiving the relevant advertisement from advertisement service 130, alert server 120 sends the alert, relevant advertisement and user data to mobile service server 170 at step 870. This is illustrated by step 750 of
In one embodiment, a user may select the advertisement using navigational keys on the mobile device. For example, arrow keys on a cell phone key pad may be used to navigate a cell phone display and select the relevant advertisement provided on the mobile device display. At step 890, after user selection of the advertisement has been determined, additional content associated with the relevant advertisement is displayed for the user. This is illustrated as content page 780 in
The foregoing detailed description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto.