Patent Publication Number: US-2022237662-A1

Title: Targeting an aggregate group

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This patent application is a continuation (and claims the benefit of priority under 35 USC 120) of U.S. patent application Ser. No. 17/245,372, filed Apr. 30, 2021, which is a continuation (and claims the benefit of priority under 35 USC 120) of U.S. patent application Ser. No. 16/541,594, filed Aug. 15, 2019 (now U.S. Pat. No. 10,997,631), which is a continuation (and claims the benefit of priority under 35 USC 120) of U.S. patent application Ser. No. 15/262,273, filed Sep. 12, 2016 (now U.S. Pat. No. 10,430,836), which is a continuation (and claims the benefit of priority under 35 USC 120) of U.S. patent application Ser. No. 13/339,285 (now U.S. Pat. No. 9,466,073), filed Dec. 28, 2011, which claims priority under 35 U.S.C. 119 to U.S. Provisional Application No. 61/427,546, filed on Dec. 28, 2010. The disclosure of the prior applications are considered part of and is incorporated by reference in the disclosure of this application. 
    
    
     BACKGROUND 
     This specification relates to information presentation. 
     The Internet provides access to a wide variety of resources. For example, video and/or audio files, as well as web pages for particular subjects or particular news articles, are accessible over the Internet. Access to these resources presents opportunities for advertisements to be provided with the resources. For example, a web page can include advertisement slots in which advertisements can be presented. These advertisements slots can be defined in the web page or defined for presentation with a web page, for example, in a pop-up window. 
     Advertisement slots can be allocated to advertisers through an auction. For example, advertisers can provide bids specifying amounts that the advertisers are respectively willing to pay for presentation of their advertisements (“ads”). In turn, an auction can be performed and the advertisement slots can be allocated to advertisers according, among other things, to their bids and/or the relevance of the advertisement to content presented on a page hosting the slot or a request that is received for the advertisement. 
     SUMMARY 
     In general, one innovative aspect of the subject matter described in this specification can be implemented in a method for providing content. The method comprises: receiving a request for an advertisement to be displayed in a slot associated with a third-party content site; identifying a relevant advertisement to be provided in the slot; determining information to be included in an annotation associated with the advertisement, the annotation including customized information to be presented along with the advertisement; providing the advertisement responsive to the request including providing the annotation along with a control for re-publishing the advertisement along with the relevant advertisement; receiving user input selecting the control and designating the advertisement for re-publishing to a group, the group being designated by the user; and targeting additional content to the group based on the received user input. 
     These and other implementations can each optionally include none, one or more of the following features. The method can further comprise tracking inputs received from the group for advertisements that are designated for re-publishing. Targeting can include targeting the group based on the tracked inputs. Receiving user input can include receiving user input designating the group. The group can be an ad hoc group that is not a designated circle associated with the user in a social environment. The user input can include a designation to provide the advertisement to a social application for presentation in an activity stream associated with the user. The method can further comprise tracking user interactions of members of the group with the advertisement when presented in the activity stream and targeting additional content to the user or group based on the tracking. The method can further comprise tracking whom a user designates advertisements to be re-published to so as to infer relationships between the user and the designatees and targeting additional content to the user or group associated with the user based on the tracking. The group can be a social circle, family, friends, work groups, or some other particularly identified group. The control can enable the user to re-publish the advertisement to others that are not members of a user&#39;s group. The control can enable a user to re-publish the advertisement along with a message. Targeting can include using the user input as a signal when determining relevant content to be provided to the group in the future. The method can further comprise determining one or more social signals for use in affecting a quality score that is used to evaluate content to be provided to the group where the one or more social signals are based at least in part on the user input. The method can further comprise determining one or more social signals based at least in part on the user input and using the social signals when determining content for presentation to the group. The one or more social signals can be used to categorize the user as belonging to a group. The one or more social signals can be used to customize annotations to be included with the advertisements that are re-published by the user. The one or more social signals can be used to determine whether a system that re-publishes advertisements should re-publish other advertisements to the group. The one or more social signals can be used to surface the group to an advertiser. 
     In general, another innovative aspect of the subject matter described in this specification can be implemented in computer program products that include a computer program product tangibly embodied in a computer-readable storage device. The computer program product includes instructions that, when executed by a processor, cause the processor to: receive a request for an advertisement to be displayed in a slot associated with a third-party content site; identify a relevant advertisement to be provided in the slot; determine information to be included in an annotation associated with the advertisement, the annotation including customized information to be presented along with the advertisement; provide the advertisement responsive to the request including providing the annotation along with a control for re-publishing the advertisement along with the relevant advertisement; receive user input selecting the control and designating the advertisement for re-publishing to a group, the group being designated by the user; and target additional content to the group based on the received user input. 
     In general, another innovative aspect of the subject matter described in this specification can be implemented in systems, including a system that includes a user device, a third party content site, and a content management system. The content management system is configured to: identify a relevant advertisement to be provided in a slot associated with the third party content site, based on receiving a request from the user device for an advertisement to be displayed in the slot; determine information to be included in an annotation associated with the advertisement, the annotation including customized information to be presented along with the advertisement; provide, to the user device, the advertisement responsive to the request including providing the annotation along with a control for re-publishing the advertisement along with the relevant advertisement; and target additional content to the group based on receiving user input from the user device indicating selection of the control and designation of the advertisement for re-publishing to a user-designated group. 
     Particular implementations may realize none, one or more of the following advantages. For example, targeting content to a group based on a user designating a group when republishing an advertisement can result in group members receiving content in which they have an interest. A group which may include members interested in an advertiser&#39;s product or services can be surfaced to an advertiser. 
     The details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of an example environment that provides social overlays on ads. 
         FIG. 2  shows an example user interface that includes an ad with a social overlay and a control for re-publishing the ad. 
         FIG. 3  shows an example details popup for providing detailed information for re-publishing an ad. 
         FIG. 4  shows an example visibility change popup for changing visibility settings for re-publishing an ad. 
         FIG. 5  shows an example groups selection list for displaying selectable visibility groups. 
         FIG. 6  shows an example add comment box for sharing a comment on an ad. 
         FIG. 7  shows the example user interface of  FIG. 2  with the social overlay that is updated to indicate that the user has re-published the ad. 
         FIG. 8  is a flowchart of an example process for targeting additional content to a group based on a designation of an advertisement for re-publishing to the group. 
         FIG. 9  is a block diagram of computing devices that may be used to implement the systems and methods described in this document, as either a client or as a server or plurality of servers. 
     
    
    
     Like reference numbers and designations in the various drawings indicate like elements. 
     DETAILED DESCRIPTION 
     When a user requests on-line content (e.g., a web page or another online resource), content requests can be initiated to request content from a content publisher for presentation on a user device. For example, content publishers can include publishers of web sites or search engines that are publishing search results responsive to a query. One or more additional content items (e.g., ads) can be provided along with the requested content. As a result, the presented content can be, for example, text, images, audio, video, advertisements (or ads) or other content selected for presentation to the user. In response to each content request received, content can be served, including one or more ads. In some implementations, some ads can include a social component or context. 
     For example, an ad that is served can include a social overlay that includes social information and tools for propagating social information to others. As a result, users can re-publish ads to others, including friends and family. For example, an ad with associated comments can be presented as an update to a social application activity stream of the user, to activity streams of friends and family, and/or activity streams of one or more groups associated with the user. By re-publishing an ad, a user can make his preferences known, including providing comments for specific ads, and the comments can be handled in a structured way. By providing the ability for users to annotate and comment upon ads within a social context, ads can be more interesting to users and their social contacts. As a result, more user attention can be captured by the ads, which can result in higher click-through-rates and overall ad effectiveness. Another use and benefit of the social overlays on ads is the ability to capture user feedback. Advertisers can capture information (e.g., ad-sharing statistics, etc.) for ads in order to gauge the quality of their ads, the effectiveness of ad campaigns, and the popularity of certain product brands that are featured in ads. 
     In some implementations, a widget (e.g., a graphical user interface control) can be overlaid on an ad creative that is displayed to Internet users, such as on a third-party web site. The widget can show social annotations that provide information about the specific ad that is being displayed. This information can include, for example, the number of users who liked or that have interacted with the ad, the number of users in a certain geographic region who re-published the ad, and the name of a user&#39;s friend who liked an ad, and so on. The widget can also include buttons or other controls that allow the user to designate (i.e., the user likes the ad, the user wants to share or re-publish the ad, or the user wants to otherwise positively endorse the ad), and comment on a given ad, and, in some implementations, follow an advertiser (e.g., an advertiser&#39;s profile) in a social network. In some implementations, designating an ad is referred to as “plus one&#39;ing” (“+1&#39;ing”) an ad. 
     In some examples, activity streams, as provided by social networking web sites and applications, allow a user to publish user updates and make the updates accessible or viewable by designates. For example, a user can publish messages, photos, or other content to his activity stream, and share the content with individuals, family, friends, or other groups. Alternatively, the user&#39;s publication of content can be to a presence associated with the user in a social environment. In another example, the publication can be to a subscriber to the updates. In some implementations, the publication can be to an area that is designated for providing updated content for the user (e.g., a wall or social profile page). Other mechanisms are possible for providing the publication medium. 
     In response to a designation to re-publish an ad, additional content can be targeted to the user or to a group associated with the user. For example, ads similar to the ad designated for re-publishing can be presented to the user in the future, such as in an ad slot included in a search results web page or some other web page. As other examples, ads can be selected based on other factors, such as a context associated with the re-publishing, or based on other interactions occurring with the re-published ad. Targeting of additional content to the user or group associated with the user based on a designation to re-publish an ad is described in more detail below with respect to  FIG. 8 . 
       FIG. 1  is a block diagram of an example environment  100  that provides social overlays on ads. The example environment  100  includes an ad management system  110  that manages advertising services and one or more social networking systems  120  that allow users to interact with other users within a social framework. The example environment  100  includes a network  102 , such as a local area network (LAN), a wide area network (WAN), the Internet, or a combination thereof. The network  102  connects websites  104 , user devices  106 , advertisers  108 , the ad management system  110 , and social networking systems  120 . The example environment  100  may include many thousands of websites  104 , user devices  106 , and advertisers  108 . 
     A website  104  includes one or more resources  105  associated with a domain name and hosted by one or more servers. An example website is a collection of web pages formatted in hypertext markup language (HTML) that can contain text, images, multimedia content, and programming elements, such as scripts. Each website  104  can be maintained by a content publisher, which is an entity that controls, manages and/or owns the website  104 . 
     A resource  105  can be any data that can be provided over the network  102 . A resource  105  can be identified by a resource address that is associated with the resource  105 . Resources include HTML pages, word processing documents, portable document format (PDF) documents, images, video, and news feed sources, to name only a few. The resources can include content, such as words, phrases, images and sounds, that may include embedded information (such as meta-information in hyperlinks) and/or embedded instructions (such as JavaScript scripts). 
     A user device  106  is an electronic device that is under control of a user and is capable of requesting and receiving resources over the network  102 . Example user devices  106  include personal computers, mobile communication devices (e.g., smartphones), and other devices that can send and receive data over the network  102 . A user device  106  typically includes one or more user applications, such as a web browser, to facilitate the sending and receiving of data over the network  102 . 
     A user device  106  can request resources  105  from a website  104 . In turn, data representing the resource  105  can be provided to the user device  106  for presentation by the user device  106 . The data representing the resource  105  can also include data specifying a portion of the resource or a portion of a user display, such as a presentation location of a pop-up window or a slot of a third-party content site or web page, in which advertisements can be presented. These specified portions of the resource or user display are referred to as advertisement slots. 
     To facilitate searching of these resources, the environment  100  can include a search system  112  that identifies the resources by crawling and indexing the resources provided by the content publishers on the websites  104 . Data about the resources can be indexed based on the resource to which the data corresponds. The indexed and, optionally, cached copies of the resources can be stored in an indexed cache  114 . 
     User devices  106  can submit search queries  116  to the search system  112  over the network  102 . In response, the search system  112  accesses the indexed cache  114  to identify resources that are relevant to the search query  116 . The search system  112  identifies the resources in the form of search results  118  and returns the search results  118  to the user devices  106  in search results pages. A search result  118  is data generated by the search system  112  that identifies a resource that is responsive to a particular search query, and includes a link to the resource. An example search result  118  can include a web page title, a snippet of text or a portion of an image extracted from the web page, and the URL of the web page. Search results pages can also include one or more advertisement slots in which advertisements can be presented. 
     When a resource  105  or search results  118  are requested by a user device  106 , the ad management system  110  receives a request for advertisements to be provided with the resource  105  or search results  118 . The request for advertisements can include characteristics of the advertisement slots that are defined for the requested resource or search results page, and can be provided to the ad management system  110 . 
     For example, a reference (e.g., URL) to the resource for which the advertisement slot is defined, a size of the advertisement slot, and/or media types that are available for presentation in the advertisement slot can be provided to the ad management system  110 . Similarly, keywords associated with a requested resource (“resource keywords”) or a search query  116  for which search results are requested can also be provided to the ad management system  110  to facilitate identification of advertisements that are relevant to the resource or search query  116 . 
     Based at least in part on data included in the request for advertisements, the ad management system  110  can select advertisements that are eligible to be provided in response to the request (“eligible advertisements”). For example, eligible advertisements can include advertisements having characteristics matching the characteristics of advertisement slots and that are identified as relevant to specified resource keywords or search queries  116 . In some implementations, advertisements having targeting keywords that match the resource keywords or the search query  116  are selected as eligible advertisements by the ad management system  110 . 
     A targeting keyword can match a resource keyword or a search query  116  by having the same textual content (“text”) as the resource keyword or search query  116 . For example, an advertisement associated with the targeting keyword “beaches” can be an eligible advertisement for an advertisement request including the resource keyword “beaches.” Similarly, the advertisement can be selected as an eligible advertisement for an advertisement request including the search query “beaches.” 
     The ad management system  110  can select from the eligible advertisements that are to be provided for presentation in advertisement slots of a resource or search results page based on results of an auction. For example, the ad management system  110  can receive bids from advertisers and allocate the advertisement slots, based at least in part on the received bids (e.g., based on the highest bidders at the conclusion of the auction). The bids are amounts that the advertisers are willing to pay for presentation (or selection) of their advertisement with a resource or search results page. For example, a bid can specify an amount that an advertiser is willing to pay for each 1000 impressions (i.e., presentations) of the advertisement, referred to as a CPM bid. Alternatively, the bid can specify an amount that the advertiser is willing to pay for a selection (i.e., a click-through) of the advertisement or a “conversion” following selection of the advertisement. The selected advertisements can be determined based on the bids alone, or based on the bids of each bidder being multiplied by one or more factors, such as quality scores derived from advertisement performance, landing page scores, and or other factors. In some implementations, the bids can be based on whether the ad includes social information, such as information that identifies how the user or other users in the user&#39;s social network have responded to the ad. For example, the social information can be used to generate a social overlay on the ad. 
     A conversion occurs when a user performs a particular action related to an advertisement provided with a resource or search results page. What constitutes a conversion may vary from case-to-case and can be determined in a variety of ways. For example, a conversion may occur when a user clicks on an advertisement, is referred to a web page, and consummates a purchase there before leaving that web page. A conversion can also be defined by an advertiser to be any measurable/observable user action, such as downloading a white paper, navigating to at least a given depth of a website, viewing at least a certain number of web pages, spending at least a predetermined amount of time on a website or web page, registering on a website, sharing an ad with other users within a social network, or commenting upon an ad where the comments are visible to others. Other actions that constitute a conversion can also be used. 
     The system  100  includes one or more social networking systems  120  that provide functions and tools for users to share information in a social network. For example, a social networking system  120  can be a social networking website that users can use to identify friends and social groups (e.g., circles), send and receive email, post messages and multi-media (e.g. photos, video, audio), track social events, provide updates and so on. 
     For situations in which the systems discussed here collect personal information about users, the users may be provided with an opportunity to opt in/out of programs or features that may collect personal information (e.g., information about a user&#39;s preferences or a user&#39;s current location). In addition, certain data may be anonymized in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, a user&#39;s identity may be anonymized so that the no personally identifiable information can be determined for the user, or a user&#39;s geographic location may be generalized where location information is obtained (such as to a city, zip code, or state level), so that a particular location of a user cannot be determined. 
     Example user interfaces for displaying social overlays are described below with reference to  FIGS. 2-7 . Various user interface elements for receiving user data input are described below with reference to  FIGS. 2-7 . Example user interface elements include text boxes, radio buttons, check boxes, drop-down menus, and hypertext links. 
       FIG. 2  shows an example user interface  200  that includes an ad  202  with a social overlay  204  and a control  206  for re-publishing the advertisement. For example, a user can use the control  206  to re-publish the ad to one or more members of the user&#39;s groups. The user interface  200  can be provided, for example, by the ad management system  110  of  FIG. 1 . For example, the ad  202  can be an ad that is served with other content, such as included with search results  118  that are responsive to a user&#39;s query  116 , as described above. In another example, the ad  202  can be any ad that appears on a third-party website, such as the third-party web site (e.g., related to area beaches) that is displayed in the user interface  200 . For example, the third-party beach-related website can be a landing page associated with one of several search results  118  that are responsive to a search query  207  for “beaches.” 
     The social overlay  204  can serve as an annotation that is associated with the ad  202 . The annotation can include customized information related to the user and/or one or more groups that are associated with the user. For example, the social overlay  204  can annotate the ad  202  with information regarding the user&#39;s actions associated with the ad  202 , or actions by members of one or more groups associated with the user (e.g., the user&#39;s circles of friends, family or other groups that are specified or inferred). 
     When the social overlay  204  is displayed, a social message  208  can provide any of several types of social information associated with the ad. In the example shown in  FIG. 2 , the social message  208  indicates that “394 people in Carmel+1&#39;d this,” meaning that 394 people in the Carmel area have “plussed one” the ad, or shared the ad with others, such as family or friends. This example provides a summary based on geographic proximity by identifying the number of users in a certain geographic region (e.g., Carmel) who shared the ad. Other example proximity-based summaries include time-based summaries, e.g., the number of users who shared (or liked, etc.) the ad within the last hour (or some other time interval). Regional (e.g., Carmel) and other proximity-based social messages  208  can summarize actions by people who are not members of the user&#39;s groups. Other example types of information that the social message  208  can provide include the number of members in the user&#39;s groups who liked the ad, the name of a user&#39;s friend who liked the ad, and so on. 
     In some implementations, the social message  208  can provide statistics related to people in the user&#39;s various social groups or circles, such as the members of the user&#39;s group who had a favorable response to the advertisement. For example, the social message  208  can identify the number of the user&#39;s family members who liked the ad, or the number of people in the user&#39;s circle of friends who re-published the ad, to name a few examples. Other example social messages  208  include messages such as “Jerry, your wife+1&#39;d this ad,” “David, Roger and 4 more friends shared this ad” or “Peggy and 3 other family members shared this ad.” 
     In some implementations, more than one type of summary message may be applied to an ad, such as a geographically-based summary (e.g., Carmel area) and a user&#39;s circle-based summary message (e.g., friends or family). In some implementations, if more than one type of summary message is to be applied to an ad, the user interface  200  can cycle between the different summary messages in the social message  208 . For example, the social message  208  that is displayed may alternate between summary messages such as “394 people in Carmel+1&#39;d this,” and “14 of your friends liked this ad.” In some implementations, the user interface  200  can automatically cycle through summary messages by scrolling through the summary messages that apply to an ad, displaying each in the social message  208 . For example, the user interface  200  can display one summary message for a few seconds, then the next summary message, and so on. In some implementations, the social message  208  can include all summary messages at once (e.g., if there are between one and three summary messages). In some implementations, the user interface  200  can include a control by which the user can access the summary messages that apply to an ad. In some implementations, the summary message that is displayed can change to a different applicable summary message if the user hovers over the social message  208  using a position indicator such as a cursor, a pointer, or the touch of a finger or stylus on a touch screen. 
     The control  206  can include various controls for re-publishing and/or commenting on the ads (e.g., the ad  202  upon which the social overlay  204  is displayed). In this example, the control  206  includes a plus one control  210  for re-publishing or commenting upon the ad  202 , a help control  212 , and an information control  214 . The plus one control  210  can lead to an interface from which the user can provide detailed information, as will be described below with reference to  FIG. 3 . By selecting the help control  212 , for example, the user can be presented with a popup or other control that provides an explanation of the social overlay  204  and how it is used. As an example, a user who is unfamiliar with re-publishing ads may click on the help control  212  to learn how the interface operates and what can result from the user&#39;s interaction with it (e.g., what his friends and family may see). By selecting the information control  214 , for example, the user can navigate to a website or other information that provides information on ads. 
     The ad  202  can be one of several ads that appear in an advertisements section  216  on the third-party website. Other ads  202   a  and  202   b  can appear in a content section  220  of the third-party website. For example, the ad  202   a  can be another ad that includes a social overlay  204   a . In this example, the social overlay  204   a  includes a control  206   a  and a social message  208   a  that can be similar to the control  206  and social message  208  described above. 
       FIG. 3  shows an example details popup  302  for providing detailed information for re-publishing an ad. The details popup  302  can be displayed, for example, if the user selects the plus one control  210  shown in  FIG. 2 . The details popup  302  is just one example implementation of an interface that the user can use to provide detailed information for re-publishing an ad (e.g., re-publishing and/or commenting upon the ad  202 ). A header  304  can explain why the details popup  302  is displayed. In this example, the header  304  states that the user plussed-one (or shared) the “XYZ Beach Boardwalk” ad that is the subject of the ad  202 , and in this case, the name of the advertiser. In some implementations, the name of the advertiser can be determined using application code that runs behind the plus one control  210  or the details popup  302 , such as at the same time that the application retrieves existing social annotations and user information. In some implementations, if the user is the first person in a social group (e.g., friends, family, etc.) to see the ad  202 , or if no one else has re-published or commented upon the ad  202 , then a message can indicate to the user that he is the first to re-publish/comment. 
     The details popup  302  includes a visibility area  306  that summarizes the groups with which the user&#39;s ad re-publishing/comments are to be applied. For example, current settings  308  indicate that the user&#39;s shared information is to be visible to (and thus shared with) the user&#39;s friends and family. The user can use a change control  310  to change the visibility of the shared information, effectively changing the current settings  308 .  FIGS. 4 and 5 , described below, show example user interfaces that can appear if the user selects the change control  310 . 
     The details popup  302  includes a commenting area  312  for adding a comment and/or removing a comment that has been associated with an ad. The commenting area  312  includes an add comment control  314  for adding a comment (e.g., described below with reference to  FIG. 6 ) and an undo comment control  316  for undoing (or deleting) the added comment. In some implementations, the undo comment control  316  does not appear within the details popup  302  (or may be grayed out or otherwise inactive) until a comment has been added. 
     In some implementations, the user can designate that the advertisement is to be provided to a social application for presentation in an activity stream associated with the user. The advertisement and associated comments can be displayed, for example, as part of an update posted to the user&#39;s activity stream. In some implementations, the user can designate that the advertisement is to be provided to a social application for presentation as an update for the user in an activity stream associated with one or more members of a group specified by the user. For example, the advertisement and associated comments may be presented as an update to an activity stream of each member of each group specified in the current settings  308 . As another example, some or all groups specified in the current settings  308  may have an associated activity stream in a social application and the advertisement and associated comments may be presented as an update to each of those activity streams. 
     The details popup  302  can include an update request control  318  that the user can use to request to receive periodic updates from the advertiser that is associated with the ad  202 . For example, using the control  318 , the user can subscribe to periodic email messages, text messages, or other forms of communication that the advertiser can send to interested parties. In this way, the user can “follow” an advertiser in a way that is similar to how users “follow” an individual or entity online (e.g., such as on Twitter). 
     A statement  320  that can be displayed within the details popup  302  can identify, to the user, the users (e.g., individuals, specified or inferred groups or social circles) who may be eligible to see the re-published ad. For example, the statement  320  can state, “This +1 will also be visible to circles above.” As a result, the user can become acquainted with the mechanics and consequences of re-publishing ads that result from the selections and settings in the details popup  302 , further allowing the user to understand the visibility of the ad-re-publishing. In some implementations, if the user has used the change control  310  to change the visibility to the extent that no other users currently have visibility, then the statement  320  can state, for example, “No users currently have visibility.” By selecting a view full profile control  321 , the user can navigate, for example, to the advertiser profile page on a social network site. 
     In some implementations, filtering or limiting of re-publication requests can occur. As a result, the mere designation by a user to re-publish to one or more groups or individuals does not necessarily mean that re-publishing will occur. For example, the designated receivers may have blocked receipt (e.g., by setting preferences in a browser to block all or selected types of social overlays on content and/or ads). In another example, some implementations of the ad management system  110  may filter re-publication requests based on one or more criteria. Example criteria include imposing limits on re-publishing, e.g., limiting the number of re-publishing events, the number of recipients, and so on. In some implementations, imposed limits on re-publishing can be applied to intervals of time, e.g., enforcing a limit of five re-published ads per day, twenty re-published ads per week, and so on. As a result, the ad management system  110  can prevent users from re-publishing too often or to too many people. Other criteria can be used for filtering re-publishing requests. 
     In some implementations, an email area  322  can identify the user account  324  (e.g., userX@mail.com) from which the ad-re-publishing will occur. For example, an email address can be tied to the user&#39;s social networking account, or the email address may not be tied to any social networking account. In some implementations, a user profile image  326  can provide a visual identification to the user as to what account  324  is currently displayed. If the user has multiple computer logins and/or accounts, then the user can use an email change control  328 , for example, to select a different one of the user&#39;s accounts (e.g., userX@ABCDmail.com). In some implementations, ad-re-publishing need not rely upon the user having an email account. For example, the user can belong to one or more social networking systems, and ad-re-publishing that the user performs can be tied to a user name, a user account, or other form of user identification. 
     As a result of selecting which account (email or user login/account) to use, the user is also associating the ad-re-publishing with the groups or social circles that correspond to that user account. For example, the user&#39;s circles of family and friends may be vastly different for the social networking accounts associated with the user&#39;s email addresses userX@mail.com versus userX@ABCDmail.com (or one user login/account versus another user login/account). 
     A close control  330  can be used to exit the details popup  302  and save the current settings and inputs. In some implementations, a cancel control can exist that can allow the user to exit the details popup  302  without saving any changes, essentially restoring the values of the details popup  302  to their original settings (e.g., before the user displayed the popup). 
     In some implementation, the details popup  302  can include an option to un-plus the ad, or to cancel the act of re-publishing the ad with others. For example, if the user changes his mind about re-publishing the ad to family and friends, or decides not to share his comments, the user can select an un-plus option (not shown in  FIG. 3 ), e.g., somewhere inside the details popup  302 . In some implementations, selecting the un-plus option can make the social overlay  204  appear in a different way in order to indicate that the ad is no longer to be re-published. For example, while the ad is still displayed after the user has plussed-one the ad and the message reads “You and 394 people in Carmel+1&#39;d this,” upon the user un-plussing the ad, the message can return to its original state, namely “394 people in Carmel+1&#39;d this.” 
       FIG. 4  shows an example visibility change popup  402  for changing visibility settings for re-publishing an ad. In some implementations, the user interface  200  can display the visibility change popup  402  when, for example, the user selects the visibility change control  310  described with reference to  FIG. 3 . As an example, the user may select the visibility change control  310  to delete one or more of the visibility settings  308  (e.g., “Friends” or “Family”) and/or to choose additional visibility options. 
     In some implementations, when the visibility change popup  402  is displayed, the current visibility settings  308  can be displayed as selectable controls, e.g., controls  406  and  408  (e.g., for “Friends” and “Family”). The controls  406  and  408  can identify the name of the group for which visibility is currently set for the user&#39;s re-published ad. 
     An add other people control  410  can provide a way for adding additional individuals or groups to the existing groups for which visibility exists regarding the user&#39;s re-published ad. For example, if the user selects the add other people control  410 , another popup can appear from which the user can add visibility entities, as described below with reference to  FIG. 5 . 
     The controls  406  and  408  can further include delete controls  412  and  414 , respectively, that the user can use to selectively delete either or both groups. For example, by selecting the delete control  412 , the “Friends” group can be removed from visibility, and the group control  406  can disappear from the visibility change popup  402 . 
     In some implementations, by clicking on the either of the controls  406  and  408 , the user can view the names of the users in that group. For example, if the user selects the “Friends” control  412 , then the user interface  200  can display a popup that lists the people in the user&#39;s circle of friends. 
     In some implementations, the visibility change popup  402  can display the user account  324  and the email change control  328  that the user can select to switch to a different user login. The user may switch to a different user login, for example, in order to re-publish the ad with a different circle of family and friends, e.g., the family and friends associated with his other user login (e.g., UserX@ABCDmail.com). 
     A close control  416  can be used to exit the visibility change popup  402  and save the current settings and inputs. In some implementations, a cancel control can exist that can allow the user to exit the visibility change popup  402  without saving any changes, essentially restoring the values of the visibility change popup  402  to their original settings (e.g., before the user displayed the popup). 
       FIG. 5  shows an example groups selection list  502  for displaying selectable visibility groups. For example, the user interface  200  can display the groups selection list  502  if the user selects the add other people control  410  on the visibility change popup  402  as described above. 
     The groups selection list  502  can include group entries  504 , each of which can identify the name of the group and can further include, in parentheses, the number of people in that group. For example, the group entries  504  can include a Family group  504   a  with seven members, a Friends group  504   b  with 105 members, and a coworkers group  504   c  with 25 members. In some implementations, the group entries  504  can include entries that are supersets or unions of two or more other groups. For example, a My Circles group  504   d  can represent the union of the Family, Friends and Coworkers groups  504   a - c . As a result, the total membership in the My Circles group  504   d  (e.g., 137) can be the sum of the group memberships that the superset group includes (e.g., 7+105+25). An Anyone group  504   e  can apply to the group by which the user can re-publish the ad with everyone online, and the parenthetical membership for the Anyone group  504   e  can be “public on the web.” In some implementations, by selecting the parenthetical membership number, the user interface  200  can display the list of individual members in the group. For example, the user may want to see the names of the people in a group as reminder of who the re-published ad would be shared with if that group is made visible. 
     In some implementations, each time the user selects a new group from the group entries  504 , a selectable control for that group can appear in the visibility change popup  402 , such as is shown for the Friends control  406  and the Family control  408 . In some implementations, updating the controls in the visibility change popup  402  may not occur until after the user exits the groups selection list  502 , such as by selecting an exit control  506 . 
       FIG. 6  shows an example add comment box  602  for sharing a comment on an ad. For example, the user can use the add comment box  602  to enter a comment associated with an ad (e.g., the ad  202 ). The user interface  200  can display the add comment box  602 , for example, if user selects the add a comment control  314  in order to comment upon the ad  202  and share his comments with others. As an example, if the ad  202  advertises a particularly interesting-looking waterfront location (e.g., the oceanfront boardwalk in the ad  202 ), then the user may enter, “I bet the view of the ocean is beautiful!” or some other comment in the add comment box  602 . In some implementations, as soon as the user begins typing in the add comment box  602 , any prompt message (e.g., “add comment . . . ”) can be immediately replaced by whatever the user types in. 
     By selecting a comment control  604 , the user can save the comment that he has typed into the add comment box  602 , and the saved comment can be displayed, for example, in the details popup  302 . However, if the user decides not to keep the comment, the user can select a cancel control  606 . Comments entered using the add comment box  602  can appear in an activity stream, such as the user&#39;s activity stream that lists recent activities performed by the user. In some implementations, the activity stream that is updated with the comment can be on a social website. In some implementations, comments that are posted to one or more activity streams can be in a standardized format so that any social website can interact with the comment and other components of an activity stream. In some implementations, the comment added using the add comment box  602  can appear in a social overlay  204 , e.g., as all or part of a social message  208 . 
     In some implementations, the control  206  described above can include or provide access to additional controls by which a user can view comments for an ad (e.g., the ad  202 ) that have been made by other users. In some implementations, the comments that a user views using the control  206  can be made anonymous. In some implementations, the social message  208  can indicate the number of users who have commented upon an ad (e.g., “25 people in Carmel commented on this ad”). 
       FIG. 7  shows the example user interface  200  of  FIG. 2  with the social overlay  204  that is updated to indicate that the user has re-published the ad  202 . In the current example, because the user has re-published the ad  202 , the social message  208  is now prefaced with “You and . . . ” and now reads “You and 394 people in Carmel+1&#39;d this.” In some implementations, if additional users (e.g., three more users) in the Carmel area have re-published the ad  202  since the user&#39;s act of re-publishing the ad, the social message  208  can update the information (e.g., “You and 397 people in Carmel+1&#39;d this”). In some implementations, other information can be included in the social message  208  if additional activity has occurred (e.g., sharing, etc.) by one or more other users. 
     The updated social overlay  204  in  FIG. 7  is an example completed loop of events and user actions, starting with the display of the ad  202  that is annotated with the original social overlay  204  and social message  208 . Then, as a result of the user re-publishing the ad  202  (e.g., by choosing to “plus one” the ad), the ad  202  is re-published. As a result, the user&#39;s social overlay  204  includes a second different annotation (e.g., an updated social message  208 , “You and . . . ”) along with the re-published ad. Other users can also experience an updated social message  208  that reflects the current user&#39;s activity. For example, the social message  208  that the other users see can include an updated count of users who re-published the ad, e.g., “395 people in Carmel+1&#39;d this.” The ad management system  110 , for example, can produce one or more new social messages  208  for an ad  202  based on actions of one or users in re-publishing the ad  202  (e.g., sharing, commenting, etc.). 
     In some implementations, in addition to determining which social message  208  is to be included or annotated in the social overlay  204 , a determination can be made (e.g., by the ad management system  110 ) whether to show the annotation at all. For example, since the annotation may occupy valuable space within the ad block of the ad  202 , the ad management system  110  can decide to show the annotation only when it is believed that the annotation will actually be relevant, e.g., that the user re-publishes the ad. In some implementations, the placement, size and format of the social overlay  204  in the ad  202  can depend on the size and position of un-used space (e.g., blank space) in the ad. For example, the social overlay  204  can generally appear along the bottom of the ad  202  only if nothing relevant (e.g., text) in the ad  202  is covered by the annotation. 
       FIG. 8  is a flowchart of an example process for targeting additional content to a group based on a designation of an advertisement for re-publishing to the group. For example, the process  800  can be used to serve an ad  202  with a social overlay  204 . The social overlay  204  can include tools by which the user can provide input for re-publishing the ad to a group, and additional content can be targeted to the group based on the re-publishing of the ad  202 . The process  800  can be performed, for example, by the ad management system  110 . 
     A request is received for an advertisement to be displayed in a slot (e.g., associated with a third-party content site) ( 802 ). For example, referring to  FIG. 1 , the ad management system  110  can receive a request to provide an ad in a slot in the third-party web page that corresponds to a resource  105 . The request can occur, for example, when search results  118  are generated in response to a query  116 . In some implementations, the ad management system  110  can have no control of the general content of the third-party website except for providing ads that fill slots on the web page. 
     A relevant advertisement is identified to be provided in the slot ( 804 ). As an example, the ad management system  110  can identify an ad  202  (see  FIG. 2 ) that is relevant (e.g., to the third-party web site). For example, if the website is related to beaches or waterfronts, then the ad management system  110  can identify an ad  202  that advertises a beach-related product or service. In some implementations, the identification process can use keywords (e.g., “beaches”) that correspond to the user&#39;s query for content. In some implementations, the ad management system  110  can identify ads that are targeted to the user. For example, if the user is known to live in the Carmel area of California, or if the GPS location of the user&#39;s mobile computing device indicates that the user is currently in that area, then the ad management system  110  can identify an ad for a Carmel area beach. In some implementations, identification of the ad can be based on the extent or recentness of users in the user&#39;s social circles who have re-published the ad. For example, if several members of the user&#39;s groups have commented on an ad, or if significant recent re-publishing of the ad has occurred, the ad management system  110  can select that particular ad over other ads that may have less social context (e.g., and interest to the user). 
     Information to be included in an annotation associated with the advertisement is determined, with the annotation including customized information to be presented along with the advertisement ( 806 ). As an example, for the relevant advertisement that is identified, the ad management system  110  can identify information that is customized for the user on whose computing device the ad will be displayed. Examples of customization include the number of the user&#39;s family or friends who re-published the ad, or the number of users in the user&#39;s geographic area who re-published the ad. 
     In some implementations, the customization can use any suitable piece of information that is associated with the user when determining information to be included in the annotation. Example information includes demographics such as gender, age, income, occupation, hobbies, and so on. These demographic categories can be used to create annotations that are meaningful to the user because the user is also within those demographics. 
     The advertisement responsive to the request is provided, including the annotation along with a control for re-publishing the advertisement along with the relevant advertisement ( 808 ). As an example, referring to  FIG. 2 , the ad management system  110  can provide the ad  202  that is annotated with the social overlay  204 . The social message  208  that is included in the social overlay  204  includes customized information that is related to the user or a group associated with the user. For example, the social overlay  204  can include information regarding the user&#39;s re-publishing of the ad and/or information regarding the actions of members of the user&#39;s social groups. 
     The annotation can include a control for re-publishing the advertisement. For example, the social overlay  204  includes the plus one control  208  for re-publishing the ad  202 . The plus one control  208  enables the user to re-publish the ad  202 , for example, to one or more members of each of one or more of the user&#39;s groups. The plus one control  208  can also enable the user to re-publish the ad  202  to other individuals that are not members of any group associated with the user. 
     User input selecting the control and designating the advertisement for re-publishing to a group is received ( 810 ), where the group is designated by the user. For example, referring to  FIG. 2 , the user can select the plus one control  210  to designate the ad  202  for re-publishing. Along with a designation to re-publish the advertisement, a user input specifying one or more groups to receive the re-published advertisement can be received. For example, referring to  FIG. 3 , one or more groups to receive the re-published ad  202  can be specified using the current settings  308 . 
     The group can be, for example, a social circle, family, friends, work group, or any other particularly identified or inferred group. The group may include, for example, a set of users that have been previously designated by the user for inclusion in the group. For example, the user may have previously created a group (e.g., using a social application) which includes the user&#39;s family members. Such a group may or may not include the user as a member of the group. As another example, the group may be a group that includes the user and other users (e.g., a group that the user previously joined, such as a group that includes fans of a particular sports team). 
     The group that a user designates can be specified, for example, by a group name. As another example, in some implementations, a group can be implicitly created, at the time of designation for re-publication of the ad, if the user specifies a set of two or more users to receive the re-published ad (e.g., the user may select individual users as recipients of the re-published ad, rather than selecting a group name). As another example, an implicit group can be created if the user specifies two or more existing groups, or a combination of one or more existing groups and one or more individual users as recipients of the re-published ad. Groups can also be inferred, as described in more detail below. 
     In some implementations, the received user input includes a designation to provide the advertisement and associated comments to a social application for presentation in an activity stream associated with the user. As another example, in some implementations, the received user input includes a designation to provide the advertisement as an update for the user in an activity stream associated with one or more members of a group specified by the user, or to an activity stream associated with the group. 
     Additional content is targeted to the group based on the received user input ( 812 ). For example, the received user input can be used as a signal when determining relevant content to be provided to one or more members of the group in the future. For example, one or more ads can be targeted to the group or to one or more members of the group in response to a future request for ads. Ads may be requested for one or more ad slots, such as ad slots included on a third party web page or on a search results page viewed by a member of the group. 
     In response to a request for ads, one or more ads may be selected. For example, referring to  FIG. 1 , one or more ads may be selected by the ad management system  110 . The ad management system  110  may select ads based on a quality score, where the quality score for an ad indicates the relevance of the ad to a received request for ads. The quality score may be affected by one or more signals, such as one or more social signals, that are based on the received user input. 
     A social signal may be based on tracked data associated with designations of ads for re-publishing by the user. For example, the ad management system  110  can track, for each ad designated for re-publishing by the user, an identifier of the ad, targeting keywords associated with the ad, a date and time of designation, any recipients (e.g., users, groups) designated to receive the re-published ad, and the location of the user at the time of designation (e.g., as determined by a location detection device (e.g., GPS (Global Positioning Satellite) receiver)). Other context information can be tracked, such as the URL of the hosting web page that includes the ad designated for re-publishing, and whether the hosting web page is a search results web page. If the hosting web page is a search results web page, search keywords used for the search associated with the search results web page can be tracked. Browsing history information which indicates how a user navigated to the hosting web page can be tracked, and content keywords of the hosting web page can be tracked. As described in more detail below, targeting additional content to a group can be based on some or all of the tracked data. 
     In addition to tracking the designation of an ad for re-republishing to a group, user interactions with a re-published ad (e.g., that is presented in an activity stream) can be tracked, and additional content can be targeted to the group based on the interactions. An ad may be re-published to an activity stream, for example, based on a designation by a user. For example, an ad may be re-published to an activity stream associated with the user, an activity stream associated with one or more members of a group specified by the user, or an activity stream associated with the group itself. 
     The user or a member of a group specified by the user can interact with the ad, such as to designate either liking or disliking the ad. As another example, the user or a member of a group specified by the user can select the ad, such as to expand the ad or to navigate to a landing page associated with the ad. As yet another example, the user can enter a comment associated with the ad. 
     If multiple users interact with a re-published ad (e.g., one posted to an activity stream associated with the user, an activity stream associated with one or more members of a group specified by the user, or an activity stream associated with the group), then a social group including each of the users who interacted with the ad can be inferred, and additional content related to the ad can be targeted in the future to each user included in the inferred social group. In some implementations, an inferred group can be created which includes all users who interacted in any way with one or more of an ad, a set of specified ads, or a set of ads having certain targeting keywords. In some implementations, multiple inferred groups can be created based on a type of interaction. For example, four inferred groups can be created, which include, respectively, users who commented on, designated for re-publishing, selected (e.g., viewed), or indicated a liking or a disliking of an ad, a set of specified ads, or a set of ads having certain targeting keywords. 
     If the ad is posted to an activity stream associated with a group, then, in some implementations, only group members can interact with the ad. A subgroup of group members can be identified, where the subgroup includes group members who interact with one or more ads or one or more ads having certain targeting keywords posted to the group&#39;s activity stream. It can be assumed that, in general, the subgroup of members may have a stronger interest than other members in the subject matter of the ads or in the subject matter indicated by targeting keywords associated with the ads. Therefore, additional content (e.g., other ads) related to the subject matter of the interacted ads or to the targeting keywords can be presented in the future to members of the subgroup. 
     Additional information can be derived from tracked data, and targeting can be based on the derived information. For example, one or more rates of re-publishing can be determined for a user, such as how often a user re-publishes ads to particular members or particular groups in a given time period, or how often a user re-publishes ads having certain targeting keywords to particular members or particular groups in a given time period. For each user or group a user re-publishes ads to, a rate of re-publishing of certain types of ads to that user or group can be determined. For example, it can be determined that a user re-publishes five ads for sports cars, on average, per month, to a “friends” group. As another example, it can be determined that a user re-publishes, on average, three vacation-related ads per week to a particular, other user, or that the user re-publishes, on average, six golfing-related ads per month to a particular group. 
     If a user frequently (e.g., at more than a threshold rate) re-publishes ads to a same set of individual users, a social group including those users can be inferred, even if those users are not otherwise included in a specified group, and a rate of targeting of certain types of ads to the inferred group can be determined. A group to be targeted, therefore, can be, for example, an inferred group, a group explicitly selected by the user, or an implicit group (e.g., a group formed from a user specifying individual users or a combination of users and groups as recipients). 
     In general, targeting of additional content to a group may be based on tracked data and/or on information derived from the tracked data. For example, if a user has designated for re-publishing to a group ads having certain targeting keywords, other ads having the same or similar targeting keywords can be targeted to the group or to members of the group in the future. As a more particular example, if the user has designated for republishing ads to a group having a certain targeting keyword more than a threshold number of times within a certain time period, then other ads having that targeting keyword can be selected for presentation to the group or to members of the group. For instance, if the user has designated for re-publishing more than five ads for sporting equipment to a group within the past month, other ads for sporting equipment may be presented to the group or to members of the group in the future. 
     It may be assumed that it is likely that members of the group share common interests, and that group members may be interested in content that the user is interested in. Therefore, other ads that have been previously designated for re-publishing by the user may be selected for re-publishing or presentation to the group, even if the user did not explicitly designate the group when designating the ads for re-publishing. If an ad is targeted to the group based on a previous designation for re-publishing of the ad by the user, the ad may, when presented to the group, include a custom annotation which indicates that the user had previously designated the ad for re-publication. For example, an annotation may indicate that “Bob likes this”. As another example, an ad targeted to the group may include a custom annotation which indicates how many users that are members of the group have previously designated the ad for re-publishing. For example, an ad may include a custom annotation of “Five group members like this”. 
     Targeting of additional content may be based on other context associated with the designation of an ad for re-publishing. For example, a user may tend to designate ads or ads having particular targeting keywords for re-publishing to a particular group at certain times of day or times of year. For example, a trend of a user designating vacation ads to a “family” group for re-publishing during the month of June can be determined and other vacation ads can be targeted to the user and to the “family” group during the month of June in future years. As another example, a user may tend to designate theater ads for re-publishing to a social circle group on Friday afternoons, and other theater or other entertainment-related ads can be targeted to the user and to the social circle group on Friday afternoons in future weeks. 
     In some implementations, the age of tracked data can affect whether content is targeted to a group. For example, one or more ads having particular targeting keywords may be selected to be presented to the group or to members of the group if the user has re-published other ads having those or similar targeting keywords within the past month. In this example, if the last time the user re-published an ad having a particular targeting keyword (e.g., golf) was two weeks ago, ads having that targeting keyword might be selected for presentation to the group, but the ads might not be selected for presentation to the group if the last time the user re-published an ad having the particular targeting keyword was three months ago. As another example, more recent tracked data may be given higher weight than older tracked data when determining a relevancy of tracked data. For example, tracked data for ads republished within the past month may be given a weight of 100%, tracked data for ads re-published between one month and three months from the current date may be given a weight of 60%, and tracked data for ads re-published more than three months from the current date may be given a weight of 0%. 
     Other targeting activities can occur in response to the received user input other than selecting ads for presentation to the group. For example and as mentioned, an annotation included in the ad to be re-published to the group can be customized, such as to include a comment entered by the user or to indicate who or how many people have designated the ad for re-publishing. As another example, the group and/or each member of the group may be surfaced to one or more advertisers. 
       FIG. 9  is a block diagram of computing devices  900 ,  950  that may be used to implement the systems and methods described in this document, as either a client or as a server or plurality of servers. Computing device  900  is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Computing device  950  is intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed in this document. 
     Computing device  900  includes a processor  902 , memory  904 , a storage device  906 , a high-speed interface  908  connecting to memory  904  and high-speed expansion ports  910 , and a low speed interface  912  connecting to low speed bus  914  and storage device  906 . Each of the components  902 ,  904 ,  906 ,  908 ,  910 , and  912 , are interconnected using various busses, and may be mounted on a common motherboard or in other manners as appropriate. The processor  902  can process instructions for execution within the computing device  900 , including instructions stored in the memory  904  or on the storage device  906  to display graphical information for a GUI on an external input/output device, such as display  916  coupled to high speed interface  908 . In other implementations, multiple processors and/or multiple buses may be used, as appropriate, along with multiple memories and types of memory. Also, multiple computing devices  900  may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system). 
     The memory  904  stores information within the computing device  900 . In one implementation, the memory  904  is a computer-readable medium. In one implementation, the memory  904  is a volatile memory unit or units. In another implementation, the memory  904  is a non-volatile memory unit or units. 
     The storage device  906  is capable of providing mass storage for the computing device  900 . In one implementation, the storage device  906  is a computer-readable medium. In various different implementations, the storage device  906  may be a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations. In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the memory  904 , the storage device  906 , or memory on processor  902 . 
     The high speed controller  908  manages bandwidth-intensive operations for the computing device  900 , while the low speed controller  912  manages lower bandwidth-intensive operations. Such allocation of duties is exemplary only. In one implementation, the high-speed controller  908  is coupled to memory  904 , display  916  (e.g., through a graphics processor or accelerator), and to high-speed expansion ports  910 , which may accept various expansion cards (not shown). In the implementation, low-speed controller  912  is coupled to storage device  906  and low-speed expansion port  914 . The low-speed expansion port, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be coupled to one or more input/output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter. 
     The computing device  900  may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server  920 , or multiple times in a group of such servers. It may also be implemented as part of a rack server system  924 . In addition, it may be implemented in a personal computer such as a laptop computer  922 . Alternatively, components from computing device  900  may be combined with other components in a mobile device (not shown), such as device  950 . Each of such devices may contain one or more of computing device  900 ,  950 , and an entire system may be made up of multiple computing devices  900 ,  950  communicating with each other. 
     Computing device  950  includes a processor  952 , memory  964 , an input/output device such as a display  954 , a communication interface  966 , and a transceiver  968 , among other components. The device  950  may also be provided with a storage device, such as a microdrive or other device, to provide additional storage. Each of the components  950 ,  952 ,  964 ,  954 ,  966 , and  968 , are interconnected using various buses, and several of the components may be mounted on a common motherboard or in other manners as appropriate. 
     The processor  952  can process instructions for execution within the computing device  950 , including instructions stored in the memory  964 . The processor may also include separate analog and digital processors. The processor may provide, for example, for coordination of the other components of the device  950 , such as control of user interfaces, applications run by device  950 , and wireless communication by device  950 . 
     Processor  952  may communicate with a user through control interface  958  and display interface  956  coupled to a display  954 . The display  954  may be, for example, a TFT LCD display or an OLED display, or other appropriate display technology. The display interface  956  may comprise appropriate circuitry for driving the display  954  to present graphical and other information to a user. The control interface  958  may receive commands from a user and convert them for submission to the processor  952 . In addition, an external interface  962  may be provide in communication with processor  952 , so as to enable near area communication of device  950  with other devices. External interface  962  may provide, for example, for wired communication (e.g., via a docking procedure) or for wireless communication (e.g., via Bluetooth or other such technologies). 
     The memory  964  stores information within the computing device  950 . In one implementation, the memory  964  is a computer-readable medium. In one implementation, the memory  964  is a volatile memory unit or units. In another implementation, the memory  964  is a non-volatile memory unit or units. Expansion memory  974  may also be provided and connected to device  950  through expansion interface  972 , which may include, for example, a SIMM card interface. Such expansion memory  974  may provide extra storage space for device  950 , or may also store applications or other information for device  950 . Specifically, expansion memory  974  may include instructions to carry out or supplement the processes described above, and may include secure information also. Thus, for example, expansion memory  974  may be provide as a security module for device  950 , and may be programmed with instructions that permit secure use of device  950 . In addition, secure applications may be provided via the SIMM cards, along with additional information, such as placing identifying information on the SIMM card in a non-hackable manner. 
     The memory may include for example, flash memory and/or MRAM memory, as discussed below. In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the memory  964 , expansion memory  974 , or memory on processor  952 . 
     Device  950  may communicate wirelessly through communication interface  966 , which may include digital signal processing circuitry where necessary. Communication interface  966  may provide for communications under various modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communication may occur, for example, through radio-frequency transceiver  968 . In addition, short-range communication may occur, such as using a Bluetooth, WiFi, or other such transceiver (not shown). In addition, GPS receiver module  970  may provide additional wireless data to device  950 , which may be used as appropriate by applications running on device  950 . 
     Device  950  may also communication audibly using audio codec  960 , which may receive spoken information from a user and convert it to usable digital information. Audio codex  960  may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of device  950 . Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.) and may also include sound generated by applications operating on device  950 . 
     The computing device  950  may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a cellular telephone  980 . It may also be implemented as part of a smartphone  982 , personal digital assistant, or other similar mobile device. 
     Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. 
     These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the terms “machine-readable medium” “computer-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor. 
     To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input. 
     The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet. 
     The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. 
     A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, various forms of the flows shown above may be used, with steps re-ordered, added, or removed. Also, although several applications of the payment systems and methods have been described, it should be recognized that numerous other applications are contemplated. Accordingly, other embodiments are within the scope of the following claims.