Method and apparatus for serving relevant ads based on the recommendations of influential friends
AssigneeGoogle Inc.
InventorsNeha Pattan, Jennifer W. Lin
Life of this patent
Estimating the term…
Abstract
Methods, apparatuses, and computer-readable media for serving annotations are disclosed. When a contact of a user recommends an ad, the score of the ad may be boosted in an ad auction. The amount of boosting depends on contact affinity. Contacts with greater contact affinity may be more influential, and ads that are recommended by such contacts may have a higher click-through rate. The greater the affinity between the user and contact, the greater the boost to the ad score. Affinity may be measured by a weight value, which is determined by, for example, social network interactions, e-mail/instant messaging communications, and phone logs and contact lists.
Claims14
An apparatus, comprising:
- one or more processors,
- a computer-readable medium coupled to said one or more processors having instructions stored thereon that, when executed by said one or more processors, cause said one or more processors to perform operations comprising:
- storing a plurality of ads in one or more ad databases;
- receiving, from a client device associated with a user, data indicating a social networking action between the user and a first person who is a social network contact of the user from a plurality of persons who are social network contacts of the user, wherein the social networking action includes interaction with an ad annotated with a comment from the first person;
- updating a weight value for the first person with respect to the user based on the social networking action indicated by the received data, wherein the weight value for the first person is increased as a frequency with which the user interacts with ads annotated with comments from the first person increases;
- storing the updated weight value for the first person with respect to the user in a table containing stored weight values for a plurality of social network contacts of the user with respect to the user;
- ranking the plurality of social network contacts of the user based on the updated weight value for each of the social network contacts, wherein the updated weight value for each of the social network contacts is based on a frequency with which the user interacts with ads annotated with comments from each of the plurality of social network contacts;
- receiving an ad request from the client device associated with the user;
- adjusting ad scores of candidate ads selected from the stored plurality of ads to serve to the user in response to the ad request based on the updated weight values for the plurality of social network contacts of the user stored in the table;
- selecting one of the candidate ads based on the adjusted ad scores of the candidate ads;
- identifying a subset of the plurality of social network contacts that have interacted with the selected candidate ad;
- determining a social network contact of the user that is a highest ranked social network contact in the subset of the plurality of social network contacts;
- constructing an annotation using information about one or more interactions with the selected candidate ad performed by the social network contact of the user that is the highest ranked social network contact in the subset of the plurality of social network contacts and the selected candidate ad;
- visually modifying the selected candidate ad using the constructed annotation to produce an instance of the selected candidate ad for presentation to the user;
- wherein visually modifying the selected candidate ad using the constructed annotation is performed after the ad request is received from the client device;
- and
- serving the instance of the selected candidate ad that has been produced by visually modifying the selected candidate ad using the constructed annotation to the client device associated with the user for display.
An apparatus, comprising:
- one or more processors,
- a computer-readable medium coupled to said one or more processors having instructions stored thereon that, when executed by said one or more processors, cause said one or more processors to perform operations comprising:
- storing a plurality of ads in one or more ad databases;
- receiving, from a client device associated with a user, data indicating that the user is communicating with a contact of the user from a plurality of contacts of the user;
- computing a weight value for the contact with respect to the user based on the communication indicated by the received data, wherein the weight value for the contact is increased as a frequency with which the user interacts with ads annotated with comments from the social network contact increases;
- entering the computed weight value for the contact with respect to the user in a table containing stored weight values for a plurality of contacts of the user with respect to the user;
- ranking the plurality of contacts of the user based on the weight value for each of the contacts, wherein the weight value for each of the contacts is based on an interaction level between each of the contacts and the user;
- receiving an ad request from the client device associated with the user;
- increasing ad scores of one or more ads associated with the contact based on the computed weight value for the contact with respect to the user;
- selecting an ad based on the increased ad scores of the one or more ads;
- identifying a subset of the plurality of contacts that have interacted with the selected candidate ad;
- determining a contact of the user that is a highest ranked contact in the subset of the plurality of contacts;
- constructing an annotation using information about one or more interactions with the selected candidate ad performed by the contact of the user that is the highest ranked contact in the subset of the plurality of contacts and the selected candidate ad;
- visually modifying the selected candidate ad using the constructed annotation to produce an instance of the selected candidate ad for presentation to the user;
- wherein visually modifying the selected candidate ad using the constructed annotation is performed after the ad request is received from the client device;
- and
- serving the instance of the selected candidate ad that has been produced by visually modifying the selected candidate ad using the constructed annotation to the client device associated with the user for display.
A method comprising:
- receiving at a server, from a client device associated with a user, data indicating a social networking action between the user and a first person who is a social network contact of the user from a plurality of persons who are social network contacts of the user, wherein the social networking action includes interaction with an ad annotated with comment a comment from the first person;
- updating a weight value for the first person with respect to the user based on the social networking action indicated by the received data, wherein the weight value for the first person is increased as a frequency with which the user interacts with ads annotated with comments from the first person increases;
- storing the updated weight value for the first person with respect to the user in a table containing stored weight values for a plurality of social network contacts of the user with respect to the user;
- ranking the plurality of social network contacts of the user based on the updated weight value for each of the social network contacts, wherein the updated weight value for each of the social network contacts is based on a frequency with which the user interacts with ads annotated with comments from each of the plurality of social network contacts;
- receiving at the server an ad request from the client device associated with said user;
- adjusting ad scores of candidate ads selected from the stored plurality of ads to serve to the user in response to the ad request based on the updated weight values for the plurality of social network contacts of the user stored in the table;
- selecting one of the candidate ads based on said adjusted ad scores of the candidate ads;
- identifying a subset of the plurality of social network contacts that have interacted with the selected candidate ad;
- determining a social network contact of the user that is a highest ranked social network contact in the subset of the plurality of social network contacts;
- constructing an annotation using information about one or more interactions with the selected candidate ad performed by the social network contact of the user that is the highest ranked social network contact in the subset of the plurality of social network contacts and the selected candidate ad;
- visually modifying the selected candidate ad using the constructed annotation to produce an instance of the selected candidate ad for presentation to the user;
- wherein visually modifying the selected candidate ad using the constructed annotation is performed after the ad request is received from the client device;
- and
- serving the instance of the selected candidate ad that has been produced by visually modifying the selected candidate ad using the constructed annotation to the client device associated with the user for display.
A method comprising:
- receiving at a server, from a client device associated with a user, data indicating that the user is communicating with a contact of the user from a plurality of contacts of the user;
- computing a weight value for the contact with respect to the user based on the communication indicated by the received data, wherein the weight value for the contact is increased as a frequency with which the user interacts with ads annotated with comments from the social network contact increases;
- entering the computed weight value for the contact with respect to the user in a table containing stored weight values for a plurality of contacts of the user with respect to the user;
- ranking the plurality of contacts of the user based on the weight value for each of the contacts, wherein the weight value for each of the contacts is based on an interaction level between each of the contacts and the user;
- receiving an ad request from the client device associated with the user;
- increasing ad scores of one or more ads associated with the contact based on the computed weight value for the contact with respect to the user;
- selecting an ad based on the increased ad scores of the one or more ads;
- identifying a subset of the plurality of contacts that have interacted with the selected candidate ad;
- determining a contact of the user that is a highest ranked contact in the subset of the plurality of contacts;
- constructing an annotation using information about one or more interactions with the selected candidate ad performed by the contact of the user that is the highest ranked contact in the subset of the plurality of contacts and the selected candidate ad;
- visually modifying the selected candidate ad using the constructed annotation to produce an instance of the selected candidate ad for presentation to the user;
- wherein visually modifying the selected candidate ad using the constructed annotation is performed after the ad request is received from the client device;
- and
- serving the instance of the selected candidate ad that has been produced by visually modifying the selected candidate ad using the constructed annotation to the client device associated with the user for display.
Dependencies are inferred from the claim text.