US20090198711A1 - User-targeted advertising - Google Patents

User-targeted advertising Download PDF

Info

Publication number
US20090198711A1
US20090198711A1 US12/025,239 US2523908A US2009198711A1 US 20090198711 A1 US20090198711 A1 US 20090198711A1 US 2523908 A US2523908 A US 2523908A US 2009198711 A1 US2009198711 A1 US 2009198711A1
Authority
US
United States
Prior art keywords
content
attributes
user
structured data
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/025,239
Inventor
Mayur Datar
Jason C. Miller
Michael Hochberg
Bahman Rabii
Megan Nance
Julie Tung
Jeremiah Harmsen
Tomasz J. Tunguz-Zawislak
Andres S. Perez-Bergquist
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to US12/025,239 priority Critical patent/US20090198711A1/en
Assigned to GOOGLE INC. reassignment GOOGLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TUNG, JULIE, MILLER, JASON C., DATAR, MAYUR, HARMSEN, JEREMIAH, HOCHBERG, MICHAEL, NANCE, MEGAN, PEREZ-BERGQUIST, ANDRES S., RABII, BAHMAN, TUNGUZ-ZAWISLAK, TOMASZ J.
Priority to EP09707479A priority patent/EP2252963A4/en
Priority to BRPI0907917-3A priority patent/BRPI0907917A2/en
Priority to JP2010545951A priority patent/JP5877644B2/en
Priority to AU2009212496A priority patent/AU2009212496B2/en
Priority to PCT/US2009/032976 priority patent/WO2009100072A2/en
Priority to CA2714057A priority patent/CA2714057C/en
Publication of US20090198711A1 publication Critical patent/US20090198711A1/en
Priority to US13/617,912 priority patent/US10198744B2/en
Assigned to GOOGLE LLC reassignment GOOGLE LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: GOOGLE INC.
Priority to US16/265,691 priority patent/US20190164189A1/en
Priority to US17/107,680 priority patent/US20210081988A1/en
Priority to US17/697,657 priority patent/US20220207558A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the subject matter of this application is generally related to information presentation.
  • Web site-based advertisements (“ads” also referred to as “Web ads”) are some times presented to their advertising audience in the form of “banner ads”—i.e., a rectangular box that includes graphic components.
  • banner ads i.e., a rectangular box that includes graphic components.
  • viewer or “user” without loss of generality
  • embedded hypertext links typically direct the viewer to the advertiser's Web site.
  • Click-through This process, wherein the viewer selects an ad, is commonly referred to as a “click-through” (“click-through” is intended to cover any user selection.).
  • click-through rate The ratio of the number of click-throughs to the number of impressions of the ad.
  • Online social networks have become popular for professional and/or social networking, and are thus popular locations for placing advertisements.
  • Some online social networks provide content items that may be of interest to users, including identification of other users and/or groups that may of interest to a user.
  • Advertisement placement on social networking sites is challenging because such sites have users with many different interests. Accordingly, many advertisements, e.g., advertisements directed to particular products, may not be of interest to many users of an online social network.
  • Systems, methods, and computer program products described in this specification establish a structured data set for each of a number of users.
  • Content providers establish conditions that are compared to values within the structured data sets to identify users that satisfy the conditions.
  • Content providers can display content only to those users whose structured data sets satisfy the conditions. This may be particularly advantageous where a large number of characteristics are known about users, such as users that maintain profiles that are stored and accessible by the system and processes described herein. This can include, for instance, users that are members of online social networks.
  • content providers can identify the number of users that satisfy conditions and use that knowledge to further modify the conditions in real-time (i.e., immediately after creating the initial condition) to broaden or restrict the number of users that may receive content.
  • Using an iterative process allows content providers to target a specific audience. This iterative and real-time process may be advantageous, for instance, during the creation of an advertising campaign where content providers can refine their conditions repeatedly in minutes to identify an appropriate subset of users to receive content.
  • one aspect of the subject matter described in this specification can be embodied in methods that include the actions of identifying a plurality of structured data sets, each structured data set associated with a user and including one or more attributes, identifying values corresponding to at least one of the one or more attributes in each structured data set, comparing a condition established by a content provider to one or more of the identified values, and determining a number of structured data sets having the one or more of the identified values that satisfy the condition established by the content provider.
  • the method includes receiving a revised condition from the content provider.
  • the method can include comparing the revised condition to one or more of the identified values.
  • the method can also include determining a number of structured data sets having the one or more of the identified values that satisfy the revised condition established by the content provider.
  • One or more content items may also be displayed to users associated with the structured data sets having the one or more of the identified values that satisfy the condition established by the content provider.
  • the method can include identifying a click through rate associated with displayed one or more content items.
  • the one or more attributes represent characteristics of the user associated with each structured data set.
  • the one or more attributes can include age, gender, number of friends, interests, zip code, or length of time since previous login.
  • the method can include receiving the condition from the content provider, where the condition identifies one or more required values associated with at least one of the one or more attributes.
  • the one or more required values can be compared with the identified values.
  • the method can determine when the identified values satisfy the condition.
  • the one or more attributes include one or more public attributes and/or one or more private attributes. The one or more public attributes can be displayed to the content provider.
  • Content providers such as advertisers can target a certain market segment for marketing. Rather than displaying content to an entire user population content providers can restrict content to a certain subset of users that the content providers can identify based on their attributes, i.e., characteristics. As an alternate to restricting ads to a subset of users, content providers may pay more for ads shown to a subset of users.
  • FIG. 1 is a block diagram of an example system for identifying content items based on structured data sets.
  • FIG. 2 is a more detailed block diagram of the example system for identifying content items based on structured data sets.
  • FIG. 3 is a flow diagram of an example process for identifying content items based on structured data sets.
  • FIG. 4 is a flow diagram of an example process for identifying a number of users whose structured data sets satisfy conditions established by a content provider.
  • FIG. 5 is a flow diagram of an example process for iteratively permitting a content provider to modify the conditions that determine the users to which content items will be displayed.
  • FIG. 6 is a block diagram of an example computer system that can be utilized to implement the systems and methods described herein.
  • FIG. 1 is a block diagram of an example system 100 for identifying content items, such as advertisements, based on structured data sets.
  • each structured data set corresponds to a particular user.
  • a structured data set can correspond to all members of a class of users.
  • Structured data sets include structured data that, in some implementations, includes a number of attribute-value pairs. Attributes may be common to many users and identify characteristics of users (e.g., age, gender, weight, etc.), whereas the value corresponding to each attribute in each structured data set defines a characteristic of that user.
  • a structured data set for an individual may include the following attribute-values pairs:
  • structured data may be identified from data collected and/or stored by a social network system 110 that can, for example, host numerous user accounts 112 .
  • An example social network system can include Orkut, hosted by Google, Inc., of Mountain View, Calif.
  • Other social networks can, for example, include school alumni websites, an internal company web site, dating networks, or the like.
  • Each user account 112 can, for example, include user profile data 114 , user acquaintances data 116 , user groups data 118 , user media data 120 , and user options data 122 .
  • Other user data can also be included in the user accounts 112 .
  • the data in each user account can be used to populate the structured data 160 for each user, and more particularly, the attribute-value pairs.
  • Structure data 160 may be stored internal or external (as shown in FIG. 1 ) to the social network system 110 or may be stored at a location accessible anywhere on a network 102 , such as the Internet. In some cases, where the social network is different from the content server, a copy of the structured data may be provided by the social network to the content server and maintained separately and updated regularly.
  • the user profile data 114 can, for example, include general demographic data about a user, such as age, sex, home location, interests, etc.
  • the user profile data 114 can also include professional information, e.g., occupation, educational background, etc., and other data, such as contact information.
  • the user profile data 114 can include open profile data, e.g., free-form text that may be typed by the user into fields for various subjects, e.g., “Job Description,” “Favorite Foods,” “Hobbies,” etc., and constrained profile data, e.g., binary profile data selected by check boxes, radio buttons, etc., or predefined selectable profile data, e.g., income ranges, zip codes, etc.
  • some or all or the user profile data 114 can be classified as public or private profile data, e.g., data that can be shared publicly or data that can be selectively or otherwise not shared.
  • profile data 114 not classified as private data can, for example, be classified as public data, e.g., data that can be viewed by any user accessing the social network system 110 .
  • the user acquaintances data 116 can, for example, define user acquaintances 117 associated with a user account 112 .
  • user acquaintances 117 can include, for example, users associated with other user accounts 112 that are classified as “friends,” e.g., user accounts 112 referenced in a “friends” or “buddies” list.
  • Other acquaintances 117 can also be defined, e.g., professional acquaintances, client acquaintances, family acquaintances, etc.
  • the user acquaintance data 116 for each user account 112 can, for example, be specified by users associated with each user account 112 , and thus can be unique for each user account 112 .
  • the user groups data 118 can, for example, define user groups 119 to which a user account 112 is associated.
  • user groups 119 can, for example, define an interest or topic, e.g., “Wine,” “Open Source Chess Programming,” “Travel Hints and Tips,” etc.
  • the user groups 119 can, for example, be categorized, e.g., a first set of user groups 119 can belong to an “Activities” category, a second set of user groups 119 can belong to an “Alumni & Schools” category, etc.
  • the user media data 120 can, for example, include one or more content items, such as user documents, e.g., web pages.
  • a document can, for example, include a file, a combination of files, one or more files with embedded links to other files, etc.
  • the files can be of any type, such as text, audio, image, video, hyper-text mark-up language documents, etc.
  • a common content item is a Web page.
  • Other content items can also be defined by the user media data 120 .
  • the user options data 122 can, for example, include data specifying user options, such as e-mail settings, acquaintance notification settings, chat settings, password and security settings, etc. Other option data can also be included in the user options data 122 .
  • the content serving system 130 can directly, or indirectly, enter, maintain, identify, and track content items 132 .
  • the content items 132 can, for example, include a web page or other content document, or text, graphics, video, audio, mixed media, etc.
  • the content items 132 are advertisements.
  • the advertisements can, for example, be in the form of graphical ads, such as banner ads, text only ads, image ads, audio ads, video ads, ads combining one of more of any of such components, etc.
  • the advertisements can also include embedded information, such as links, meta-information, and/or machine executable instructions.
  • user devices 140 a , 140 b and 140 c can communicate with the social network system 110 over the network 102 , such as the Internet.
  • the user devices 140 can be any device capable of receiving the user media data 120 , such as personal computers, mobile devices, cell phones, personal digital assistants (PDAs), television systems, etc.
  • PDAs personal digital assistants
  • the user devices 140 can be associated with user accounts 112 , e.g., the users of user devices 140 a and 140 b can be logged-in members of the social network system 110 , having corresponding user accounts 112 a and 112 b .
  • the user devices 140 may not be associated with a user account 112 , e.g., the user of the user device 142 c may not be a member of the social network system 110 or may be a member of the social network system 110 that has not logged in.
  • the social network system 110 can, for example, provide the user media data 120 or the other requested media data to user device 140 .
  • the user media data 120 or other requested media data can include an embedded request code, such as one or more Javascript code snippets.
  • the social network system 110 can insert the embedded request code into the user media data 120 or the other requested media data when served to a user device 140 .
  • the user device 140 can render the requested data, e.g., a user web page, or some other social network 110 page, in a presentation environment 142 , e.g., in a web browser application.
  • the user device 140 executes the request code, which causes the user device 140 to issue a content request, e.g., an advertisement request, to the content serving system 130 .
  • the content serving system 130 can provide one or more content items 132 to the user device 140 .
  • the content items 132 a , 132 b and 132 c can be provided to the user devices 140 a , 140 b and 140 c , respectively.
  • the content items 132 a , 132 b and 132 c are presented in the presentation environments 142 a , 142 b and 142 c , respectively.
  • the content serving system 130 includes a content targeting module 133 that can identify users that should receive content items 132 based on structured data sets 160 for those users, such as users associated with the user accounts 112 .
  • the content targeting module 133 receives conditions from content providers 150 and compares those conditions to values within each user's structured data set to identify those users whose attributes and values satisfy the content provider conditions.
  • a content provider 150 may establish the condition that users receive content, or a particular type of content, only when those users' structured data sets meet the following attribute-value conditions: “Age: between 25 and 35”, “Zip code: 95051”, and “Number of Friends>10.” This permits the content provider 150 to target certain subsets of users.
  • the content targeting module 133 can be integrated into the social network system 110 .
  • the content targeting module 133 can be a separate system in data communication with the social network system 110 and/or the content server system 130 .
  • the content targeting module 133 can be implemented in software and executed on a processing device, such as the computer system 600 of FIG. 6 .
  • Example software implementations include C, C++, Java, or any other high-level programming language that may be utilized to produce source code that can be compiled into executable instructions.
  • Other software implementations can also be used, such as applets, or interpreted implementations, such as scripts, etc.
  • the content targeting module 133 can be implemented in hardware or a combination of hardware and software.
  • Content providers 150 can use the identified number of users to further modify the conditions to broaden or restrict the number of users that satisfy the conditions. Using an iterative process allows content providers 150 to target a specific audience. This may be particularly advantageous where a large number of characteristics are known about users, such as users that maintain profiles and data stored within a social networking system 110 .
  • the iterative process of modifying conditions to identify a desired subset of users can occur in real-time based on current structured data and performance information.
  • a content provider such as an advertiser may adjust the conditions using a graphical user interface (GUI) at the content targeting module 133 .
  • GUI graphical user interface
  • An advertiser can repeatedly refine conditions in minutes to identify an appropriate subset of users to receive content.
  • Each time a condition is established it is compared by the content targeting module 133 against currently stored structured data and performance data to provide the content provider with real-time results.
  • Content providers can view in real time what how many users will receive impressions, the anticipated click through rate of those impressions, and the like, for each content-provider entered condition.
  • content providers may be charged or be willing to pay a higher content placement fee (e.g., advertising fee) for placement of content directed to a specific set of users that satisfy the content provider's conditions.
  • a content placement fee e.g., advertising fee
  • the content provider may be charged a premium for content placement for those target users.
  • the advertiser may pay more for content placement in front of the target group, the advertiser may be willing to pay a greater amount for placement of content, e.g., advertisements, that are provided to a group of users that are likely to provide the advertiser with a high return on the advertiser's investment.
  • conditions may be compared by the content targeting module 133 to structured data sets during periods of low traffic or at other times regardless of whether a content provider has requested identification of the users that may satisfy the conditions.
  • each user's structured data set may be tagged by the content targeting module 133 as satisfying (or failing to satisfy) one or more conditions and/or combination of conditions. This optimization reduces the need for the content targeting module 133 to constantly compare all values within structured data sets to conditions in real-time or in near-real time.
  • the content providers 150 can, for example, include web sites having “landing pages” 152 that a user is directed to when the user clicks (e.g., interacts with) an advertisement 132 presented on page provided from the social networking system 110 .
  • the content providers 150 can provide content items 132 in the form of “creatives,” which are advertisements that may include text, graphics and/or audio associated with the advertised service or product, and a link to a web site.
  • the content serving system 130 can monitor and/or evaluate performance data 134 related to the content items 132 .
  • the performance of each advertisement 132 can be evaluated based on a performance metric, such as a click-through rate, a conversion rate, or some other performance metric.
  • a click-through can occur, for example, when a user of a user device, e.g., user device 140 a , selects or “clicks” on an advertisement, e.g. the advertisement 132 a .
  • the click-through rate can be a performance metric that is obtained by dividing the number of users that clicked on the advertisement or a link associated with the advertisement by the number of times the advertisement was delivered. For example, if advertisement is delivered 100 times, and three persons clicked on the advertisement, then the click-through rate for that advertisement is 3%.
  • a “conversion” occurs when a user, for example, consummates a transaction related to a previously served advertisement. 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 of the user device 140 a clicks on an advertisement 132 a , is referred to the advertiser's Web page, such as one of the landing pages 152 , and consummates a purchase before leaving that Web page. Other conversion types can also be used.
  • a conversion rate can, for example, be defined as the ratio of the number of conversions to the number of impressions of the advertisement (i.e., the number of times an advertisement is rendered) or the ratio of the number of conversions to the number of selections. Other types of conversion rates can also be used.
  • performance metrics can, for example, be revenue related or non-revenue related.
  • the performance metrics can be parsed according to time, e.g., the performance of a particular content item 132 may be determined to be very high on weekends, moderate on weekday evenings, but very low on weekday mornings and afternoons, for example.
  • Performance data can be provided to the content providers 150 to assist the content provider in delivering, modifying, and determining content, such as advertisements, that is delivered to users. Performance data can also assist the content providers 150 in modifying the conditions that identify users that receive content.
  • FIG. 2 is a more detailed block diagram of the example system 100 for identifying content items based on structure data sets.
  • the content targeting module 133 can utilize attribute-value pairs from structured data sets to determine those users that satisfy conditions established by one or more content providers 150 .
  • attributes and their corresponding values are extracted from user profile data 114 a - 114 n , user media data 120 a - 120 n , user acquaintances data 116 a - 116 n , user groups data 118 a - 118 n , and user options data 122 a - 122 n of user accounts 112 a - 112 n .
  • Attributes can include characteristics such as age, gender, zip code, and the like. Attributes can also include traits such as personality, values, attitudes, interests, lifestyles, etc. of users associated with the user accounts 112 a - 112 n . Other types of attributes are possible.
  • information provided by users in free-form text fields may be extracted by other system components, such as a natural language processor (not illustrated), to identify attributes and/or values.
  • a natural language processor (not illustrated) to identify attributes and/or values.
  • a user may identify their favorite hobbies by filling out a text field under the caption “Hobbies” by typing the sentence “I really enjoy hiking, especially long hikes when you can camp out for a few days. Indoor activities don't interest me at all, and I really don't like boring outdoor activities like gardening.”
  • a natural language processor can identify the attribute as “Hobbies” and values as “Hiking”.
  • data associated with a user may identify things a user is disinterested in. Attribute value pairs can therefore include this information as well.
  • the attribute “Hobbies” may include a value “Gardening” that is modified or also paired with a negative indicator to indicate that the user is disinterested in a particular subject.
  • a content provider 150 can establish a condition, e.g., that identifies users that fall within certain specifications, including disinterest in a particular subject.
  • an example process flow for identifying structured data sets begins when the content targeting module 133 receives the user profile data 114 a - 114 n , user media data 120 a - 120 n , user acquaintances data 116 a - 116 n , user groups data 118 a - 118 n , and user options data 122 a - 122 n of user accounts 112 a - 112 .
  • the content serving system 130 and/or content targeting module 133 can, for example, be configured to extract attribute-value pairs from the received data.
  • the content targeting module 133 can utilize another component, such as a natural language processor or the like, to extract attribute-value pairs.
  • data 114 , 116 , 118 , 120 , 122 associated with a particular user account can, for example, be provided to the content serving system 130 by a user device 140 associated with the particular user account 112 , e.g., the user device 140 a upon which a logged in session for the particular user account 112 a has been established.
  • a corresponding content item request 126 a that includes the user profile data 114 a - 114 n , user media data 120 a - 120 n , user acquaintances data 116 a - 116 n , user groups data 118 a - 118 n , and/or user options data 122 a - 122 n can be provided to the content serving system 130 .
  • the content serving system 130 may partner with the social network system 110 to receive user account 112 identifiers in corresponding content requests 126 a - 126 n .
  • the content serving system 130 can transmit the user account 112 identifiers to the social network system 110 in a request for corresponding structured data 160 .
  • the social network system 110 can, in response, provide the corresponding structured data 160 to the content serving system 130 .
  • the social network system 110 periodically provides an updated copy of the structured data sets to the content serving system 130 .
  • the content serving system 130 and/or content targeting module 133 receives one or more conditions from the content providers 150 and compares the conditions to structured data corresponding to each user (also referred to as a ‘structured data set’).
  • the content targeting module 133 identifies the structured data sets, and thus users, that satisfy the content provider conditions.
  • the content targeting module 133 can identify the users and/or number of users to the content provider 150 , which can then optionally revise the conditions to target a broader or narrower group of users.
  • the subset of users that satisfy the conditions may be provided to content providers in real time.
  • When conditions are revised the content targeting module 133 re-compares the structured data sets with the revised conditions to identify users that satisfy the revised conditions.
  • the content serving system 130 can then serve content provided from the content providers 150 to users that satisfy the conditions.
  • structured data 160 can be provided to advertisers, e.g., the content providers 150 .
  • the content providers 150 only a portion of the structure data may be provided to the content providers 150 . Therefore, each attribute-value pair may be identified as a public or private, and the content providers 150 may only receive public attribute-value pairs.
  • the content providers may be provided only with some or all attributes, and no values. Alternatively, the content providers may be provided only with some or all values, and no attributes.
  • Providing this information to the content providers 150 can, for example, facilitate the targeting of content items 132 , e.g., advertisements, to social networking sites that have users having many different interests.
  • the structured data 160 for the social network system 110 may identify a set of highly relevant marketing verticals for which many of the users of the social network system 110 may have a strong interest. Accordingly, one or more content providers 150 can target advertisements related to the verticals to users of the social network system 110 .
  • the content targeting module 133 can process the user accounts 112 a - 112 n periodically, e.g., monthly, to revise the structured data 160 .
  • Other processing triggers e.g., changes in the user account 112 corpus, can also be used.
  • the content targeting module 133 can process the user accounts 112 a - 112 n in an offline batch process. The processing results can, for example, be stored and accessed during the serving of content.
  • the content targeting module 133 can process the user accounts 112 a - 112 n in an online process, e.g., in response to a user device 140 submitting a content request to the social network system 110 .
  • FIG. 3 is a flow diagram of an example process 300 for identifying content items based on structured data sets.
  • the process 300 can, for example, be implemented in the content targeting module 133 .
  • the content targeting module 133 may be within the content serving system 130 .
  • Other implementations, however, can also be used.
  • the content targeting module 133 can be integrated into the social network system 110 or in a separate system in data communication with the social network system 110 and/or the content server system 130 .
  • Stage 301 builds structured data sets using data associated with each user profile, including, for instance, user profile data 114 a - 114 n , user media data 120 a - 120 n , user acquaintances data 116 a - 116 n , user groups data 118 a - 118 n , and/or user options data 122 a - 122 n .
  • the content targeting module 133 can identify and extract attribute and values from each of set of data.
  • Stage 302 identifies values in the structured data sets that correspond to attributes. For example, the content targeting module 133 can identify and extract attribute and values from each of set of data. The identified values are compared to content provider conditions in stage 304 . For example, the content targeting module 133 can execute the comparison of values in structured data sets to the required values within conditions established by one or more content providers.
  • the content targeting module 133 can compare the values from the structured data sets that include the attributes “Age” and ‘Zip code” and determine whether the values satisfy the required values.
  • the content targeting module 133 can store the results of the comparison such that users whose structured data sets satisfy the conditions may be targeted by content providers to receive content, e.g., an advertisement.
  • Stage 306 identifies one or more content items for display to users whose structured data sets include values satisfying the conditions.
  • the content serving system 130 can identify content items 132 that the content provider wishes to present to users.
  • FIG. 4 is a flow diagram of an example process 400 for identifying a number of users whose structured data sets satisfy conditions established by a content provider.
  • the process 400 can, for example, be implemented in the content targeting module 133 .
  • the content targeting module 133 may be within the content serving system 130 .
  • Other implementations, however, can also be used.
  • the content targeting module 133 can be integrated into the social network system 110 or in a separate system in data communication with the social network system 110 and/or the content server system 130 .
  • Stage 401 builds structured data sets using data associated with each user profile, including, for instance, user profile data 114 a - 114 n , user media data 120 a - 120 n , user acquaintances data 116 a - 116 n , user groups data 118 a - 118 n , and/or user options data 122 a - 122 n .
  • the content targeting module 133 can identify and extract attribute and values from each of set of data.
  • Stage 402 identifies values in the structured data sets that correspond to attributes. For example, the content targeting module 133 can identify and extract attribute and values from each of set of data. The identified values are compared to content provider conditions in stage 404 . For example, the content targeting module 133 can execute the comparison of values in structured data sets to the required values within conditions established by one or more content providers. The content targeting module 133 can store the results of the comparison such that users whose structured data sets satisfy the conditions may be targeted by content providers to receive content, e.g., an advertisement.
  • Stage 406 identifies the number of users whose structured data sets include values satisfying the conditions.
  • the content serving system 130 can identify the number of users that may be served content items 132 under the content provider's current conditions. According to some implementations, this information may be provided to the content provider, which may use the information to determine whether the conditions should be revised to target a greater or lesser number of users.
  • FIG. 5 is a flow diagram of an example process 500 for iteratively permitting a content provider to modify the conditions that determine the users to which content items will be displayed.
  • the process 500 can, for example, be implemented in the content targeting module 133 .
  • the content targeting module 133 may be within the content serving system 130 .
  • Other implementations, however, can also be used.
  • the content targeting module 133 can be integrated into the social network system 110 or in a separate system in data communication with the social network system 110 and/or the content server system 130 .
  • Stage 501 receives content provider conditions.
  • the conditions may be transmitted, for instance, from a content provider to the content serving system 130 or may be entered by a content provider using the content serving system 130 and/or content targeting module 133 .
  • an advertiser may utilize a GUI at the content targeting module 133 to enter the conditions. This may be facilitated, for instance, using a series of pull down menus in which attributes may be selected, along with Boolean operators (e.g., ‘and’, ‘or’, etc.). Values may also be entered by content providers in a similar manner, such as manually or via pull down menus that provide content providers with the ability to select ranges, minimum values, maximum values, and the like.
  • Stage 502 compares the conditions received in Stage 501 with identified values in structured data sets corresponding to a group of users.
  • the content targeting module 133 can execute the comparison of values in structured data sets to the required values within conditions established by one or more content providers.
  • Stage 504 determines the number of users whose structured data sets include values satisfying the content provider conditions. This process may be implemented, for example, the content targeting module 133 . This information is provided to the content provider in Stage 506 so that the content provider can use the information to determine whether the conditions should be revised to target a greater or lesser number of users.
  • stage 508 if the content provider determines that the number of users is appropriate, in stage 510 the content targeting module 133 can identify one or more content items to be displayed to the users whose structured data sets include values satisfying the condition. Otherwise, the content provider can revise the conditions to target a greater or lesser number of users, and the process repeats starting at stage 501 .
  • Other processes for iteratively permitting a content provider with information to determine whether conditions should be adjusted may also be used. For instance, instead of providing content providers with the total number of users that satisfy conditions, the content providers may be provided with metrics, such as the number of conversion or click-throughs that are anticipated by presenting content to a subset of users identified by the conditions.
  • FIG. 6 is a block diagram of an example computer system 600 that can be utilized to implement the systems and methods described herein.
  • the system 600 includes a processor 610 , a memory 620 , a storage device 630 , and an input/output device 640 .
  • Each of the components 610 , 620 , 630 , and 640 can, for example, be interconnected using a system bus 650 .
  • the processor 610 is capable of processing instructions for execution within the system 600 .
  • the processor 610 is a single-threaded processor.
  • the processor 610 is a multi-threaded processor.
  • the processor 610 is capable of processing instructions stored in the memory 620 or on the storage device 630 .
  • the memory 620 stores information within the system 600 .
  • the memory 620 is a computer-readable medium.
  • the memory 620 is a volatile memory unit.
  • the memory 620 is a non-volatile memory unit.
  • the storage device 630 is capable of providing mass storage for the system 600 .
  • the storage device 630 is a computer-readable medium.
  • the storage device 630 can, for example, include a hard disk device, an optical disk device, or some other large capacity storage device.
  • the input/output device 640 provides input/output operations for the system 600 .
  • the input/output device 640 can include one or more of a network interface devices, e.g., an Ethernet card, a serial communication device, e.g., and RS-232 port, and/or a wireless interface device, e.g., and 802.11 card.
  • the input/output device can include driver devices configured to receive input data and send output data to other input/output devices, e.g., keyboard, printer and display devices 660 .
  • the apparatus, methods, flow diagrams, and structure block diagrams described in this patent document may be implemented in computer processing systems including program code comprising program instructions that are executable by the computer processing system. Other implementations may also be used. Additionally, the flow diagrams and structure block diagrams described in this patent document, which describe particular methods and/or corresponding acts in support of steps and corresponding functions in support of disclosed structural means, may also be utilized to implement corresponding software structures and algorithms, and equivalents thereof.

Abstract

Structured data sets including one or more attributes are identified, each structured data set associated with, for example, a particular user. Values corresponding the at least one of the one or more attributes in each structured data set are identified. A condition established by a content provider, for instance, an advertiser, is compared to the identified values to determine if the condition is satisfied. When the condition is satisfied, one or more content items are identified to the users associated with the structured data sets containing identified values satisfying the condition.

Description

    BACKGROUND
  • The subject matter of this application is generally related to information presentation.
  • Advertising using traditional media, such as television, radio, newspapers and magazines, is well known. Unfortunately, even when armed with demographic studies and entirely reasonable assumptions about the typical audience of various media outlets, advertisers recognize that a non-trivial portion of their ad budget is simply wasted. Moreover, it is very difficult to identify and eliminate such waste. Recently, advertising over more interactive media has become popular. For example, as the number of people using the Internet has exploded, advertisers have come to appreciate media and services offered over the Internet as a potentially powerful way to advertise.
  • Web site-based advertisements (“ads” also referred to as “Web ads”) are some times presented to their advertising audience in the form of “banner ads”—i.e., a rectangular box that includes graphic components. When a member of the advertising audience (hereinafter referred to as a “viewer” or “user” without loss of generality) selects one of these banner ads by clicking on it, embedded hypertext links typically direct the viewer to the advertiser's Web site. This process, wherein the viewer selects an ad, is commonly referred to as a “click-through” (“click-through” is intended to cover any user selection.). The ratio of the number of click-throughs to the number of impressions of the ad (i.e., the number of times an ad is displayed) is commonly referred to as the “click-through rate” of the ad.
  • Online social networks have become popular for professional and/or social networking, and are thus popular locations for placing advertisements. Some online social networks provide content items that may be of interest to users, including identification of other users and/or groups that may of interest to a user. Advertisement placement on social networking sites is challenging because such sites have users with many different interests. Accordingly, many advertisements, e.g., advertisements directed to particular products, may not be of interest to many users of an online social network.
  • SUMMARY
  • Systems, methods, and computer program products described in this specification establish a structured data set for each of a number of users. Content providers establish conditions that are compared to values within the structured data sets to identify users that satisfy the conditions. Content providers can display content only to those users whose structured data sets satisfy the conditions. This may be particularly advantageous where a large number of characteristics are known about users, such as users that maintain profiles that are stored and accessible by the system and processes described herein. This can include, for instance, users that are members of online social networks. Additionally, content providers can identify the number of users that satisfy conditions and use that knowledge to further modify the conditions in real-time (i.e., immediately after creating the initial condition) to broaden or restrict the number of users that may receive content. Using an iterative process allows content providers to target a specific audience. This iterative and real-time process may be advantageous, for instance, during the creation of an advertising campaign where content providers can refine their conditions repeatedly in minutes to identify an appropriate subset of users to receive content.
  • In general, one aspect of the subject matter described in this specification can be embodied in methods that include the actions of identifying a plurality of structured data sets, each structured data set associated with a user and including one or more attributes, identifying values corresponding to at least one of the one or more attributes in each structured data set, comparing a condition established by a content provider to one or more of the identified values, and determining a number of structured data sets having the one or more of the identified values that satisfy the condition established by the content provider.
  • According to a feature, the method includes receiving a revised condition from the content provider. According to another feature, the method can include comparing the revised condition to one or more of the identified values. The method can also include determining a number of structured data sets having the one or more of the identified values that satisfy the revised condition established by the content provider. One or more content items may also be displayed to users associated with the structured data sets having the one or more of the identified values that satisfy the condition established by the content provider.
  • According to yet another feature, the method can include identifying a click through rate associated with displayed one or more content items.
  • According to another features, the one or more attributes represent characteristics of the user associated with each structured data set. The one or more attributes can include age, gender, number of friends, interests, zip code, or length of time since previous login.
  • According to still additional features, the method can include receiving the condition from the content provider, where the condition identifies one or more required values associated with at least one of the one or more attributes. The one or more required values can be compared with the identified values. In another feature, the method can determine when the identified values satisfy the condition. According to yet another feature, the one or more attributes include one or more public attributes and/or one or more private attributes. The one or more public attributes can be displayed to the content provider.
  • Other embodiments of this aspect include corresponding systems, apparatus, and computer program products.
  • One or more of the following advantages may be achieved. Content providers such as advertisers can target a certain market segment for marketing. Rather than displaying content to an entire user population content providers can restrict content to a certain subset of users that the content providers can identify based on their attributes, i.e., characteristics. As an alternate to restricting ads to a subset of users, content providers may pay more for ads shown to a subset of users.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of an example system for identifying content items based on structured data sets.
  • FIG. 2 is a more detailed block diagram of the example system for identifying content items based on structured data sets.
  • FIG. 3 is a flow diagram of an example process for identifying content items based on structured data sets.
  • FIG. 4 is a flow diagram of an example process for identifying a number of users whose structured data sets satisfy conditions established by a content provider.
  • FIG. 5 is a flow diagram of an example process for iteratively permitting a content provider to modify the conditions that determine the users to which content items will be displayed.
  • FIG. 6 is a block diagram of an example computer system that can be utilized to implement the systems and methods described herein.
  • DETAILED DESCRIPTION
  • FIG. 1 is a block diagram of an example system 100 for identifying content items, such as advertisements, based on structured data sets. In some implementations, each structured data set corresponds to a particular user. Alternatively, a structured data set can correspond to all members of a class of users. Structured data sets include structured data that, in some implementations, includes a number of attribute-value pairs. Attributes may be common to many users and identify characteristics of users (e.g., age, gender, weight, etc.), whereas the value corresponding to each attribute in each structured data set defines a characteristic of that user. For instance, a structured data set for an individual may include the following attribute-values pairs:
      • Age: 35 yrs
      • Gender: Male
      • Number of Friends: 72
      • Interests: Cars, Reading
      • Zip code: 30067
      • Days Since Last Login: 10
        where ‘Age’, ‘Gender’, ‘Number of Friends’, ‘Interests’, ‘Zip code’, and ‘Days Since Last Login’ are attributes, and ‘35 yrs’, ‘Male’, ‘72’, ‘Cars’, ‘Reading’, ‘30067’, and ‘10’ are values. The attributes and values associated with each are used to determine whether each user satisfies conditions established by a content provider, as explained in greater detail below.
  • In some implementations, structured data may be identified from data collected and/or stored by a social network system 110 that can, for example, host numerous user accounts 112. An example social network system can include Orkut, hosted by Google, Inc., of Mountain View, Calif. Other social networks can, for example, include school alumni websites, an internal company web site, dating networks, or the like. Each user account 112 can, for example, include user profile data 114, user acquaintances data 116, user groups data 118, user media data 120, and user options data 122. Other user data can also be included in the user accounts 112. The data in each user account can be used to populate the structured data 160 for each user, and more particularly, the attribute-value pairs. Structure data 160 may be stored internal or external (as shown in FIG. 1) to the social network system 110 or may be stored at a location accessible anywhere on a network 102, such as the Internet. In some cases, where the social network is different from the content server, a copy of the structured data may be provided by the social network to the content server and maintained separately and updated regularly.
  • The user profile data 114 can, for example, include general demographic data about a user, such as age, sex, home location, interests, etc. In some implementations, the user profile data 114 can also include professional information, e.g., occupation, educational background, etc., and other data, such as contact information. In some implementations, the user profile data 114 can include open profile data, e.g., free-form text that may be typed by the user into fields for various subjects, e.g., “Job Description,” “Favorite Foods,” “Hobbies,” etc., and constrained profile data, e.g., binary profile data selected by check boxes, radio buttons, etc., or predefined selectable profile data, e.g., income ranges, zip codes, etc. In some implementations, some or all or the user profile data 114 can be classified as public or private profile data, e.g., data that can be shared publicly or data that can be selectively or otherwise not shared. According to some implementations, profile data 114 not classified as private data can, for example, be classified as public data, e.g., data that can be viewed by any user accessing the social network system 110.
  • The user acquaintances data 116 can, for example, define user acquaintances 117 associated with a user account 112. In some implementations, user acquaintances 117 can include, for example, users associated with other user accounts 112 that are classified as “friends,” e.g., user accounts 112 referenced in a “friends” or “buddies” list. Other acquaintances 117 can also be defined, e.g., professional acquaintances, client acquaintances, family acquaintances, etc. In some implementations, the user acquaintance data 116 for each user account 112 can, for example, be specified by users associated with each user account 112, and thus can be unique for each user account 112.
  • The user groups data 118 can, for example, define user groups 119 to which a user account 112 is associated. In an implementation, user groups 119 can, for example, define an interest or topic, e.g., “Wine,” “Open Source Chess Programming,” “Travel Hints and Tips,” etc. In some implementations, the user groups 119 can, for example, be categorized, e.g., a first set of user groups 119 can belong to an “Activities” category, a second set of user groups 119 can belong to an “Alumni & Schools” category, etc.
  • The user media data 120 can, for example, include one or more content items, such as user documents, e.g., web pages. A document can, for example, include a file, a combination of files, one or more files with embedded links to other files, etc. The files can be of any type, such as text, audio, image, video, hyper-text mark-up language documents, etc. In the context of the Internet, a common content item is a Web page. Other content items can also be defined by the user media data 120.
  • The user options data 122 can, for example, include data specifying user options, such as e-mail settings, acquaintance notification settings, chat settings, password and security settings, etc. Other option data can also be included in the user options data 122.
  • In some implementations, the content serving system 130 can directly, or indirectly, enter, maintain, identify, and track content items 132. The content items 132 can, for example, include a web page or other content document, or text, graphics, video, audio, mixed media, etc. In some implementations, the content items 132 are advertisements. The advertisements can, for example, be in the form of graphical ads, such as banner ads, text only ads, image ads, audio ads, video ads, ads combining one of more of any of such components, etc. The advertisements can also include embedded information, such as links, meta-information, and/or machine executable instructions.
  • In some implementations, user devices 140 a, 140 b and 140 c can communicate with the social network system 110 over the network 102, such as the Internet. The user devices 140 can be any device capable of receiving the user media data 120, such as personal computers, mobile devices, cell phones, personal digital assistants (PDAs), television systems, etc. The user devices 140 can be associated with user accounts 112, e.g., the users of user devices 140 a and 140 b can be logged-in members of the social network system 110, having corresponding user accounts 112 a and 112 b. Additionally, the user devices 140 may not be associated with a user account 112, e.g., the user of the user device 142 c may not be a member of the social network system 110 or may be a member of the social network system 110 that has not logged in.
  • In some implementations, upon a user device 140 communicating a request for media data 120 of a user account 112, or a request for some other social network media data to the social network system 110, the social network system 110 can, for example, provide the user media data 120 or the other requested media data to user device 140. In some implementations, the user media data 120 or other requested media data can include an embedded request code, such as one or more Javascript code snippets. In other implementations, the social network system 110 can insert the embedded request code into the user media data 120 or the other requested media data when served to a user device 140.
  • The user device 140 can render the requested data, e.g., a user web page, or some other social network 110 page, in a presentation environment 142, e.g., in a web browser application. Upon rendering the requested data, the user device 140 executes the request code, which causes the user device 140 to issue a content request, e.g., an advertisement request, to the content serving system 130. In response, the content serving system 130 can provide one or more content items 132 to the user device 140. For example, the content items 132 a, 132 b and 132 c can be provided to the user devices 140 a, 140 b and 140 c, respectively. In some implementations, the content items 132 a, 132 b and 132 c are presented in the presentation environments 142 a, 142 b and 142 c, respectively.
  • Rather than displaying content to an entire user population content providers 150 can restrict content to a certain subset of users that the content providers 150 can identify based on their attributes, i.e., user characteristics. According to some implementations, the content serving system 130 includes a content targeting module 133 that can identify users that should receive content items 132 based on structured data sets 160 for those users, such as users associated with the user accounts 112.
  • The content targeting module 133 receives conditions from content providers 150 and compares those conditions to values within each user's structured data set to identify those users whose attributes and values satisfy the content provider conditions. As an example, a content provider 150 may establish the condition that users receive content, or a particular type of content, only when those users' structured data sets meet the following attribute-value conditions: “Age: between 25 and 35”, “Zip code: 95051”, and “Number of Friends>10.” This permits the content provider 150 to target certain subsets of users.
  • Although displayed as part of the content serving system 130 in the implementation shown in FIG. 1, the content targeting module 133 can be integrated into the social network system 110. In other implementations, the content targeting module 133 can be a separate system in data communication with the social network system 110 and/or the content server system 130. The content targeting module 133 can be implemented in software and executed on a processing device, such as the computer system 600 of FIG. 6. Example software implementations include C, C++, Java, or any other high-level programming language that may be utilized to produce source code that can be compiled into executable instructions. Other software implementations can also be used, such as applets, or interpreted implementations, such as scripts, etc. Alternatively, the content targeting module 133 can be implemented in hardware or a combination of hardware and software.
  • Content providers 150 can use the identified number of users to further modify the conditions to broaden or restrict the number of users that satisfy the conditions. Using an iterative process allows content providers 150 to target a specific audience. This may be particularly advantageous where a large number of characteristics are known about users, such as users that maintain profiles and data stored within a social networking system 110.
  • The iterative process of modifying conditions to identify a desired subset of users can occur in real-time based on current structured data and performance information. For instance, a content provider such as an advertiser may adjust the conditions using a graphical user interface (GUI) at the content targeting module 133. An advertiser can repeatedly refine conditions in minutes to identify an appropriate subset of users to receive content. Each time a condition is established it is compared by the content targeting module 133 against currently stored structured data and performance data to provide the content provider with real-time results. Content providers can view in real time what how many users will receive impressions, the anticipated click through rate of those impressions, and the like, for each content-provider entered condition.
  • According to some implementations, content providers may be charged or be willing to pay a higher content placement fee (e.g., advertising fee) for placement of content directed to a specific set of users that satisfy the content provider's conditions. Thus, once a content provider has established conditions that the content provider feels captures the correct target audience, the content provider may be charged a premium for content placement for those target users. Although the advertiser may pay more for content placement in front of the target group, the advertiser may be willing to pay a greater amount for placement of content, e.g., advertisements, that are provided to a group of users that are likely to provide the advertiser with a high return on the advertiser's investment.
  • According to an implementation, conditions may be compared by the content targeting module 133 to structured data sets during periods of low traffic or at other times regardless of whether a content provider has requested identification of the users that may satisfy the conditions. When this occurs, each user's structured data set may be tagged by the content targeting module 133 as satisfying (or failing to satisfy) one or more conditions and/or combination of conditions. This optimization reduces the need for the content targeting module 133 to constantly compare all values within structured data sets to conditions in real-time or in near-real time.
  • According to some implementations, the content providers 150 can, for example, include web sites having “landing pages” 152 that a user is directed to when the user clicks (e.g., interacts with) an advertisement 132 presented on page provided from the social networking system 110. For example, the content providers 150 can provide content items 132 in the form of “creatives,” which are advertisements that may include text, graphics and/or audio associated with the advertised service or product, and a link to a web site.
  • In some implementations, the content serving system 130 can monitor and/or evaluate performance data 134 related to the content items 132. For example, the performance of each advertisement 132 can be evaluated based on a performance metric, such as a click-through rate, a conversion rate, or some other performance metric. A click-through can occur, for example, when a user of a user device, e.g., user device 140 a, selects or “clicks” on an advertisement, e.g. the advertisement 132 a. The click-through rate can be a performance metric that is obtained by dividing the number of users that clicked on the advertisement or a link associated with the advertisement by the number of times the advertisement was delivered. For example, if advertisement is delivered 100 times, and three persons clicked on the advertisement, then the click-through rate for that advertisement is 3%.
  • A “conversion” occurs when a user, for example, consummates a transaction related to a previously served advertisement. 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 of the user device 140 a clicks on an advertisement 132 a, is referred to the advertiser's Web page, such as one of the landing pages 152, and consummates a purchase before leaving that Web page. Other conversion types can also be used. A conversion rate can, for example, be defined as the ratio of the number of conversions to the number of impressions of the advertisement (i.e., the number of times an advertisement is rendered) or the ratio of the number of conversions to the number of selections. Other types of conversion rates can also be used.
  • Other performance metrics can also be used. The performance metrics can, for example, be revenue related or non-revenue related. In some implementations, the performance metrics can be parsed according to time, e.g., the performance of a particular content item 132 may be determined to be very high on weekends, moderate on weekday evenings, but very low on weekday mornings and afternoons, for example. Performance data can be provided to the content providers 150 to assist the content provider in delivering, modifying, and determining content, such as advertisements, that is delivered to users. Performance data can also assist the content providers 150 in modifying the conditions that identify users that receive content.
  • FIG. 2 is a more detailed block diagram of the example system 100 for identifying content items based on structure data sets. In the example system 100 of FIG. 2, the content targeting module 133 can utilize attribute-value pairs from structured data sets to determine those users that satisfy conditions established by one or more content providers 150.
  • In some implementations, attributes and their corresponding values are extracted from user profile data 114 a-114 n, user media data 120 a-120 n, user acquaintances data 116 a-116 n, user groups data 118 a-118 n, and user options data 122 a-122 n of user accounts 112 a-112 n. Attributes can include characteristics such as age, gender, zip code, and the like. Attributes can also include traits such as personality, values, attitudes, interests, lifestyles, etc. of users associated with the user accounts 112 a-112 n. Other types of attributes are possible.
  • According to some implementations, information provided by users in free-form text fields may be extracted by other system components, such as a natural language processor (not illustrated), to identify attributes and/or values. For instance, a user may identify their favorite hobbies by filling out a text field under the caption “Hobbies” by typing the sentence “I really enjoy hiking, especially long hikes when you can camp out for a few days. Indoor activities don't interest me at all, and I really don't like boring outdoor activities like gardening.” A natural language processor can identify the attribute as “Hobbies” and values as “Hiking”. As can be seen from the previous example, data associated with a user may identify things a user is disinterested in. Attribute value pairs can therefore include this information as well. Thus, in the above example, the attribute “Hobbies” may include a value “Gardening” that is modified or also paired with a negative indicator to indicate that the user is disinterested in a particular subject. A content provider 150 can establish a condition, e.g., that identifies users that fall within certain specifications, including disinterest in a particular subject.
  • In some implementations, an example process flow for identifying structured data sets begins when the content targeting module 133 receives the user profile data 114 a-114 n, user media data 120 a-120 n, user acquaintances data 116 a-116 n, user groups data 118 a-118 n, and user options data 122 a-122 n of user accounts 112 a-112. The content serving system 130 and/or content targeting module 133 can, for example, be configured to extract attribute-value pairs from the received data. According to some implementations, the content targeting module 133 can utilize another component, such as a natural language processor or the like, to extract attribute-value pairs.
  • In some implementations, data 114, 116, 118, 120, 122 associated with a particular user account, e.g. user account 112 a can, for example, be provided to the content serving system 130 by a user device 140 associated with the particular user account 112, e.g., the user device 140 a upon which a logged in session for the particular user account 112 a has been established. For example, if the user device 140 a renders a web page from the social network system 110 that includes a content item request instruction, a corresponding content item request 126 a that includes the user profile data 114 a-114 n, user media data 120 a-120 n, user acquaintances data 116 a-116 n, user groups data 118 a-118 n, and/or user options data 122 a-122 n can be provided to the content serving system 130.
  • Other schemes can also be used to provide the structured data 160 to the content server system 130. For example, the content serving system 130 may partner with the social network system 110 to receive user account 112 identifiers in corresponding content requests 126 a-126 n. In response to receiving the user account 112 identifiers, the content serving system 130 can transmit the user account 112 identifiers to the social network system 110 in a request for corresponding structured data 160. The social network system 110 can, in response, provide the corresponding structured data 160 to the content serving system 130. As mentioned earlier, in some implementations the social network system 110 periodically provides an updated copy of the structured data sets to the content serving system 130.
  • According to some implementations, the content serving system 130 and/or content targeting module 133 receives one or more conditions from the content providers 150 and compares the conditions to structured data corresponding to each user (also referred to as a ‘structured data set’). The content targeting module 133 identifies the structured data sets, and thus users, that satisfy the content provider conditions. The content targeting module 133 can identify the users and/or number of users to the content provider 150, which can then optionally revise the conditions to target a broader or narrower group of users. The subset of users that satisfy the conditions may be provided to content providers in real time. When conditions are revised the content targeting module 133 re-compares the structured data sets with the revised conditions to identify users that satisfy the revised conditions. The content serving system 130 can then serve content provided from the content providers 150 to users that satisfy the conditions.
  • According to some implementations, structured data 160 can be provided to advertisers, e.g., the content providers 150. According to some implementations, only a portion of the structure data may be provided to the content providers 150. Therefore, each attribute-value pair may be identified as a public or private, and the content providers 150 may only receive public attribute-value pairs. According to other implementations, the content providers may be provided only with some or all attributes, and no values. Alternatively, the content providers may be provided only with some or all values, and no attributes.
  • Providing this information to the content providers 150 can, for example, facilitate the targeting of content items 132, e.g., advertisements, to social networking sites that have users having many different interests. For example, the structured data 160 for the social network system 110 may identify a set of highly relevant marketing verticals for which many of the users of the social network system 110 may have a strong interest. Accordingly, one or more content providers 150 can target advertisements related to the verticals to users of the social network system 110.
  • In some implementations, the content targeting module 133 can process the user accounts 112 a-112 n periodically, e.g., monthly, to revise the structured data 160. Other processing triggers, e.g., changes in the user account 112 corpus, can also be used. In some implementations, the content targeting module 133 can process the user accounts 112 a-112 n in an offline batch process. The processing results can, for example, be stored and accessed during the serving of content. In other implementations, the content targeting module 133 can process the user accounts 112 a-112 n in an online process, e.g., in response to a user device 140 submitting a content request to the social network system 110.
  • FIG. 3 is a flow diagram of an example process 300 for identifying content items based on structured data sets. The process 300 can, for example, be implemented in the content targeting module 133. In some implementations, the content targeting module 133 may be within the content serving system 130. Other implementations, however, can also be used. For instance, the content targeting module 133 can be integrated into the social network system 110 or in a separate system in data communication with the social network system 110 and/or the content server system 130.
  • Stage 301 builds structured data sets using data associated with each user profile, including, for instance, user profile data 114 a-114 n, user media data 120 a-120 n, user acquaintances data 116 a-116 n, user groups data 118 a-118 n, and/or user options data 122 a-122 n. For example, the content targeting module 133 can identify and extract attribute and values from each of set of data.
  • Stage 302 identifies values in the structured data sets that correspond to attributes. For example, the content targeting module 133 can identify and extract attribute and values from each of set of data. The identified values are compared to content provider conditions in stage 304. For example, the content targeting module 133 can execute the comparison of values in structured data sets to the required values within conditions established by one or more content providers.
  • For instance, if a content provider conditions require: “Age: between 25 and 35”, and “Zip code: 95051”, then the content targeting module 133 can compare the values from the structured data sets that include the attributes “Age” and ‘Zip code” and determine whether the values satisfy the required values. The content targeting module 133 can store the results of the comparison such that users whose structured data sets satisfy the conditions may be targeted by content providers to receive content, e.g., an advertisement.
  • Stage 306 identifies one or more content items for display to users whose structured data sets include values satisfying the conditions. For example, the content serving system 130 can identify content items 132 that the content provider wishes to present to users.
  • Other processes for identifying content items based on structured data sets can also be used.
  • FIG. 4 is a flow diagram of an example process 400 for identifying a number of users whose structured data sets satisfy conditions established by a content provider.
  • The process 400 can, for example, be implemented in the content targeting module 133. In some implementations, the content targeting module 133 may be within the content serving system 130. Other implementations, however, can also be used. For instance, the content targeting module 133 can be integrated into the social network system 110 or in a separate system in data communication with the social network system 110 and/or the content server system 130.
  • Stage 401 builds structured data sets using data associated with each user profile, including, for instance, user profile data 114 a-114 n, user media data 120 a-120 n, user acquaintances data 116 a-116 n, user groups data 118 a-118 n, and/or user options data 122 a-122 n. For example, the content targeting module 133 can identify and extract attribute and values from each of set of data.
  • Stage 402 identifies values in the structured data sets that correspond to attributes. For example, the content targeting module 133 can identify and extract attribute and values from each of set of data. The identified values are compared to content provider conditions in stage 404. For example, the content targeting module 133 can execute the comparison of values in structured data sets to the required values within conditions established by one or more content providers. The content targeting module 133 can store the results of the comparison such that users whose structured data sets satisfy the conditions may be targeted by content providers to receive content, e.g., an advertisement.
  • Stage 406 identifies the number of users whose structured data sets include values satisfying the conditions. For example, the content serving system 130 can identify the number of users that may be served content items 132 under the content provider's current conditions. According to some implementations, this information may be provided to the content provider, which may use the information to determine whether the conditions should be revised to target a greater or lesser number of users.
  • Other processes for identifying a number of users satisfying content provider conditions can also be used.
  • FIG. 5 is a flow diagram of an example process 500 for iteratively permitting a content provider to modify the conditions that determine the users to which content items will be displayed.
  • The process 500 can, for example, be implemented in the content targeting module 133. In some implementations, the content targeting module 133 may be within the content serving system 130. Other implementations, however, can also be used. For instance, the content targeting module 133 can be integrated into the social network system 110 or in a separate system in data communication with the social network system 110 and/or the content server system 130.
  • Stage 501 receives content provider conditions. The conditions may be transmitted, for instance, from a content provider to the content serving system 130 or may be entered by a content provider using the content serving system 130 and/or content targeting module 133. For example, an advertiser may utilize a GUI at the content targeting module 133 to enter the conditions. This may be facilitated, for instance, using a series of pull down menus in which attributes may be selected, along with Boolean operators (e.g., ‘and’, ‘or’, etc.). Values may also be entered by content providers in a similar manner, such as manually or via pull down menus that provide content providers with the ability to select ranges, minimum values, maximum values, and the like.
  • Stage 502 compares the conditions received in Stage 501 with identified values in structured data sets corresponding to a group of users. For example, the content targeting module 133 can execute the comparison of values in structured data sets to the required values within conditions established by one or more content providers.
  • Stage 504 determines the number of users whose structured data sets include values satisfying the content provider conditions. This process may be implemented, for example, the content targeting module 133. This information is provided to the content provider in Stage 506 so that the content provider can use the information to determine whether the conditions should be revised to target a greater or lesser number of users.
  • In stage 508, if the content provider determines that the number of users is appropriate, in stage 510 the content targeting module 133 can identify one or more content items to be displayed to the users whose structured data sets include values satisfying the condition. Otherwise, the content provider can revise the conditions to target a greater or lesser number of users, and the process repeats starting at stage 501.
  • Other processes for iteratively permitting a content provider with information to determine whether conditions should be adjusted may also be used. For instance, instead of providing content providers with the total number of users that satisfy conditions, the content providers may be provided with metrics, such as the number of conversion or click-throughs that are anticipated by presenting content to a subset of users identified by the conditions.
  • FIG. 6 is a block diagram of an example computer system 600 that can be utilized to implement the systems and methods described herein. The system 600 includes a processor 610, a memory 620, a storage device 630, and an input/output device 640. Each of the components 610, 620, 630, and 640 can, for example, be interconnected using a system bus 650. The processor 610 is capable of processing instructions for execution within the system 600. In one implementation, the processor 610 is a single-threaded processor. In another implementation, the processor 610 is a multi-threaded processor. The processor 610 is capable of processing instructions stored in the memory 620 or on the storage device 630.
  • The memory 620 stores information within the system 600. In one implementation, the memory 620 is a computer-readable medium. In one implementation, the memory 620 is a volatile memory unit. In another implementation, the memory 620 is a non-volatile memory unit.
  • The storage device 630 is capable of providing mass storage for the system 600. In one implementation, the storage device 630 is a computer-readable medium. In various different implementations, the storage device 630 can, for example, include a hard disk device, an optical disk device, or some other large capacity storage device.
  • The input/output device 640 provides input/output operations for the system 600. In one implementation, the input/output device 640 can include one or more of a network interface devices, e.g., an Ethernet card, a serial communication device, e.g., and RS-232 port, and/or a wireless interface device, e.g., and 802.11 card. In another implementation, the input/output device can include driver devices configured to receive input data and send output data to other input/output devices, e.g., keyboard, printer and display devices 660.
  • The apparatus, methods, flow diagrams, and structure block diagrams described in this patent document may be implemented in computer processing systems including program code comprising program instructions that are executable by the computer processing system. Other implementations may also be used. Additionally, the flow diagrams and structure block diagrams described in this patent document, which describe particular methods and/or corresponding acts in support of steps and corresponding functions in support of disclosed structural means, may also be utilized to implement corresponding software structures and algorithms, and equivalents thereof.
  • This written description sets forth the best mode of the invention and provides examples to describe the invention and to enable a person of ordinary skill in the art to make and use the invention. This written description does not limit the invention to the precise terms set forth. Thus, while the invention has been described in detail with reference to the examples set forth above, those of ordinary skill in the art may effect alterations, modifications and variations to the examples without departing from the scope of the invention.

Claims (28)

1. A computer-implemented method, comprising:
identifying a plurality of structured data sets, each structured data set associated with a user and comprising one or more attributes;
identifying values corresponding to at least one of the one or more attributes in each structured data set;
comparing a condition established by a content provider to one or more of the identified values; and
determining a number of structured data sets having the one or more of the identified values that satisfy the condition established by the content provider.
2. The method of claim 1, further comprising receiving a revised condition from the content provider.
3. The method of claim 2, further comprising comparing the revised condition to one or more of the identified values.
4. The method of claim 3, further comprising determining a number of structured data sets having the one or more of the identified values that satisfy the revised condition established by the content provider.
5. The method of claim 1, further comprising displaying one or more content items to users associated with the structured data sets having the one or more of the identified values that satisfy the condition established by the content provider.
6. The method of claim 5, further comprising identifying a click through rate associated with displayed one or more content items.
7. The method of claim 1, wherein the one or more attributes represent characteristics of the user associated with each structured data set.
8. The method of claim 1, wherein the one or more attributes are selected from the group of attributes consisting of age, gender, number of friends, interests, zip code, and length of time since previous login.
9. The method of claim 1, further comprising receiving the condition from the content provider, where the condition identifies one or more required values associated with at least one of the one or more attributes.
10. The method of claim 9, further comprising comparing the one or more required values with the identified values.
11. The method of claim 10, further comprising determining when the identified values satisfy the condition.
12. The method of claim 1, wherein the one or more attributes comprises one or more public attributes.
13. The method of claim 12, wherein the one or more attributes comprises one or more private attributes.
14. The method of claim 13, further comprising displaying the one or more public attributes to the content provider.
15. A computer program product, encoded on a computer readable medium, operable to cause data processing apparatus to perform operations comprising:
identifying a plurality of structured data sets, each structured data set associated with a user and comprising one or more attributes;
identifying values corresponding to at least one of the one or more attributes in each structured data set;
comparing a condition established by a content provider to one or more of the identified values; and
determining a number of structured data sets having the one or more of the identified values that satisfy the condition established by the content provider.
16. The computer program product of claim 15, further operable to cause data processing apparatus to perform operations comprising:
receiving a revised condition from the content provider.
17. The computer program product of claim 16, further operable to cause data processing apparatus to perform operations comprising:
comparing the revised condition to one or more of the identified values.
18. The computer program product of claim 17, further operable to cause data processing apparatus to perform operations comprising:
determining a number of structured data sets having the one or more of the identified values that satisfy the revised condition established by the content provider.
19. The computer program product of claim 15, further operable to cause data processing apparatus to perform operations comprising:
displaying one or more content items to users associated with the structured data sets having the one or more of the identified values that satisfy the condition established by the content provider.
20. The computer program product of claim 19, further operable to cause data processing apparatus to perform operations comprising:
identifying a click through rate associated with displayed one or more content items.
21. The computer program product of claim 15, wherein the one or more attributes represent characteristics of the user associated with each structured data set.
22. The computer program product of claim 15, wherein the one or more attributes are selected from the group of attributes consisting of age, gender, number of friends, interests, zip code, and length of time since previous login.
23. The computer program product of claim 15, further operable to cause data processing apparatus to perform operations comprising:
receiving the condition from the content provider, where the condition identifies one or more required values associated with at least one of the one or more attributes.
24. The computer program product of claim 23, further operable to cause data processing apparatus to perform operations comprising:
comparing the one or more required values with the identified values.
25. The computer program product of claim 24, further operable to cause data processing apparatus to perform operations comprising:
determining when the identified values satisfy the condition.
26. The computer program product of claim 15, wherein the one or more attributes comprises one or more public attributes.
27. The computer program product of claim 26, wherein the one or more attributes comprises one or more private attributes.
28. The computer program product of claim 27, further operable to cause data processing apparatus to perform operations comprising:
displaying the one or more public attributes to the content provider.
US12/025,239 2008-02-04 2008-02-04 User-targeted advertising Abandoned US20090198711A1 (en)

Priority Applications (11)

Application Number Priority Date Filing Date Title
US12/025,239 US20090198711A1 (en) 2008-02-04 2008-02-04 User-targeted advertising
EP09707479A EP2252963A4 (en) 2008-02-04 2009-02-03 User-targeted advertising
BRPI0907917-3A BRPI0907917A2 (en) 2008-02-04 2009-02-03 Planned user advertising
JP2010545951A JP5877644B2 (en) 2008-02-04 2009-02-03 User-targeted advertising
AU2009212496A AU2009212496B2 (en) 2008-02-04 2009-02-03 User-targeted advertising
PCT/US2009/032976 WO2009100072A2 (en) 2008-02-04 2009-02-03 User-targeted advertising
CA2714057A CA2714057C (en) 2008-02-04 2009-02-03 User-targeted advertising
US13/617,912 US10198744B2 (en) 2008-02-04 2012-09-14 User-targeted advertising
US16/265,691 US20190164189A1 (en) 2008-02-04 2019-02-01 User-targeted advertising
US17/107,680 US20210081988A1 (en) 2008-02-04 2020-11-30 User-targeted advertising
US17/697,657 US20220207558A1 (en) 2008-02-04 2022-03-17 User-targeted advertising

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/025,239 US20090198711A1 (en) 2008-02-04 2008-02-04 User-targeted advertising

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/617,912 Continuation US10198744B2 (en) 2008-02-04 2012-09-14 User-targeted advertising

Publications (1)

Publication Number Publication Date
US20090198711A1 true US20090198711A1 (en) 2009-08-06

Family

ID=40932672

Family Applications (5)

Application Number Title Priority Date Filing Date
US12/025,239 Abandoned US20090198711A1 (en) 2008-02-04 2008-02-04 User-targeted advertising
US13/617,912 Active US10198744B2 (en) 2008-02-04 2012-09-14 User-targeted advertising
US16/265,691 Abandoned US20190164189A1 (en) 2008-02-04 2019-02-01 User-targeted advertising
US17/107,680 Abandoned US20210081988A1 (en) 2008-02-04 2020-11-30 User-targeted advertising
US17/697,657 Pending US20220207558A1 (en) 2008-02-04 2022-03-17 User-targeted advertising

Family Applications After (4)

Application Number Title Priority Date Filing Date
US13/617,912 Active US10198744B2 (en) 2008-02-04 2012-09-14 User-targeted advertising
US16/265,691 Abandoned US20190164189A1 (en) 2008-02-04 2019-02-01 User-targeted advertising
US17/107,680 Abandoned US20210081988A1 (en) 2008-02-04 2020-11-30 User-targeted advertising
US17/697,657 Pending US20220207558A1 (en) 2008-02-04 2022-03-17 User-targeted advertising

Country Status (7)

Country Link
US (5) US20090198711A1 (en)
EP (1) EP2252963A4 (en)
JP (1) JP5877644B2 (en)
AU (1) AU2009212496B2 (en)
BR (1) BRPI0907917A2 (en)
CA (1) CA2714057C (en)
WO (1) WO2009100072A2 (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265242A1 (en) * 2006-12-20 2009-10-22 Microsoft Corporation Privacy-centric ad models that leverage social graphs
US20090282052A1 (en) * 2008-05-12 2009-11-12 Michael Evans Tracking implicit trajectory of content sharing
US20100250330A1 (en) * 2009-03-29 2010-09-30 Chuck Lam Acquisition of user data to enhance a content targeting mechanism
US20110138401A1 (en) * 2009-12-04 2011-06-09 Microsoft Corporation Live update of user segments
US20110153423A1 (en) * 2010-06-21 2011-06-23 Jon Elvekrog Method and system for creating user based summaries for content distribution
US20120047529A1 (en) * 2010-08-20 2012-02-23 Jennifer Schultz Television and social network interworking system and method
US8244760B2 (en) 2009-12-04 2012-08-14 Microsoft Corporation Segmentation and profiling of users
US20120271719A1 (en) * 2011-04-25 2012-10-25 Ben Straley Targeting advertising based on tracking content sharing
US20130013646A1 (en) * 2008-02-04 2013-01-10 Mayur Datar User-targeted advertising
US8412512B1 (en) 2011-05-20 2013-04-02 Google Inc. Feed translation for a social network
US20130151527A1 (en) * 2011-11-15 2013-06-13 Sean Michael Bruich Assigning social networking system users to households
US20140006102A1 (en) * 2012-06-19 2014-01-02 Visible World, Inc. Systems, methods and computer-readable media for optimizing transactions in a household addressable media network
US8751305B2 (en) 2010-05-24 2014-06-10 140 Proof, Inc. Targeting users based on persona data
US20140289046A1 (en) * 2013-03-19 2014-09-25 Kalyan Bukkapatnam Mobile Sales Targeting Application
US9286397B1 (en) 2012-09-28 2016-03-15 Google Inc. Generating customized content
US9779385B2 (en) 2011-06-24 2017-10-03 Facebook, Inc. Inferring topics from social networking system communications
WO2018098481A1 (en) * 2016-11-28 2018-05-31 T-Mobile Usa, Inc. Supplementary user profile service for encrypted internet interactions
US11164105B2 (en) 2017-11-13 2021-11-02 International Business Machines Corporation Intelligent recommendations implemented by modelling user profile through deep learning of multimodal user data

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10311448B2 (en) 2010-08-19 2019-06-04 William Eugene Urban Digital signage system
US20140052540A1 (en) * 2012-08-20 2014-02-20 Giridhar Rajaram Providing content using inferred topics extracted from communications in a social networking system
US10282757B1 (en) * 2013-02-08 2019-05-07 A9.Com, Inc. Targeted ad buys via managed relationships
CA2950894C (en) * 2014-06-23 2019-03-19 TAPP Technologies, LLC Content distribution platform for beverage dispensing environments

Citations (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724521A (en) * 1994-11-03 1998-03-03 Intel Corporation Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner
US5740549A (en) * 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
US5848397A (en) * 1996-04-19 1998-12-08 Juno Online Services, L.P. Method and apparatus for scheduling the presentation of messages to computer users
US5933811A (en) * 1996-08-20 1999-08-03 Paul D. Angles System and method for delivering customized advertisements within interactive communication systems
US5948061A (en) * 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US5987440A (en) * 1996-07-22 1999-11-16 Cyva Research Corporation Personal information security and exchange tool
US5999975A (en) * 1997-03-28 1999-12-07 Nippon Telegraph And Telephone Corporation On-line information providing scheme featuring function to dynamically account for user's interest
US6026368A (en) * 1995-07-17 2000-02-15 24/7 Media, Inc. On-line interactive system and method for providing content and advertising information to a targeted set of viewers
US6044376A (en) * 1997-04-24 2000-03-28 Imgis, Inc. Content stream analysis
US6078914A (en) * 1996-12-09 2000-06-20 Open Text Corporation Natural language meta-search system and method
US6144944A (en) * 1997-04-24 2000-11-07 Imgis, Inc. Computer system for efficiently selecting and providing information
US6167382A (en) * 1998-06-01 2000-12-26 F.A.C. Services Group, L.P. Design and production of print advertising and commercial display materials over the Internet
US6269361B1 (en) * 1999-05-28 2001-07-31 Goto.Com System and method for influencing a position on a search result list generated by a computer network search engine
US20010011226A1 (en) * 1997-06-25 2001-08-02 Paul Greer User demographic profile driven advertising targeting
US6401075B1 (en) * 2000-02-14 2002-06-04 Global Network, Inc. Methods of placing, purchasing and monitoring internet advertising
US6446045B1 (en) * 2000-01-10 2002-09-03 Lucinda Stone Method for using computers to facilitate and control the creating of a plurality of functions
US6477575B1 (en) * 2000-09-12 2002-11-05 Capital One Financial Corporation System and method for performing dynamic Web marketing and advertising
US20030028451A1 (en) * 2001-08-03 2003-02-06 Ananian John Allen Personalized interactive digital catalog profiling
US20040193488A1 (en) * 2000-01-19 2004-09-30 Denis Khoo Method and system for advertising over a data network
US20040243466A1 (en) * 2001-11-01 2004-12-02 Trzybinski Robert Eugene Specific internet user target advertising replacement method and system
US6985882B1 (en) * 1999-02-05 2006-01-10 Directrep, Llc Method and system for selling and purchasing media advertising over a distributed communication network
US20060026067A1 (en) * 2002-06-14 2006-02-02 Nicholas Frank C Method and system for providing network based target advertising and encapsulation
US7039599B2 (en) * 1997-06-16 2006-05-02 Doubleclick Inc. Method and apparatus for automatic placement of advertising
US20060242554A1 (en) * 2005-04-25 2006-10-26 Gather, Inc. User-driven media system in a computer network
US7136875B2 (en) * 2002-09-24 2006-11-14 Google, Inc. Serving advertisements based on content
US7142525B2 (en) * 2001-11-14 2006-11-28 Kabushiki Kaisha Toshiba Data transmission system
US20060271526A1 (en) * 2003-02-04 2006-11-30 Cataphora, Inc. Method and apparatus for sociological data analysis
US20060282328A1 (en) * 2005-06-13 2006-12-14 Gather Inc. Computer method and apparatus for targeting advertising
US20060287916A1 (en) * 2005-06-15 2006-12-21 Steven Starr Media marketplaces
US20070027754A1 (en) * 2005-07-29 2007-02-01 Collins Robert J System and method for advertisement management
US7188137B2 (en) * 2000-03-21 2007-03-06 Casio Computer Co., Ltd. System and method for distributing advertisements to a plurality of users based upon advertisement user attributes and advertisement provider attributes
US7194424B2 (en) * 1997-06-25 2007-03-20 Intel Corporation User demographic profile driven advertising targeting
US20070067297A1 (en) * 2004-04-30 2007-03-22 Kublickis Peter J System and methods for a micropayment-enabled marketplace with permission-based, self-service, precision-targeted delivery of advertising, entertainment and informational content and relationship marketing to anonymous internet users
US20070121843A1 (en) * 2005-09-02 2007-05-31 Ron Atazky Advertising and incentives over a social network
US7249059B2 (en) * 2000-01-10 2007-07-24 Dean Michael A Internet advertising system and method
US20070239761A1 (en) * 2006-03-28 2007-10-11 Andrew Baio Associating user-defined tags with event records in an events repository
US20080098420A1 (en) * 2006-10-19 2008-04-24 Roundbox, Inc. Distribution and display of advertising for devices in a network
US20080104026A1 (en) * 2006-10-30 2008-05-01 Koran Joshua M Optimization of targeted advertisements based on user profile information
US20080109306A1 (en) * 2005-06-15 2008-05-08 Maigret Robert J Media marketplaces
US20080189169A1 (en) * 2007-02-01 2008-08-07 Enliven Marketing Technologies Corporation System and method for implementing advertising in an online social network
US20080281711A1 (en) * 2007-05-11 2008-11-13 Bridges Thomas L System and method for displaying advertisements according to business and consumer relevance
US20080288310A1 (en) * 2007-05-16 2008-11-20 Cvon Innovation Services Oy Methodologies and systems for mobile marketing and advertising
US20080300974A1 (en) * 2007-05-30 2008-12-04 Google Inc. Flexible Revenue Sharing and Referral Bounty System
US20090150930A1 (en) * 2007-12-06 2009-06-11 Jeffrey Sherwin System and method for enabling content providers to identify advertising opportunities
US20110023060A1 (en) * 2006-10-17 2011-01-27 Google Inc. Targeted Video Advertising
US7904337B2 (en) * 2004-10-19 2011-03-08 Steve Morsa Match engine marketing

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006A (en) * 1850-01-08 Chubh
KR19990072063A (en) 1995-12-08 1999-09-27 엔, 마이클 그로브 Method and system for showing ads on computer networks
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
JP3648051B2 (en) * 1998-02-02 2005-05-18 富士通株式会社 Related information retrieval apparatus and program recording medium
JP2000056721A (en) * 1998-08-05 2000-02-25 Nri & Ncc Co Ltd Device and method for outputting condition advertisement and record medium
US7225229B1 (en) * 1998-12-18 2007-05-29 Tangis Corporation Automated pushing of computer user's context data to clients
US6629097B1 (en) * 1999-04-28 2003-09-30 Douglas K. Keith Displaying implicit associations among items in loosely-structured data sets
KR20010085212A (en) * 2000-02-24 2001-09-07 최완경 Method to provide service of advertisement by communication networks
JP2001243241A (en) * 2000-02-29 2001-09-07 4Th Channel Initiative Co Ltd Information providing method and information communication system
KR20010109038A (en) * 2000-06-01 2001-12-08 권대현 Method for fixing information service using a internet
KR100408092B1 (en) * 2001-03-23 2003-12-01 채널제로(주) System and method of the target customer selection for advertisement / publicity using a wireless terminal
US7526439B2 (en) * 2001-08-06 2009-04-28 Proficient Systems, Incorporated Systems and methods to facilitate selling of products and services
US20060259462A1 (en) * 2005-05-12 2006-11-16 Sybase, Inc. System and Methodology for Real-time Content Aggregation and Syndication
WO2006128104A2 (en) * 2005-05-24 2006-11-30 Insider Pages Advertising systems and methods
CA2615659A1 (en) 2005-07-22 2007-05-10 Yogesh Chunilal Rathod Universal knowledge management and desktop search system
US20070100862A1 (en) * 2005-10-23 2007-05-03 Bindu Reddy Adding attributes and labels to structured data
US20070208751A1 (en) * 2005-11-22 2007-09-06 David Cowan Personalized content control
US20070154168A1 (en) * 2005-12-29 2007-07-05 United Video Properties, Inc. Systems and methods for accessing media program options based on program segment interest
US20070183342A1 (en) * 2006-02-06 2007-08-09 Mediazone.Com, Inc. Peer-to-peer broadcast management system
US8874592B2 (en) * 2006-06-28 2014-10-28 Microsoft Corporation Search guided by location and context
US8230037B2 (en) 2006-09-29 2012-07-24 Audible, Inc. Methods and apparatus for customized content delivery
US20080215348A1 (en) * 2007-03-02 2008-09-04 Marc Guldimann System and methods for advertisement and event promotion
US9324082B2 (en) * 2007-07-06 2016-04-26 Ebay Inc. System and method for providing information tagging in a networked system
US8799068B2 (en) * 2007-11-05 2014-08-05 Facebook, Inc. Social advertisements and other informational messages on a social networking website, and advertising model for same
US20090150340A1 (en) * 2007-12-05 2009-06-11 Motorola, Inc. Method and apparatus for content item recommendation
US20090198711A1 (en) * 2008-02-04 2009-08-06 Google Inc. User-targeted advertising
US8224850B2 (en) * 2008-08-13 2012-07-17 Motorola Mobility, Inc. Method and system for determining users that satisfy desired conditions

Patent Citations (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724521A (en) * 1994-11-03 1998-03-03 Intel Corporation Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner
US5740549A (en) * 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
US6026368A (en) * 1995-07-17 2000-02-15 24/7 Media, Inc. On-line interactive system and method for providing content and advertising information to a targeted set of viewers
US5848397A (en) * 1996-04-19 1998-12-08 Juno Online Services, L.P. Method and apparatus for scheduling the presentation of messages to computer users
US5987440A (en) * 1996-07-22 1999-11-16 Cyva Research Corporation Personal information security and exchange tool
US5933811A (en) * 1996-08-20 1999-08-03 Paul D. Angles System and method for delivering customized advertisements within interactive communication systems
US5948061A (en) * 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US6078914A (en) * 1996-12-09 2000-06-20 Open Text Corporation Natural language meta-search system and method
US5999975A (en) * 1997-03-28 1999-12-07 Nippon Telegraph And Telephone Corporation On-line information providing scheme featuring function to dynamically account for user's interest
US6044376A (en) * 1997-04-24 2000-03-28 Imgis, Inc. Content stream analysis
US6144944A (en) * 1997-04-24 2000-11-07 Imgis, Inc. Computer system for efficiently selecting and providing information
US7039599B2 (en) * 1997-06-16 2006-05-02 Doubleclick Inc. Method and apparatus for automatic placement of advertising
US20010011226A1 (en) * 1997-06-25 2001-08-02 Paul Greer User demographic profile driven advertising targeting
US7194424B2 (en) * 1997-06-25 2007-03-20 Intel Corporation User demographic profile driven advertising targeting
US6167382A (en) * 1998-06-01 2000-12-26 F.A.C. Services Group, L.P. Design and production of print advertising and commercial display materials over the Internet
US6985882B1 (en) * 1999-02-05 2006-01-10 Directrep, Llc Method and system for selling and purchasing media advertising over a distributed communication network
US6269361B1 (en) * 1999-05-28 2001-07-31 Goto.Com System and method for influencing a position on a search result list generated by a computer network search engine
US7249059B2 (en) * 2000-01-10 2007-07-24 Dean Michael A Internet advertising system and method
US7240025B2 (en) * 2000-01-10 2007-07-03 Lucinda Stone Internet advertising system and method
US6446045B1 (en) * 2000-01-10 2002-09-03 Lucinda Stone Method for using computers to facilitate and control the creating of a plurality of functions
US6829587B2 (en) * 2000-01-10 2004-12-07 Lucinda Stone Method of using a network of computers to facilitate and control the publishing of presentations to a plurality of print media venues
US20040193488A1 (en) * 2000-01-19 2004-09-30 Denis Khoo Method and system for advertising over a data network
US6401075B1 (en) * 2000-02-14 2002-06-04 Global Network, Inc. Methods of placing, purchasing and monitoring internet advertising
US7188137B2 (en) * 2000-03-21 2007-03-06 Casio Computer Co., Ltd. System and method for distributing advertisements to a plurality of users based upon advertisement user attributes and advertisement provider attributes
US6477575B1 (en) * 2000-09-12 2002-11-05 Capital One Financial Corporation System and method for performing dynamic Web marketing and advertising
US20030028451A1 (en) * 2001-08-03 2003-02-06 Ananian John Allen Personalized interactive digital catalog profiling
US20040243466A1 (en) * 2001-11-01 2004-12-02 Trzybinski Robert Eugene Specific internet user target advertising replacement method and system
US7142525B2 (en) * 2001-11-14 2006-11-28 Kabushiki Kaisha Toshiba Data transmission system
US20060026067A1 (en) * 2002-06-14 2006-02-02 Nicholas Frank C Method and system for providing network based target advertising and encapsulation
US7136875B2 (en) * 2002-09-24 2006-11-14 Google, Inc. Serving advertisements based on content
US20060271526A1 (en) * 2003-02-04 2006-11-30 Cataphora, Inc. Method and apparatus for sociological data analysis
US20070067297A1 (en) * 2004-04-30 2007-03-22 Kublickis Peter J System and methods for a micropayment-enabled marketplace with permission-based, self-service, precision-targeted delivery of advertising, entertainment and informational content and relationship marketing to anonymous internet users
US7904337B2 (en) * 2004-10-19 2011-03-08 Steve Morsa Match engine marketing
US20060242554A1 (en) * 2005-04-25 2006-10-26 Gather, Inc. User-driven media system in a computer network
US20060282328A1 (en) * 2005-06-13 2006-12-14 Gather Inc. Computer method and apparatus for targeting advertising
US20080109306A1 (en) * 2005-06-15 2008-05-08 Maigret Robert J Media marketplaces
US20060287916A1 (en) * 2005-06-15 2006-12-21 Steven Starr Media marketplaces
US20070027754A1 (en) * 2005-07-29 2007-02-01 Collins Robert J System and method for advertisement management
US20070121843A1 (en) * 2005-09-02 2007-05-31 Ron Atazky Advertising and incentives over a social network
US20070239761A1 (en) * 2006-03-28 2007-10-11 Andrew Baio Associating user-defined tags with event records in an events repository
US20110023060A1 (en) * 2006-10-17 2011-01-27 Google Inc. Targeted Video Advertising
US20080098420A1 (en) * 2006-10-19 2008-04-24 Roundbox, Inc. Distribution and display of advertising for devices in a network
US20080104026A1 (en) * 2006-10-30 2008-05-01 Koran Joshua M Optimization of targeted advertisements based on user profile information
US20080189169A1 (en) * 2007-02-01 2008-08-07 Enliven Marketing Technologies Corporation System and method for implementing advertising in an online social network
US20090063284A1 (en) * 2007-02-01 2009-03-05 Enliven Marketing Technologies Corporation System and method for implementing advertising in an online social network
US20090112701A1 (en) * 2007-02-01 2009-04-30 Enliven Marketing Technologies Corporation System and method for implementing advertising in an online social network
US20080281711A1 (en) * 2007-05-11 2008-11-13 Bridges Thomas L System and method for displaying advertisements according to business and consumer relevance
US20080288310A1 (en) * 2007-05-16 2008-11-20 Cvon Innovation Services Oy Methodologies and systems for mobile marketing and advertising
US20080300974A1 (en) * 2007-05-30 2008-12-04 Google Inc. Flexible Revenue Sharing and Referral Bounty System
US20090150930A1 (en) * 2007-12-06 2009-06-11 Jeffrey Sherwin System and method for enabling content providers to identify advertising opportunities

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265242A1 (en) * 2006-12-20 2009-10-22 Microsoft Corporation Privacy-centric ad models that leverage social graphs
US8909546B2 (en) * 2006-12-20 2014-12-09 Microsoft Corporation Privacy-centric ad models that leverage social graphs
US20130013646A1 (en) * 2008-02-04 2013-01-10 Mayur Datar User-targeted advertising
US10198744B2 (en) * 2008-02-04 2019-02-05 Google Llc User-targeted advertising
US8700618B2 (en) 2008-05-12 2014-04-15 Covario, Inc. Tracking implicit trajectory of content sharing
US20090282052A1 (en) * 2008-05-12 2009-11-12 Michael Evans Tracking implicit trajectory of content sharing
US20100250330A1 (en) * 2009-03-29 2010-09-30 Chuck Lam Acquisition of user data to enhance a content targeting mechanism
US20110138401A1 (en) * 2009-12-04 2011-06-09 Microsoft Corporation Live update of user segments
US8244760B2 (en) 2009-12-04 2012-08-14 Microsoft Corporation Segmentation and profiling of users
US8751305B2 (en) 2010-05-24 2014-06-10 140 Proof, Inc. Targeting users based on persona data
US20110153423A1 (en) * 2010-06-21 2011-06-23 Jon Elvekrog Method and system for creating user based summaries for content distribution
US20120047529A1 (en) * 2010-08-20 2012-02-23 Jennifer Schultz Television and social network interworking system and method
US20120271719A1 (en) * 2011-04-25 2012-10-25 Ben Straley Targeting advertising based on tracking content sharing
US8538742B2 (en) * 2011-05-20 2013-09-17 Google Inc. Feed translation for a social network
US9519638B2 (en) 2011-05-20 2016-12-13 Google Inc. Feed translation for a social network
US8412512B1 (en) 2011-05-20 2013-04-02 Google Inc. Feed translation for a social network
US9779385B2 (en) 2011-06-24 2017-10-03 Facebook, Inc. Inferring topics from social networking system communications
US10726050B2 (en) * 2011-11-15 2020-07-28 Facebook, Inc. Assigning social networking system users to households
US20130151527A1 (en) * 2011-11-15 2013-06-13 Sean Michael Bruich Assigning social networking system users to households
US9679044B2 (en) * 2011-11-15 2017-06-13 Facebook, Inc. Assigning social networking system users to households
US20170220693A1 (en) * 2011-11-15 2017-08-03 Facebook, Inc. Assigning social networking system users to households
US20140006102A1 (en) * 2012-06-19 2014-01-02 Visible World, Inc. Systems, methods and computer-readable media for optimizing transactions in a household addressable media network
US9286397B1 (en) 2012-09-28 2016-03-15 Google Inc. Generating customized content
US10019443B2 (en) 2012-09-28 2018-07-10 Google Llc Generating customized content
US9734518B2 (en) 2012-09-28 2017-08-15 Google Inc. Generating customized content
US10872109B2 (en) 2012-09-28 2020-12-22 Google Llc Generating customized content
US20140289046A1 (en) * 2013-03-19 2014-09-25 Kalyan Bukkapatnam Mobile Sales Targeting Application
WO2018098481A1 (en) * 2016-11-28 2018-05-31 T-Mobile Usa, Inc. Supplementary user profile service for encrypted internet interactions
US11164105B2 (en) 2017-11-13 2021-11-02 International Business Machines Corporation Intelligent recommendations implemented by modelling user profile through deep learning of multimodal user data

Also Published As

Publication number Publication date
WO2009100072A2 (en) 2009-08-13
CA2714057A1 (en) 2009-08-13
JP2011511389A (en) 2011-04-07
AU2009212496A1 (en) 2009-08-13
EP2252963A4 (en) 2012-10-17
US20220207558A1 (en) 2022-06-30
US10198744B2 (en) 2019-02-05
EP2252963A2 (en) 2010-11-24
US20190164189A1 (en) 2019-05-30
JP5877644B2 (en) 2016-03-08
US20210081988A1 (en) 2021-03-18
CA2714057C (en) 2016-11-08
BRPI0907917A2 (en) 2015-07-28
US20130013646A1 (en) 2013-01-10
WO2009100072A3 (en) 2009-11-12
AU2009212496B2 (en) 2014-09-04

Similar Documents

Publication Publication Date Title
US20220207558A1 (en) User-targeted advertising
US7730017B2 (en) Open profile content identification
US8321462B2 (en) Custodian based content identification
US20170213252A1 (en) Reducing data noise using frequency analysis
JP5899275B2 (en) System and method for scoring quality of advertisement and content in online system
KR102104256B1 (en) Sponsored advertisement ranking and pricing in a social networking system
US8346607B1 (en) Automatic adjustment of advertiser bids to equalize cost-per-conversion among publishers for an advertisement
US7860859B2 (en) Determining search query statistical data for an advertising campaign based on user-selected criteria
US20140012659A1 (en) Modifying targeting criteria for an advertising campaign based on advertising campaign budget
US20080215425A1 (en) System and methods for advertisement and event promotion
US20100076811A1 (en) Dynamically providing digital content from relevant sources and identifying content display opportunities, such as dynamically providing advertisements from related publications and indentifying target advertisers
JP6139426B2 (en) Advertisement distribution apparatus, advertisement distribution method, and advertisement distribution program
US20210110431A1 (en) Machine learning system finds units of interest (uoi) based on keywords, interests, and brands in social media audiences for the purpose of targeting digital advertisements
KR20120138216A (en) Targeted advertizing method based on relation network in social network service
US10089635B1 (en) Presenting video view data
US20160034945A1 (en) Slice competitor impression penetration by user type and ad format
Olayinka et al. Attitude of under graduate students to unsolicited sms advertising by GSM operators
US20190286745A1 (en) Community-based recommendations

Legal Events

Date Code Title Description
AS Assignment

Owner name: GOOGLE INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DATAR, MAYUR;MILLER, JASON C.;HOCHBERG, MICHAEL;AND OTHERS;REEL/FRAME:020770/0442;SIGNING DATES FROM 20080211 TO 20080328

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: GOOGLE LLC, CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044142/0357

Effective date: 20170929