EP2235858A1 - Détection et exposition assistées par un gadget logiciel d'associations comportementales - Google Patents

Détection et exposition assistées par un gadget logiciel d'associations comportementales

Info

Publication number
EP2235858A1
EP2235858A1 EP08868561A EP08868561A EP2235858A1 EP 2235858 A1 EP2235858 A1 EP 2235858A1 EP 08868561 A EP08868561 A EP 08868561A EP 08868561 A EP08868561 A EP 08868561A EP 2235858 A1 EP2235858 A1 EP 2235858A1
Authority
EP
European Patent Office
Prior art keywords
web
site
user
widget
items
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.)
Withdrawn
Application number
EP08868561A
Other languages
German (de)
English (en)
Other versions
EP2235858A4 (fr
Inventor
Francis J. Kane
Cory Hicks
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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
Priority claimed from US11/966,802 external-priority patent/US20090172021A1/en
Priority claimed from US11/966,780 external-priority patent/US20090171754A1/en
Priority claimed from US11/966,817 external-priority patent/US20090171968A1/en
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of EP2235858A1 publication Critical patent/EP2235858A1/fr
Publication of EP2235858A4 publication Critical patent/EP2235858A4/fr
Withdrawn legal-status Critical Current

Links

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

Definitions

  • Personalized item recommendations may, for example, monitor and record one or more types of item-related user activity such as item purchases, item viewing events, and/or item rentals, and analyzes the collected data to detect and quantify associations between particular items.
  • a user accesses a particular item, such as a particular product in a catalog of an e-commerce site, or an article on a news site, an appropriate message may be displayed notifying the user of related items (e.g., "people who viewed this item also viewed...," or "based on your recent purchases, you may also be interested in.").
  • the personalization system may also generate personalized item recommendations that are based on a target user's purchase history, item viewing history, item ratings, and/or some other type of user data.
  • Figure I schematically illustrates one embodiment of a content provider system that monitors user actions across, and generates behavioral content for display on, a plurality of member web sites;
  • Figure 2 illustrates the widget-based display of behavioral content on a web page of a member site
  • Figure 3 illustrates one embodiment of a method of storing event data and generating behavior-based content to satisfy widget-generated content requests
  • Figure 4 illustrates one embodiment of a method of generating item-to- item association mappings using collected behavioral data
  • Figure 5 illustrates an embodiment of a process by which a web site operator may register with, and configure its web site to interact with, the content provider system
  • Figure 6 schematically illustrates another embodiment of a web site configured to utilize widgets that retrieve content from the content provider system
  • Figure 7 illustrates a sequence of steps that may be performed by the content provider system to charge and pay operators of member web sites for user referrals.
  • Figure 8 illustrates in pseudocode one JavaScript-based embodiment of a widget.
  • widget refers generally to executable code that is or can be included in a web page or other document.
  • the widget may cause the user's browser/computer to report the access event over the Internet to a monitoring system.
  • the reported event data may, for example, consist of the URL accessed and a user or client system identifier, or may include more detailed information such as an item type identifier (e.g., product, news story, blog, etc.), an item identifier, and/or an event type (e.g., view, purchase, download, etc.).
  • the collected clickstream data of many users is analyzed on an aggregated basis to detect behavioral associations between one or more types of items, such as web sites, web pages, user profiles (e.g. professional or social networking profiles), products, product categories, news stories, news feeds, blogs, music files, video files, documents, keywords, etc.
  • item-to-item behavioral associations may include both intra-site associations (e.g., page A on site A is related to page B on site A) and inter-site or "cross-site'" associations (e.g., site A is related to site B, or page A on site B is related to page C on site D).
  • the collected data may be used to detect behavioral associations between disparate item types (e.g., site A is related to product B available from site C).
  • the widgets may also be used to display various types of behavior-based content on the accessed web pages.
  • This behavioral content may be derived from the item-to- item behavioral associations mined from the aggregated behavioral data. For example, when a user accesses a particular web page, the widget included on the page may retrieve and display images or other descriptions of particular items (e.g., web sites, web pages, products, etc.) that are related to the particular page or site being accessed. Each such image or description may serve as a link for accessing the displayed item. For instance, while viewing a page of site A, a user may be presented with a thumbnail image of the home page of related site B, and may be able to click on this image to access site B.
  • the behavioral content may be served by a system that also handles the tasks of collecting and analyzing the widget-reported behavioral data. This system is referred to herein as a "content provider system," as it supplies content for display on web pages.
  • the behavioral content displayed by the widgets can additionally or alternatively include personalized item recommendations.
  • the content provider system may use a browser cookie transmitted with a widget-generated request to look up a set of items (web sites, web pages, products, etc.) recently accessed by the user. The content provider system may then use these items, in combination with the behavior-based item-to- item associations, to select a set of additional items to recommend to the user. For example, if the user has recently accessed sites A and B, and is now accessing site C, the widget may recommend additional web sites (and/or other types of items) that are collectively related to sites A, B and C.
  • Figure 2 illustrates one example of how a widget may present a set of behaviorally-related items on a web page that may be hosted externally to the content provider system.
  • five items are depicted under the heading "people who viewed this page were also interested in.”
  • the first two items 128 are web pages on the "news.org" site currently being accessed by the user;
  • the second item 129 is a web page on another external web site, and
  • the last two items 130 are particular book titles available from a merchant associated with the content provider system 130.
  • the actual images and associated artwork of these items are omitted from the figure to improve the quality of the drawing.
  • Each image serves as, or is accompanied by, a user-selectable link to a corresponding web page.
  • the widget is displaying items that have co-occurred relatively frequently in the item viewing histories of users who have accessed this particular web page.
  • the past browsing history of this particular user may also be taken into consideration in selecting the items to display, such that the display represents a personalized set of recommendations.
  • Figure 2 represents just one of many types of associations or recommendations that can be presented via widgets.
  • the user may be presented with one or more widget -displayed links to web pages (of the same web site and/or other sites) that are related to this product.
  • a product detail page e.g. a page about a product made available for consumption from an electronic catalog
  • a Harry Potter book may display a link to an external message board with users discussing this book or to a news site providing sales figures.
  • Such pages may include one or more of an item description, image of the item, user reviews, and other information about the item.
  • One potential benefit of the system is that it enables web site operators to provide personalized and other behavior-based content on their web sites without setting up extensive infrastructure for generating such content. For example, by simply adding a widget to one or more web pages, an operator of a relatively basic web site (e.g., one that merely serves static web pages) can configure the site to provide personalized recommendations to its users.
  • Another potential benefit is that the system can generate personalized item recommendations based on the target user's browsing activities across many different (widget-enabled) web sites of many different business entities. Thus, the recommendations may more accurately reflect the interests of the target user.
  • the content provider system may, in some embodiments, implement a referral program that enables participating web site operators to pay for incoming user referrals, and/or to be paid for outgoing user referrals. For instance, when a user viewing site A clicks on a widget-d ⁇ splayed link to site B, the content provider system may charge the operator of site B a fee, and may credit all or a portion of this fee to the operator of site A. Payment of fees may alternatively be contingent upon the user performing some action (e.g., enrolling or making a purchase) on the referred-to web site.
  • some action e.g., enrolling or making a purchase
  • the content provider system may, in some embodiments, be operated by a merchant or other e-commerce entity that hosts a web site having a browsable electronic catalog of products.
  • the e-commerce entity may use the widget- reported behavioral data to provide improved product recommendations to users of its site.
  • the e-commerce entity can provide personalized product recommendations to a target user based on a combination of (a) the target user's purchases and/or other product selections on the web site of the e-commerce entity, and (b) widget-reported data regarding the user ' s accesses to other web sites.
  • These product recommendations may be presented to users on the web site of the e-commerce entity, and/or on other web sites via the widgets.
  • the e-commerce entity may also implement an affiliate program for compensating operators of web sites that display the product recommendations. For example, while viewing a page of an affiliate web site, a user may be presented with widget-displayed product recommendations together with links to corresponding product detail pages in the e-commerce entity's catalog. If the user clicks on one of these links and then makes a purchase from the e-commerce entity ' s web site, the e-commerce entity may pay a commission or other fee to the operator of the affiliate web site. In some embodiments, the e-commerce entity may additionally or alternatively pay the affiliate/operator for the click-through event without regard to whether the user makes purchase, or may pay the affiliate if the user performs another type of activity.
  • the activity could be any that the e-commerce entity considers as providing benefit, such as the user: creating a new account, signing up for a credit card offered by the merchant, clicking on an advertisement, adding a review or other user-generated content, among many other possibilities.
  • FIG. 1 illustrates one embodiment of a content provider system 100 operated by a content provider business entity.
  • the content provider system 100 comprises a combination of hardware and software for interacting over a local (LAN) or wide-area network (WAN), such as the Internet, with user computing devices 106 (one shown) of end users.
  • the user computing devices 106 may, for example, include personal computers, personal digital assistants (PDAs), mobile phones, electronic book readers, interactive television systems, set top boxes for televisions, and other types of devices that include web browsing capabilities.
  • PDAs personal digital assistants
  • FIG. 1 illustrates one embodiment of a content provider system 100 operated by a content provider business entity.
  • the content provider system also hosts an e-commerce web site that includes functionality for users to browse and make purchases from an electronic catalog of items, and to rate and tag particular catalog items.
  • an e-commerce web site that includes functionality for users to browse and make purchases from an electronic catalog of items, and to rate and tag particular catalog items.
  • the content provider system 100 and content provider entity need not be associated with any, or any particular type of, e-commerce site or business.
  • FIG 1 also depicts a plurality of web sites 104 operated by a plurality of entities.
  • Each web site 104 comprises a web server 101 (implemented as one or more physical servers) for receiving and responding to page requests from browsers/computing devices 106 of end users.
  • an end user may be an automated agent or "bot " that emulates an actual user, or may be a group of individuals who share a computer.
  • Each web site 104 includes at least one HTML file that includes widget code for interacting with the content provider system 100.
  • the content provider system 100 may host a web site that provides an interactive service for the web site operators to obtain customized widgets to add to pages of their sites 104.
  • the term "operator 1" or "site owner,” as used herein in the context of a member site 104 refers generally to the business entity or individual primarily responsible for the member site's content.
  • Some of the web sites 104 may host electronic catalogs or repositories of items that are available for purchase, rent, download, subscription, viewing, and/or some other form of consumption. Examples include retailer web sites, music and video download sites, online travel reservation sites, news sites, auction sites, shopping portals, dating sites, social networking sites, aggregator sites, and sites that provide a combination of these functions.
  • the term "item” is used broadly and without limitation, and includes generally any object which may be selected by a user to be displayed, purchased, rented, downloaded, subscribed to, or otherwise acted upon. Examples of items include web pages, web sites, URLs, physical products, digital products, blogs, blog entries, news articles, RSS feeds, advertisements, social networking applications, users, and podcasts.
  • the member web sites 104 may be operated or provided by different business entities from one another and by entities other than the operator/provider of the content provider system 100.
  • an end user 106 visits a particular web site 104A and accesses an electronic catalog or repository of items hosted by the web site 104A.
  • the end user 106 initiates an access to a particular page of web site 104A by causing a page request 102 to be sent to the web server 101 of the web site 104A.
  • the page request 102 typically corresponds to some action, which may be a request to view the home page of web site, to view a particular item or category of items, to process a purchase of an item, and so forth.
  • the web server 101 typically responds to the page request 102 with an HTML file 103 of a web page 125, although other markup languages such as XHTML may be used.
  • the HTML files 103 typically contains static and/or dynamic content, such as descriptions of items, hypertext links to other items on or external to the web site 104A, purchase confirmations, and any other information germane to the page request 102.
  • the HTML file 103 also includes a format-appropriate mechanism for instantiating a widget on the end-user's computing device 106.
  • the widget may comprise, for example, JavaScript code, although the widgets may also be implemented using Adobe Flash, ActiveX, VBScript, or another scripting language.
  • the widget may be fully contained in an HTML file 103 as served by the web server 101.
  • the HTML file contains a portion of the widget (e.g., a single line of code) that causes the browser 124 to dynamically load one or more widget code modules from the content provider system 100 and/or the browser's cache.
  • the operator of the web site 104A may provide its own widget code designed to interoperate with the content provider system 100.
  • the browser 124 on the end-user ' s computer Upon receipt of the HTML file 103 containing the widget code, the browser 124 on the end-user ' s computer will, in some embodiments, instantiate the widget by executing the widget code.
  • the widget may include or have access to parameters that describe the context of the web page and page request, an item identifier, an event identifier (which may codify the events "purchase,” “view,” “add to cart, " and so forth), a user identifier, if known, default content to be displayed in the absence of (or before retrieval of) content from the provider system, the member ID of the member site 104 on which the widget is installed, and so forth.
  • identifiers may be created programmatically by the operator; alternatively, in some embodiments, the operator need not provide any special parameters, and the widget and content provider system 100 may infer parameters as discussed below.
  • the content provider system may use part of the URI of the web page 125 as an item identifier.
  • the content provider system 100 provides flexibility to the operators of the member web sites 104: some may choose detailed customization of widgets with fine-grained control over parameters, while others may choose a "plug and play " ' approach comprising little more than, for example, adding a couple lines of JavaScript to selected web pages 125. This JavaScript is potentially automatically generated for the operators by content provider 100.
  • the widget may generate at least one request 120 to a web server 121, or another type of server, of the content-provider system 100. These requests may, but need not, be made in accordance with an API (Application Program Interface) or a web services interface.
  • the widget-generated request 120 may contain information regarding the context of the web page 103 and/or page request 102. such as the URL of the web page, an identifier of an item associated with the web page, an event type identifier, and/or a user identifier.
  • the widget-generated request may include a browser cookie that includes a user identifier (which may be the same as or different from the previously-mentioned user identifier), a session identifier, or both.
  • the user identifiers may identify particular user computing devices 106 or clients without identifying particular individuals. Thus, for example, if multiple family members share a particular computer 106, the system 100 may treat these family members collectively as a single user.
  • the widget-generated request 120 may also include the member ID of the corresponding member site 104; for example, a widget installed on a page of member site A may be configured to send site A's member ID with the requests 120 it generates.
  • the widgets embedded in the associated web pages 125 report these events to the content provider system 100 via widget-generated requests 120.
  • the content provider system 100 may persistently store these events (i.e., data descriptive of the events) in an event history repository 143 as part of a given end-user's event history.
  • the event history of a given user may reflect the user's accesses to many different member sites 104, and may also reflect user actions performed on a web site of the content provider.
  • the widget-generated requests 120 may also include requests for widget content 126 to be displayed on the web page 125. Requests for content may be included as part of an event-reporting request as described above, or may form a separate request.
  • the content provider system 100 uses the context information provided in the widget request 120, coupled with item-to-item behavioral associations derived from aggregated user event histories, to generate or select widget content 126 to be displayed. This content is referred to as "behavior-based " or "behavioral” content, meaning that it is dependent upon monitored behaviors of the current user and/or other users.
  • the widget content 126 presented to the user may depend on (1) the user ' s identity on an e-commerce site hosted by the commerce system, and/or (2) the user's identity on the member site 104 being accessed or across the member sites 104 generally.
  • the widget content 126 may additionally or alternatively include items selected based on content-based (as opposed to behavior-based) associations between items. For example, while viewing a particular web page, the user may be presented with links to other pages containing similar content or keywords.
  • the content provider system may use content-based associations where, for example, an insufficient quantity of behavioral data exists to generate reliable behavior-based associations for a particular item.
  • Hybrid content-based/behavior-based associations may also be used.
  • the web server when a web server 121 of the content provider system 100 receives a widget-generated content request 120, the web server returns a response 122 with the requested content 126.
  • the response is a HTML document that is configured to be embedded in an IFrame (inline frame) within the main HTML document 103 that is loaded from the member site 104.
  • This embedded HTML document may include thumbnail images of, and links corresponding to, the particular items selected by the system 100 to display (as described above and shown in Figure 2).
  • the content provider system 100 may generate the thumbnail images of the member sites' pages on-the-fly in response to widget-generated requests 120, and/or may pre-generate and cache these images.
  • the widget/browser Upon receiving the response 122, the widget/browser displays the widget content 126 on the user computing device 106 as part of the web page 125.
  • the widget content 126 may be non-user-speciilc, such as descriptions of items that are behaviorally related, and/or related based on a content-based analysis, to a source item being viewed.
  • the widget may present thumbnail images of, and links to, other web sites and/or pages that are behaviorally related, and/or related based on a keyword analysis, to the site 104A or page 125 being accessed. See Figure 2.
  • the widget content 126 may additionally or alternatively include personalized item recommendations that depend upon the prior event history of this particular user. This prior event history may include or consist of actions performed by the user on other member web sites 104.
  • the act of browsing to a given site 104A may cause a page 125 to be displayed in the user ' s web browser 124 with behavior-based widget content 126 supplied by the content provider system 100. Because this content reflects user actions/events across many web sites, the behavior-based content tends to be highly relevant to the web page or site being viewed and/or the particular user.
  • the content provider system 100 includes a data repository 143 that stores user-specific event histories.
  • the events included in these event histories may consist of widget-reported events of the type described above.
  • the event histories also include events reported or monitored by one or more other types of entities.
  • a user's event history may include event data descriptive of any items the user has purchased, viewed, rated, or otherwise selected from this catalog; these events may be captured by the system 100 without the use of widgets.
  • some web sites 104 may be configured to report events directly to the content provider system 100 via a web services interface, as described in U.S. Appl. No.
  • event histories may reflect user browsing activities on web sites that are not part of the content provider's network.
  • the event history of a given user may include events captured via multiple methods, including widget-based and non-widget -based methods.
  • a single event-history data repository 143 is shown, different types of events or event histories may be recorded separately from others (e.g., in separate databases).
  • the user event histories may also reflect user selections of items displayed by the widgets. For example, with reference to Figure 2, each of the five widget-displayed items/links may actually point to the content provider system 100. Thus, when a user selects a particular widget-displayed item, the content provider system may record the selection event and redirect the user's browser 124 to retrieve the content from a web site 104 based on the user's perceived selection.
  • the widget-displayed links 128, 329, 130 may alternatively point directly to their respective destination locations.
  • the content provider system 100 may cache web pages of the member sites 104. In these embodiments, the content provider system 100 may serve pages of the member sites 104 to user computing devices 106. As one example, suppose a page of member site A hosts a widget that displays a link to a target page of member site B. User selection of this link may cause the user's computing device 106 to request the target page from the content provider system 100. If the content provider system has a copy of this page in its cache, it may return the cached copy directly to the requesting device 106; otherwise, the content provider system may redirect the request to an external server of member site B. In some embodiments, the content provider system 100 may alternatively host the entire member site 104.
  • the information stored in the data repository 143 for a given event may include some or all of the following: an identifier of the accessed web site (e.g., the member ID of a particular member site 104), the URL accessed, an item identifier (particularly if the item is not uniquely identified by the URL), an item type identifier, an identifier of the user (e.g., a cookie value that uniquely identifies a particular user computing device 106), an identifier of the type of the event (e.g., purchase, view, rent, rate, etc.), and an event timestamp.
  • an identifier of the accessed web site e.g., the member ID of a particular member site 104
  • the URL accessed e.g., an item identifier (particularly if the item is not uniquely identified by the URL)
  • an item type identifier e.g., a cookie value that uniquely identifies a particular user computing device 106
  • an identifier of the type of the event e.
  • the event data may also identify both the referring site and the referred-to site, which may be the same in some cases.
  • the event data may also include a rating assigned to the item by the user, such as a rating assigned on a scale of one to five stars or a " " not interested' " rating.
  • the content provider system 100 assigns a unique tracking cookie to each user or user computer 106. This cookie may be set when a user computer 106 initially accesses a web page having a widget associated with the content provider system 100, and may subsequently be returned with each widget-generated request to the system 100.
  • the content provider system 100 may also support one or more additional methods for identifying users. For example, if the content provider system hosts an e-commerce web site, the cookies used to identify users of this e-commerce web site may also be used to monitor these users' actions on the member sites 104.
  • an association mining component or system 145 ( Figure 1) collectively analyzes the event histories of the end users to detect and quantify similarities/associations between specific items (such as pages, sites, products, stories, etc.). Item-to-item associations of significant strength are recorded in a data repository 147 that maps specific items to behaviorally related items. As illustrated in Figure 1 , these item-to-item mappings are used by a widget-content generation service or system 140 to select items to display in response to widget-generated requests for content. As further illustrated, the widget-content generation service 140 also accesses a recommendation service 110 to obtain personalized recommendations of items to present to recognized users.
  • the recommendation service 1 10 may generate these personalized recommendations based on, for example, a combination of (a) the target user ' s past event history as represented in the event history repository 143, (b) the page or other item currently being accessed by the user, and (c) item-to-item associations related to the items accessed by the user. Examples of algorithms that may be used to mine behavioral associations between items, and to use these associations to generate personalized recommendations and other behavior-based content, are described in U.S. Appl. No. 11/694,758, referenced above, and U.S. Pat. 6,912,505, the entire disclosures of which are hereby incorporated by reference.
  • the events pertaining to one user on one web site 104A may be used to provide behavior-based content for that user on that same site I04A, other users on that same site 104A, that same user on other sites 104, and other users on other sites 104.
  • the content provider system 100 is able to track user behavior across multiple, independent web sites 104, it is able to detect "cross-site" associations.
  • the content provider system may detect that Site A and Site B are behaviorally related; that a particular page on Site A is behaviorally related to a particular page on Site B; or that a particular page on Site A is behaviorally related to a particular product available on the content provider ' s site or another web site.
  • the cross-site associations may be mined, and used to serve behavior-based content to users, without any communication or sharing of information between Site A and Site B, and without otherwise exposing any, potentially sensitive, user information to the operators of the member sites 104.
  • the content provider system 100 may analyze the item viewing histories of all end users across the member web sites 104 — and possibly one or more additional web sites such as an e-commerce site of the content provider — to generate one or more global datasets of item-viewing-based item associations.
  • the content provider system may similarly analyze the item purchase histories of users across these web sites to generate one more datasets of purchase-based item associations.
  • the content provider system may then generate recommendations for a particular user who is viewing a particular item by, for example, retrieving a list of other items associated with that particular item, filtering out items the user has already viewed or purchased, and then ranking the remaining items based on their degrees of similarity to the user's past browsing history.
  • the final behavior-based content presented to the user may then include both non-personalized associations-based content, such as a list of items related to the page or site being viewed, and personalized item recomm end ations .
  • the content provider system 100 may separate the generation of associations from the generation of recommendations.
  • the item-to-item associations may be generated asynchronously (e.g.. in an off-line processing mode) with respect to requests by users, whereas recommendations for a given user may be generated synchronously with a request by that user.
  • recommendations for a given user may be generated synchronously with a request by that user.
  • the content provider system 100 may perform authentication and/or metering/billing through a tracking and accounting system 130.
  • the operators of the member web sites 104 may be credited or debited based on, among other things, (1) their willingness and desire to enable widget content 126 to be displayed on their web pages 125, (2) the widget content placed on their web page 125 or the web pages of another web site 104, and/or (3) the behavior of end users.
  • the content provider system 100 may charge Site A's account a certain amount, and may credit a portion of this amount to the account of Site B. More typically, this transfer of money may occur only if the user clicks on the associated link, or in some embodiments, only if the user clicks on this link and thereafter purchases Item A. Tracking of these events, such as clicking and purchasing, is possible due, in part, to the even reporting feature of widgets discussed above. Operators may be able to customize the details of the accounting system as applied to them, such as selecting between various revenue models (cost per click, commission, etc.) or setting bid amounts they are willing to pay for referrals related to a given item.
  • buttons of the member web sites may use a widget configuration web site or portal 160 to build custom widgets.
  • a site owner may select from various configuration options, including options that specify the types of widget content to be displayed. These selections may be incorporated into the widget code generated by the content provider system 100, and/or may be stored in a site preferences database 141. Examples of specific configuration options are provided below.
  • the system 100 may also support the ability for the site owners to define new item types and event types, and/or to specify how particular item and event types are to be used to mine behavioral associations.
  • the content provider system 100 may use an appropriate tracking mechanism to keep track of unique items reported by the widgets/member sites 104.
  • each reported item may be uniquely identified within the system 100 by the combination of (1) an item type identifier. (2) an item identifier, and (3) a member identifier.
  • the item type identifiers may be globally defined within the system 100, meaning that the same item type identifiers are used across all member sites 104.
  • Examples of item types that may be supported by the system include the following: Product, Browse Node, Advertisement, Article, AudioDownload, Bundle, Car, Comment, Document, Flight, Group, Hotel, Listing, Person, Post, Restaurant, Review, Service, VideoDownload, SearchQuery, WebSite, Journal, Poll, Deal.
  • the item identifiers may be freely assignable by the operators of the member sites 104. Item IDs need not be unique across item types or across member sites 104; for example, two different web sites 104 can use the same item ID to identify different items, and a single member site 104 can use the same item ID to identify two items having different item types.
  • the member ID identifies the member responsible for reporting the item. When a widget reports an item- related event for a non-URL-based item, it may transmit these three pieces of information (i.e., the item type identifier, item identifier, and member ID) to the content provider system 100.
  • the content provider system 100 hosts an e-commerce web site that includes an electronic catalog of items.
  • the catalog is implemented using a catalog service 150, which accesses a repository of catalog content 151.
  • the items included in this catalog may, but need not, overlap with items included in catalogs of one or more member sites 104.
  • Users may browse and make purchases from this catalog without ever accessing any of the sites 104 in the content provider's network.
  • users may access the sites 104, and be provided with behavior-based content (including personalized item recommendations) on such sites as described above, without ever accessing the e-commerce site.
  • a common web server or set of web servers 121 serves both the widget-generated content requests, and ordinary page requests for pages of the e-commerce web site; however, separate web servers may be dedicated to each of these tasks.
  • the e-commerce site includes web pages (not shown) that are configured to display personalized recommendations generated by the recommendation service 110. These recommendations may be based on (a) the user's purchases and/or other actions on the e-commerce site, (b) the user ' s actions on other network-member sites 104, or (c) a combination of (a) and (b). By incorporating external behaviors of activity on web sites 104 into the recommendations process, the e-commerce site is capable of providing improved item recommendations from its own catalog to its users.
  • the e-commerce site can provide useful personalized recommendations to a new user who has never previously accessed the e-commerce site. For example, suppose a user accesses member sites A, B and C, and then accesses the e- commerce site for the first time.
  • the content provider system ] 00 can use a cookie transmitted with the request to (a) look up this past browsing history, (b) use a dataset of site-to-product behavioral associations/mappings 147 to look up a set of products that are behaviorally related to site A, B and/or C, and (c) incorporate descriptions of these products into the requested web page.
  • the system 100 may also support the opposite scenario: when a customer of the e-commerce site accesses a member site 104 for the first time, the system may rely on the customer's prior activities (e.g., purchases) on the e-commerce site to select items to present to the customer on the member site 104; these items may then be presented via a widget included in a page of the member site 104.
  • the system may rely on the customer's prior activities (e.g., purchases) on the e-commerce site to select items to present to the customer on the member site 104; these items may then be presented via a widget included in a page of the member site 104.
  • the e-commerce site hosted by the content provider system 100 may also use the cross-site item-to-item mappings 147 to display non-personalized lists of related items on item detail pages of the electronic catalog.
  • the web server 121 may incorporate one or more of the following into the product detail page: (1) external links to behaviorally related member sites 104, (2) external links to behaviorally related web pages of member sites 104, (3) internal links to detail pages of behaviorally related products in the electronic catalog, (4) external links to pages on member sites 104 that display behaviorally related products not available in the electronic catalog.
  • the links may again be displayed together with associated item images and descriptive text.
  • Figure 8 illustrates one example of a JavaScript-based widget that may be included in an HTML document of a member site 104 to enable the associated web page to display product recommendations.
  • the widget is an IFrame-based widget that causes an HTML document served by the content provider system 100 to be embedded as an inline frame in the host page of the member site 104. The dimensions of this inline frame are specified at lines 28-30.
  • the widget includes variables that specify a unique ID of the member site's operator (see line 3) and a unique ID of an item corresponding to the widget (see line 4). These IDs may be passed to the content provider system 100 with a widget-generated request.
  • Line 22 includes an instruction to generate a request to the content provider system 100 to record an event and to retrieve recommendations.
  • Lines 12- 18 specify how the recommended items are to be presented in the inline frame (e.g., with or without prices and product images).
  • Widgets of the type shown in Figure 8 may be generated automatically by the content provider system 100 based on the settings or preferences associated with the member web site 104, or may be generated by the site owners.
  • Such JavaScript may, when executed, return HTML to render widget content 126 similar to that shown in Figure 2, with personalized or unpersonalized recommendations generated and displayed in accordance with the dimensions and display attributes specified by the site owner.
  • each of the functional blocks or components 1 10, 121 , 130, 140, 141, 143, 145, 147, 150, 151 , 160 of the content provider system 100 may be implemented in a combination of computer hardware (e.g., general purpose computers or processors) and executable code modules.
  • the code modules may be represented in any type of computer storage or storage medium.
  • the communications between the user computing devices 106 and the content provider system 100, and between the user computing devices 106 and the member web sites 104, may occur over a computer network such as the Internet.
  • the user computing devices 106 may include any type of device that includes web browsing capabilities, such as a Personal Computer, Personal Digital Assistant, mobile phone, interactive television, or set-top box.
  • the various components of the system 100 may, in some implementations, be distributed geographically. III. Processing of widget-generated requests ( Figure 3)
  • Figure 3 illustrates one example of how the content provider system 100 may process a widget-generated request.
  • the system determines, in block 312, whether the request includes one or both of the following types of cookies: (1) a cookie corresponding to the content provider's e-commerce web site, which may exist if this user has accessed or registered with this web site, (2) a cookie set by the content provider system 100 via a widget on a member site 104.
  • the system 100 may cause the identification values for all such cookies to which it has access to be associated with each other in the repository 143.
  • the system 100 may also attempt to reconcile the various identities that may have been provided to it by the instant widget request and prior requests. For example, if the present widget request includes a cookie for a web site of the content provider, the system 100 may check whether the widget identifier provided in the present request is the same as any widget identifier provided in prior requests (and therefore stored in the repository 143). If such identifiers are not identical, then the web server may cause an association to be stored in the repository 143 that links the two widget identifiers.
  • the system 100 attempts to set or reset cookies containing identification information on the end-user ' s computing device 106. If the widget- generated request did not include an identifier, the system 100 may create a new user identifier and cookie for placement on the user ' s computing device 106 (block 314). In the foregoing example of mismatched widget cookies, the web server may choose to reset the widget identifier to the prior value in the repository 143. Similar reconciliation actions may take place for the other data sent in the widget-generated request.
  • the system 100 may then log the reconciled event data in the repository 143 (block 316).
  • Data to be recorded may include the Site ID, the Item ID, a timestamp, the event type, and/or other event data.
  • the event timestamps may be used to purge "old " event data as needed, with different types of events optionally being retained for longer time periods than others.
  • the event timestamps may also be used to give greater weight to relatively recent user activity — for purposes of generating item-to-item associations and/or for purposes generating personalized recommendations.
  • the Item ID is a generalized identifier and may identify any object whatsoever, and may include goods, services, web pages, syndicated feeds, search queries, and so forth.
  • item identifiers are unique values.
  • the uniform resource identifier (URl) of an object may be used as an item ID for that object.
  • the widget-content generation service retrieves item associations for the site 104, page 125, or other item being viewed by the user. This information may be retrieved from the item associations database 110.
  • the system 100 invokes the recommendation service U O to generate personalized item recommendations for the user. These recommendations may be generated as described in the above-mentioned patent. The similarities and recommendations to be generated may be limited to a particular relation or type of item based on the general preferences for this web site 104A, the parameters of the widget-generated request 120, and/or user- specific preferences.
  • the recommendation service 1 10 may generate the personalized recommendations by retrieving all or a selected portion of the end user's event history from the database of event history data 143 (optionally including the current event logged in block 316), and by accessing the item associations database 147 to look up items that are related to items in this event history. Association scores reflective of the strengths of particular item- to-item associations may also be retrieved from the item associations database 147, and may be used to rank the looked-up items based on overall degree of association to the target user ' s event history.
  • the widget-content generation service filters out any items that are not appropriate for display. The filtering may be based again upon the general preferences associated with the web site 104A (e.g., item category preferences or a black list), the parameters of the widget-generated request 120, user-specific preferences, and/or other criteria.
  • the widget-content generation service 140 generates widget content that encapsulates a top-ranked subset of the remaining items.
  • the widget content 126 may include item descriptions, item images, web links to places where the item may be purchased, and so forth. In the case of products represented in the electronic catalog of the content provider system 100, this content 126 may include or consist of catalog content
  • the widget content 126 may be obtained automatically by periodically generating thumbnail images of, and extracting descriptive text from, the associated web pages. Site owners may also be permitted to upload item descriptions and advertisement creatives to the system 100 for certain types of items.
  • This widget content may be returned to the web server 121 , which constructs a response 122 which includes the generated widget content 126.
  • This response is returned to the user computing device 106, whereupon the user-computing device 106 can display or otherwise make the content available to the end-user.
  • the widget content is preferably displayed as part of the web page 125 as shown in Figure 2, but may alternatively be displayed in a pop-up window, as an RSS news feed entry, or in a "pop-over" that appears when the user hovers the mouse pointer over a particular object or area of the page 125. In some embodiments the content is read aloud for the hearing impaired.
  • a variation of the process shown in Figure 3 may be used for users who have requested not to be tracked.
  • a privacy cookie is set on the user's computing device 106. If the system 100 receives a widget-generated request that includes such a privacy cookie, the system refrains from persistently logging the event in block 316, and refrains from setting any additional cookies on the user's device 106.
  • block 322 generation of personalized recommendations
  • the recommendations consist of items associated with the site or page currently being viewed.
  • the user can request not to be tracked by clicking on the "privacy information " link in the widget display area 126 and then selecting a "do not track " option on a privacy settings page of the system 100.
  • Widgets transmitted via HTTP for display on end-users " browsers are only one type of mechanism that may be used by the content provider system 100.
  • a content provider system may use browser toolbar plug-ins, browser extensions, and other types of display mechanisms, including mechanisms that enable ads and other types of content to be displayed on mobile devices.
  • each use case can be combined with any one or more of the others.
  • Display of related web sites on member site The operator of a member site 104 may wish to use the widget service to assist its users in locating other web sites of interest. To add such functionality, the web site operator may augment its home page with a widget that is configured to display outgoing links to other member web sites 104.
  • the widget configuration parameters in this example and the examples below may be incorporated into the widgets themselves, and/or may be stored in the site preferences database 141 of the content provider system 100.
  • the widget may cause the user's browser 124 to generate a request that identifies the member site 104.
  • the content provider system 100 may respond by accessing the item associations database 147 to look up a list of related web sites 104, and by returning a widget display object 126 with outgoing links to the home pages of these related sites. These links may optionally be displayed as, or in association with, thumbnail images of the corresponding home pages, as described above.
  • the list of related sites may be based on aggregated user browsing histories across many member sites 104.
  • the web site operator may configure the widget service such that the widget only displays links to other member sites 104 that pay referral fees.
  • the widget service may be configured to additionally display personalized web site recommendations to recognized users.
  • Member site registers to pay referral fees for incoming traffic.
  • the operator of a member site 104 (“the current site " ) may augment its home page with a widget that merely reports accesses to this page to content provider system 100. (Note that this widget need not display any content to an accessing user.)
  • the operator may also register to pay other member site operators for incoming referrals. While viewing other member sites that are behaviorally related to the current site, users may be presented with links to the current site. If a user follows such a link, the content provider system 100 charges the operator of the current site a referral fee, and pays a portion of this amount to the operator of the referring member site.
  • the operator of a member site 104 may wish to use the widget service solely to assist users in finding items of interest on this member site.
  • the member site may be a merchant site that hosts an electronic catalog of items, each of which is displayed on a respective item detail page of the member site.
  • the operator may add a widget to each item detail page, and configure this widget to display other catalog items that are behaviorally related to the item featured on the respective detail page.
  • the associated widget may cause the user's browser to send a request to the content provider system 100 identifying the item featured on the page.
  • the content provider system 100 may respond with a widget display object 126 that includes descriptions of, and internal links to detail pages for, the catalog items (of the member's site) that are the most closely (behaviorally) related to the featured item.
  • This set of related items may be based on aggregated detail-page viewing histories users of the member site 104.
  • This use case can be varied by replacing the catalog items with any other type of item that can be included in or represented on the member site 104 (e.g., news stories, blogs, blog entries, user profile pages, podcasts, video clips, etc.).
  • the web site operator adds widgets to item detail pages as described above, but configures the widgets to display personalized recommendations of the member site's catalog items.
  • the content provider system may personalize the selection of catalog items to present to the user. For instance, if this user has previously accessed member sites A and B, and these sites have a strong behavioral association with catalog item C in the member site's catalog, catalog item C may be selected to present — regardless of whether this user has previously accessed the current member site.
  • this example can be extended to any other type of item that can be included in or represented on the member site 104.
  • These associations may be used to incorporate both cross-site and intra-site catalog-item recommendations into the widget-enabled item detail pages of the participating sites 104.
  • the electronic catalogs hosted by the individual sites may, but need not, overlap with one another.
  • an electronic catalog hosted by the content provider system 100 may also be included in the collective electronic catalog.
  • the member web site 104 is enrolled in an affiliates program implemented by an e-commerce site of the content provider.
  • the operator of the member site has manually selected catalog items from the content provider's electronic catalog, and has provided outgoing links to the corresponding item detail pages of the e-commerce site.
  • the operator of this member site adds widgets to one or more web pages, and configures these widgets to display personalized recommendations of catalog items offered on the e- commerce site. Because the widgets display personalized recommendations of catalog items (and/or catalog items that are behaviorally related to the member site), users are more likely to click through to the e-commerce site and make a purchase.
  • the affiliates program need not be implemented entirely by the content provider system; for example, as is known in the art, certain tasks, such as tracking referra] events and calculating commissions, may be performed by a third party service provider that manages the affiliates programs of many e- commerce entities.
  • the content provider system 100 may segment/categorize end users that have not yet visited the e-commerce site. When one of these users first accesses the e-commerce site, the category or categories pre-assigned to this user may be used to select products to recommend and/or ads to display. For instance, if the user has previously accessed one or more electronics review sites 104 in the network, the e-commerce site may present the user with an ad or offer related to electronics products. As another example, the content provider system may use the data from member web sites 104 to determine the user's shopper type in order to present relevant content.
  • users who visit deal and coupon websites may be classified as "deal hunters, " users of gadget- related blog and news sites might be classified as “early adopters " , and users that tend to browse from one page or website to another to discover content may be a "browser” shopper type.
  • This information can then be used, potentially with other information such as spending information, by the e-commerce website to present the users with ads, offers or items based on the shopper type.
  • Site-to-category associations One variation of the preceding use case is to use the aggregated event data of many users to compute website-to-product-category associations. These associations may, for example, be based on correlations between accesses to member sites 104 and purchases from particular product categories. For instance, if a relatively large percentage of those who access member site A also purchase a gardening product from the e-commerce site, an association may be created between this member site 104 and the product category "gardening.' * Once computed, the website-to-product-category associations may be used to select the product category or categories most closely associated with the member site 104 or sites visited by a particular user. Ads or other content corresponding to such product category(ies) may then be targeted to the user.
  • content-based associations may alternatively be used.
  • the content provider system 100 could automatically extract characterizing keywords from the web pages of member sites, and generate keyword-to-product-category associations using aggregated event history data of many users. These keyword-to-product-category associations can then be used to map a particular member site 104 (e.g., one for which relatively little behavioral data exists) to a particular product category.
  • This use case can be extended to other types of item categories, such as blog categories, podcast categories, and news categories.
  • the content provider system 100 could additionally use the collected multi-site clickstream (event) data to compute similarities/associations between particular users. These associations may then be used (with appropriate consent by users) to help users find other users to add to their social networks.
  • a web site of the content provider may include an area that enables users to post personal profiles, and to receive recommendations of other users having similar browsing behaviors.
  • Social networking application discovery Social Networking applications, such as Facebook and Open Social applications, can be treated as another type of item. Developers of such applications could join the network as CPC participants to automatically promote their social networking applications to users of similar applications.
  • the widget service may be used by a newspaper publisher to increase the frequency and duration of customer visits to the newspaper ' s web site 104A.
  • use of the content provider system ' s widgets may provide the end user 106 with links to additional content of interest on the web site 104A (other web sites 104) based on the end-user's collective behavior on this and other member sites 104.
  • the content provider system may be configured to support the ability to provide recommendations of items such as news articles, including article associations, which are filtered by category. The filtered articles may be further ranked by popularity. In addition, sub- categories which further refine the category of the items may be supported.
  • Figure 2 provides an example of a news site so configured.
  • widget-provided content may encourage the end user 104 to read more content on the web site 104A or other web sites 104.
  • the newspaper may obtain more revenue with each page the end user selects.
  • raising the end user ' s awareness of additional content of interest may engender loyalty and drive the growth of the subscriber base.
  • the association mining component 145 may generate item association datasets or tables for different types of items and events. For example, a dataset of purchase-based item associations may be generated based on stored purchase event data, and a separate dataset of viewing-based item associations may be generated based on stored viewing event data.
  • the association mining algorithms may optionally use event timestamps to accord greater weight to more recent events, such that the detected associations strongly reflect current item preferences of users. The timestamps can also be used to accord greater weight to events made in close temporal proximity to each other; for example, two purchases made on the same day may be treated as more closely related than two purchases made on different days. Examples of association mining methods that maybe used are described in the following patent references, the disclosures of which are hereby incorporated by reference: U.S. Pat. Nos. 6,912,505; U.S. Appl. No. 10/766,368, filed January 28, 2004; and U.S. Appl. No. 10/864,288, filed June 9, 2004.
  • FIG. 4 An example process for generating item association mappings is illustrated in Figure 4.
  • the process selects a source item type and a target item type. For example, to generate a mapping that maps web sites 104 to related products, the source item type would be '"web site " and the target item type would be "product. " Different datasets may be generated for different combinations of these two parameters (e.g., website to website, website to product, website to product category, keyword to product category, tag to product, page to page, page to product, etc.).
  • the process retrieves the event histories of some or all users, where an event history is a record of at least some of the events attributed to a particular user.
  • a given event history may reflect a user's accesses to many different web sites, including both member sites 104 and a site operated by the content provider. In some cases, multiple event histories may exists for the same user, each of which may be analyzed independently of the others.
  • the process identifies ⁇ source item, target item> pairs that co-occur in a threshold number of event histories. Item pairs that do not satisfy a particular constraint may be ignored during this process; for instance, when generating movie-to-movie mappings, movie pairs with dissimilar MPAA ratings may be ignored.
  • the process generates an association score for each ⁇ source, target> pair that reflects the frequency of co-occurrence of the source and target items in the event histories. Various other criteria may also be taken into consideration in generating such scores; for instance, a boost may be given to higher-profit items.
  • the process selects the top N (e.g., twenty) associated target items, ranked by association score, and stores the resulting list of target items and scores in a mapping table in the database 147.
  • associations may be mined using a source event type that differs from a target event type. For example, by using a source event type of "view” and a destination event type of "purchase,” associations may be generated of the form “people who viewed this item also purchased the following items.” For instance, a dataset may be generated that associates accesses to member sites with purchases of particular products or rentals of particular DVDs/movies. VI. Web site registration and widget customization ( Figure 5)
  • a web site operator wishing to customize its site 104 with one or more widgets may first be required to register with the content provider system 100 to use the widget service.
  • the content provider system could publish a generalized widget that any operator may use on its web site 104 without registration.
  • Figure 5 illustrates one embodiment of a method 250 by which a web site operator 252 may register with, and configure its web site to interoperate with, the content provider system 100.
  • This particular method is tailored for relatively advanced web site operators, and includes steps that may be omitted. For instance, although a web services interface is exposed to site owner/operator in this example, all of the features described above can be implemented without exposing a web services interface to any of the site owners,
  • the web site operator 252 creates an account with the content provider system 100.
  • a web portal or web site may be provided for this purpose, such as that illustrated at 160 of Figure 1.
  • the web site operator 252 may provide various types of information such as an email address, a web site URL, a web site classification, and account and/or payment information.
  • the web site operator 252 optionally receives a Web Services Access Key ID and a password from the system 100, such as by accessing a personalized account page.
  • the Web Services Access Key ID and password may be used to sign widget requests for authentication.
  • the web site operator 252 may be given a unique member ID to be included in widget-generated requests.
  • the web site operator may retrieve some or all of the following: widget code, a WSDL file which describes the content provider system's interface to widgets, and a WSDL file which describes the content provider system's interface for member web sites 104.
  • the WSDL files may be omitted, particularly in embodiments or use case scenarios in which a web services interface is not exposed to the web site operators.
  • the web site operator 252 may use the widget code provided or the WSDL interface description to generate client side code on the web site 104 using well known methods. For example, the web site operator may use a commercially available toolkit to generate the widget code from the WSDL file. This client side code implements a client side API implementation 214.
  • the content provider system 100 may, via an interactive widget generation tool, generate widget code that the site owner can cut-and-paste into one or more HTML files.
  • the web site operator 252 may also be given access to a client library 216 which includes code for common API calls.
  • the client library 216 provides a bulk upload interface for at least two of the API calls, Set Stop List and Record Event.
  • Other types of tools such as a getting started guide, a developer guide, and/or online documentation, may additionally be made available.
  • the web site operator 252 optionally uses the bulk upload API to provide preexisting end user history data (event data) to the content provider system 100.
  • event data End user history data
  • the web site operator creates and then uploads a file containing event data (User IDs, event types, item IDs and types, and event timestamps) describing previously recorded events. Uploading such previously collected data allows the content provider system 100 to more rapidly detect intra- site associations between particular items on the web site operator ' s site 104.
  • a web site operator may use the content provider system 100 to specify various widget-related preferences, such as the type or types of behavioral content to be displayed on its web pages. These preferences may be specified via the widget configuration portal 160 ( Figure 1), and may be stored in an associated database 141 and/or incorporated into the widget code.
  • the content provider system 100 may look up some or all of the site owner's preferences from the database 141, and use these preferences to select the particular type or types of behavioral content to display.
  • the system 100 may allow a web site operator to specify different widget customization preferences for different pages of its web site 104. This may be accomplished by having a configuration page for each widget, or by having a system by which widget customizations are inherited hierarchically or shared.
  • Widget display attributes Allows the operator to specify the size, color, and/or display format used for displaying widget content 126.
  • the widget may display descriptions of items that are behaviorally associated with the page, site, or other item being viewed.
  • the site owner may also have the option to limit the display to related items within its own site 104.
  • the widget content may include personalized recommendations of items.
  • the web site operator may also be able to specify the type or types of behavioral events (views, purchases, etc.) to be used to generate the recommendations.
  • Item Categories Allows the web site operator to specify one or more categories of items that are or are not to be displayed (e.g., web sites, podcasts, products, videos, books, etc.).
  • the widget content may include inter-site links to other member sites 104.
  • the web site operator may, in some embodiments, opt to only display links to member sites 104 that offer a referral fee.
  • Pay for incoming links or traffic This option may be selected if the site owner is willing to pay operators of other member sites 104 for displaying links to the current site. A site owner that selects this option implicitly elects to expose its site on other member sites.
  • the payments may be based on a cost-per-click (CPC) model, pay-per-impression model, pay-per-transaction model, or any other revenue model.
  • CPC cost-per-click
  • a CPC model is used with a fixed CPC amount that applies to all member sites 104.
  • Member site blacklist Allows the operator to provide a list of member sites 104 to which no outbound links are to be displayed on the current site. For example, the operator could prefer not to provide links to competitors or sites with objectionable content.
  • the system 100 may also provide an option to create a white list.
  • the system may also support the ability for the operator to specify entire categories of member sites to be included or excluded.
  • the widget content 126 will include personalized and/or non-personalized recommendations of catalog items available on the content provider's site. When a user clicks on such a product and then makes a purchase, the content provider will pay the site owner a commission.
  • the affiliates program may otherwise be implemented as described in U.S. Pat. No. 6,029,141 , the entire disclosure of which is hereby incorporated by reference. VlI. Widget-based event reporting and storage
  • a widget-generated request from a user ' s browser to the content provider system 100 may include a specific API call which directs the content provider system 100 to store the event. Alternatively, the widget may simply report event data, and the content provider system 100 may determine whether or not to store the event.
  • the event data may be reported via a dedicated request, or as part of a request for widget content 126.
  • the types of user-generated events that may be reported by the widgets and recorded by the content provider system 100 may include, for example, viewing items, purchasing items, renting items, downloading items, placing items in an electronic shopping cart, rating items, submitting comments on items, and keyword searches. Supplementary information regarding each such event may also be reported, such the type of the event, an identifier of the user (which may be a session ID if the user is unknown or unrecognized), and an identifier of the item.
  • the web site 104A may dynamically "fill in " parameters such as an API call, item identifiers, and so forth.
  • the widget once instantiated on an end- user's device 106, may determine parameters from the context of the web page 125.
  • the widget may do so, for example, by dynamically examining the web page's document object model. For example, the widget could be set to choose the text in the largest header of the web page to serve as an item identifier and the item type identifier could be inferred from a hierarchical analysis of the page ' s navigation options.
  • information which is not explicitly reported by the widget may be inferred by the content provider system 100.
  • the content provider system may use the referring URl (Uniform Resource Identifier), transmitted as part of the widget-generated request 120, as the item identifier when the request does not explicitly include an item identifier.
  • URl Uniform Resource Identifier
  • a web services interface that may implemented by the system 100, including example API calls, parameters and operations that may be used to record widget-reported events, and to retrieve behavioral content are described in U.S. Appl. No. 1 1/694,758, referenced above.
  • this web services interface is used internally to the system 100 without being exposed to site owners. For instance, when a particular server of the content provider system 100 receives a widget-generated request, this server may use the web services interface to generate one or more corresponding API calls to one or more internal services. Alternatively, as mentioned above, some or all details of the web services interface may be exposed to outside entities such that API calls can be made directly by the widgets.
  • the content provider system 100 may, in some embodiments, enable registered end users to specify one or more types of widget-related preferences. For example, end-users may be able to set a privacy option in which the content provider system 100 refrains from persistently recording the user's actions on member sites 104.
  • Other settings may include one or more of the following: (a) whether to be greeted by name by widgets on member sites, (b) types of items to be displayed, (c) whether to be presented with personalized recommendations.
  • the user's preference settings may be encoded in a cookie that is written to the end-user ' s computing device 106 and returned with each widget- generated request.
  • FIG. 6 illustrates an embodiment in which the widget content display area 126 includes content supplied by other users who have viewed the site.
  • the content provider system is providing recommendations 132 from other end-users with respect to the current web site 104A and web page 125.
  • Such a system could be implemented by adding a new event type "Recommend," wherein end-users can recommend a web site 104A or item.
  • the content provider system 100 may then subsequently create widget content that informs other users that the end-user 106 has recommended the particular web site or page.
  • the content provider system 100 may provide similarities-like mappings of end-users to other end-users, wherein an end-user 106 will see the recommendations 132 of other users who have previously recommended the same (or similar) items as the end-user.
  • Figure 7 illustrates a method that may be implemented by the content provider system to implement cost-per-click (CPC) referral model.
  • the drawing illustrates the steps that may be performed by the system 100 when a user clicks on a widget- displayed link from one member site 140 to another member site 140.
  • Other parameters (not shown), such as Item ID, may also be included, and the request may be accompanied by a tracking cookie that identifies the user.
  • a web server 121 of the content provider system 100 upon receipt of a redirect request from the user's browser 124, redirects the browser to the target URL. Such redirection may be accomplished, as is known in the art, through a response which includes html meta tag redirection, 301 redirection, or similar mechanisms.
  • the web server 101 records the redirection/item selection event in the event history data repository as part of the user ' s event history.
  • the content provider system may attempt to account for the redirection event.
  • the accounting component 130 may retrieve account preferences from the repository 141. If either the target or the source is not CPC-enabled, the accounting component 130 may cause a notification to be sent to the non-CPC enabled web site operator (not shown). The notification may include an estimate as to the amount of revenue that may be generated by the non-CPC enabled web site operator if it were to enable CPC 7 and may include instructions for how to enable CPC accounting. In other embodiments, as shown in Figure 7, if either the source or the target are not CPC-enabled, the accounting component may simply do nothing.
  • the accounting mechanism may debit or credit the source's account and may debit or credit a greater or lesser amount to the target's account. For example, for each redirection, the content provider system may deduct $0.30 from the target's account and credit $0.27 to the source's account. In such a system, the content provider system may be described as acting as an intermediary between the source and target, wherein the target pays $0.27 per redirect to the source (as payment for traffic) and $0.03 per redirect to the content provider system (as a usage fee).
  • the content provider system may credit $0.10 to the target (as a stipend for providing content) while debiting $0.15 from the source (as a fee for providing content on the source ' s web page that an end-user has found interesting enough to click- through).
  • a system may be advantageous for some source web sites if, for example, the web site has an additional revenue generation system (other than the content provider system) that pays for page views of the source.
  • the accounting mechanism may credit or debit a usage fee (or stipend) to the web site operator's account.
  • the content provider system may charge $0.10 the web site operator for each commonly-owned redirection as a fee for usage of the content provider system ' s recommendations, widgets, repositories, and so forth.
  • the content provider system may credit the web site operator's account $0.10 for each commonly-owned redirection as a stipend for using the content provider system.
  • a stipend may aid the owner of the content provider system in increasing usage and penetration of the content provider system.
  • the content provider system may debit or credit differing amounts to different operators, types of web sites and items, time of day, etc.
  • the content provider system 100 may provide commission-based revenue generation, wherein a target web site operator agrees to pay a commission to the content provider when a user that has been redirected to the target through a widget-displayed link subsequently performs an action (such as making a purchase) on the target web site.
  • the commission may be set to occur only if the user purchases an item within a certain time period of being redirected.
  • the accounting system 130 may implement tracking of commission-based accounting by polling the event history repository 143 for an event history of the present user that satisfies the commission pattern. For example, if a target has enabled purchase-based commissions for a given item, whenever a widget generates a request indicating that a given user has purchased that item, the accounting system may inquire into the event data repository 143 to determine if that user was previously directed to the target item or web page by clicking widget-generated content. In another embodiment, the widget may transmit session identifiers, and a commission accounting event will be generated by the accounting component 130 if the session history of the identifier indicates a redirect to an item and a subsequent purchase.
  • the content provider system may be configured to track multiple redirections across multiple sites in the same "browsing session" of an end-user. As an example of such "transitive" redirects, if an end-user is redirected from site A to site B, and then subsequently redirected from site B to site C, and then purchases an item on site C, the content provider system may generate commission events for site A and for site B. In some embodiments, site C will be debited a commission amount for both site A and B. In other embodiments, Site C will be debited a commission for site B, and site B will be debited a commission for site A.
  • the event histories and data relied upon by the accounting system need not be obtained solely from widgets.
  • the content provider system 100 may allow operators to self-report such data through the API, or data may be obtained from browser toolbar installations.
  • User clickstream data may also be obtained from internet service providers and, generally, any entity or program with access to such data.
  • An affiliates program may be implemented by providing additional customization options to web site operators through the mechanisms described above.
  • the affiliates program may be implemented in connection with one or more web sites operated by the content provider, and/or one or more web sites operated by network members.
  • the content provider website is a merchant website that offers products for sale, rental, download or other consumption in an electronic catalog.
  • a program when a user clicks on a widget-displayed link on a member site 104 and then completes a transaction (e.g., makes a purchase) on the destination site, the operator of the destination site pays a fee (e.g. a percentage-based commission, a flat fee, etc.) to the member site ' s operator.
  • a fee e.g. a percentage-based commission, a flat fee, etc.
  • An operator wishing to enroll as an affiliate may be presented with a list of potential merchant sites. If the operator chooses one (or more) merchant sites, the operator ' s web site (or at least a given widget) then becomes an affiliate of the merchant site. Thereafter, the so-configured widgets of the content provider system 100 may preferentially provide recommendations to items sold by the merchant site. The operator may be able to set a custom affinity level, whereby the operator determines whether all, some, or most of the recommendations shown by a given widget will be to a given merchant system. The recommendations may optionally be limited to a subset of particular product categories, perhaps those corresponding to a theme of the affiliate site.
  • the described fees paid to the operator of the member site 104 could be triggered for any activity resulting in connection with any remotely accessed content.
  • the content may be ad supported information or services, such as news articles, search engine results, web-based software applications, social networking profiles or blog entries.
  • the fee may be paid to the member web site operator dependent upon, for example, the referred user performing an activity that generates ad or other revenue (or provides any benefit at all) for the web site operated by the content provider 100 (e.g. clicking on or viewing an advertisement, opening an account, etc.).
  • the content provider system 100 may operate a dating web site that generates revenue through user subscriptions and advertisements. Using the systems described above, it is determined that users browsing pages related to snow skiing and food related pages on member websites 104 also browsed a dating profile on the content provider system 100 of woman who is a professional chef and ski enthusiast. Accordingly, a link may be provided within widget display 126 to the woman's dating profile when the ski and food related pages are displayed by member sites 104.
  • the content provider system 100 may host an Internet search web site that generates revenue, for example, by providing pay-per-click advertisements in conjunction with search results. According to this example, using the systems described above, it is determined that users browsing pages on member sites 104 related to snow skiing and food related pages on member websites 104 also searched for the term "ski resorts" on the content provider system 100.
  • a link may be provided within the widget -displayed content 126 to a page displaying the search results for the term "ski resorts" when the ski and food related pages are displayed by member sites 104. If the user follows this link to the search results provided by the content provider system 100, fees may be paid to the operator of the referring web site 104 based on a variety of subsequent activities such as the user actually clicking on one or more of the pay-per-click advertising, among many other possibilities.
  • the search results can be dynamically updated to provide current search results upon the user's selection of the widget link, while in other embodiments the exact search results that were associated with the content on web sites 104 may be presented to the user.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

L'invention concerne un système fournisseur de contenu interagissant avec un réseau de sites Web pour fournir aux utilisateurs un contenu selon un comportement. Les opérateurs des sites Web ajoutent des gadgets logiciels aux pages Web sélectionnées de leur site, qui indiquent des événements produits par un utilisateur au système fournisseur de contenu. Le système fournisseur de contenu analyse les événements indiqués pour détecter des associations comportementales entre des sites Web particuliers, des pages Web, des produits et d'autres types d'articles. Les gadgets logiciels peuvent aussi récupérer et afficher un contenu selon un comportement qui a pour base ces associations comportementales article par article. Par exemple, lorsqu'un utilisateur visionne une page Web particulière, un gadget logiciel situé sur cette page peut demander et afficher des descriptions d'autres sites ou pages, ou des liens vers ceux-ci, qui ont (a) un rapport du point de vue du comportement avec la page visionnée ou un article représenté sur celle-ci, et/ou (b) un rapport du point de vue du comportement avec les activités de navigation antérieures de l'utilisateur particulier.
EP08868561A 2007-12-28 2008-12-18 Détection et exposition assistées par un gadget logiciel d'associations comportementales Withdrawn EP2235858A4 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11/966,802 US20090172021A1 (en) 2007-12-28 2007-12-28 Recommendations based on actions performed on multiple remote servers
US11/966,780 US20090171754A1 (en) 2007-12-28 2007-12-28 Widget-assisted detection and exposure of cross-site behavioral associations
US11/966,817 US20090171968A1 (en) 2007-12-28 2007-12-28 Widget-assisted content personalization based on user behaviors tracked across multiple web sites
PCT/US2008/087536 WO2009086014A1 (fr) 2007-12-28 2008-12-18 Détection et exposition assistées par un gadget logiciel d'associations comportementales

Publications (2)

Publication Number Publication Date
EP2235858A1 true EP2235858A1 (fr) 2010-10-06
EP2235858A4 EP2235858A4 (fr) 2011-12-07

Family

ID=40824668

Family Applications (1)

Application Number Title Priority Date Filing Date
EP08868561A Withdrawn EP2235858A4 (fr) 2007-12-28 2008-12-18 Détection et exposition assistées par un gadget logiciel d'associations comportementales

Country Status (3)

Country Link
EP (1) EP2235858A4 (fr)
JP (1) JP2011508925A (fr)
WO (1) WO2009086014A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9723463B2 (en) 2010-10-25 2017-08-01 Nokia Technologies Oy Method and apparatus for a device identifier based solution for user identification

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250145B2 (en) 2010-04-21 2012-08-21 Facebook, Inc. Personalizing a web page outside of a social networking system with content from the social networking system
US8769434B2 (en) 2010-08-11 2014-07-01 Nike, Inc. Intelligent display of information in a user interface
CN102810193B (zh) * 2011-06-02 2017-02-22 阿里巴巴集团控股有限公司 一种关联产品信息的显示方法及系统
US8849721B2 (en) 2011-09-21 2014-09-30 Facebook, Inc. Structured objects and actions on a social networking system
US20130139073A1 (en) * 2011-11-09 2013-05-30 Revionics Inc. System and method for changing functionalities of websites using widgets
US8326831B1 (en) * 2011-12-11 2012-12-04 Microsoft Corporation Persistent contextual searches
JP5890539B2 (ja) * 2012-02-22 2016-03-22 ノキア テクノロジーズ オーユー 予測に基づくサービスへのアクセス
US10567845B2 (en) 2013-06-12 2020-02-18 Google Llc Embeddable media content search widget
US9805406B2 (en) * 2013-06-12 2017-10-31 Google Inc. Embeddable media content search widget
CN104850370B (zh) 2014-02-17 2019-01-15 阿里巴巴集团控股有限公司 在背景显示区域显示订单信息的方法及装置
EP3082053A3 (fr) * 2016-08-04 2017-02-15 Clickky Group Ltd. Système de distribution de trafic et de validation de clic
KR101964450B1 (ko) * 2018-02-14 2019-04-01 (주)위세아이텍 기계학습 기반 공공데이터 추천을 위한 로그 교환 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317722B1 (en) * 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
US7165069B1 (en) * 1999-06-28 2007-01-16 Alexa Internet Analysis of search activities of users to identify related network sites
US6889250B2 (en) * 2000-03-01 2005-05-03 Amazon.Com, Inc. Method and system for information exchange between users of different web pages
JP2001283083A (ja) * 2000-03-30 2001-10-12 Fan Communications Inc ネットワーク広告配信管理システムと管理サイト装置
JP3912975B2 (ja) * 2000-11-27 2007-05-09 富士通株式会社 商品情報提供方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
No further relevant documents disclosed *
See also references of WO2009086014A1 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9723463B2 (en) 2010-10-25 2017-08-01 Nokia Technologies Oy Method and apparatus for a device identifier based solution for user identification

Also Published As

Publication number Publication date
WO2009086014A1 (fr) 2009-07-09
EP2235858A4 (fr) 2011-12-07
JP2011508925A (ja) 2011-03-17

Similar Documents

Publication Publication Date Title
US8271878B2 (en) Behavior-based selection of items to present on affiliate sites
US20090172021A1 (en) Recommendations based on actions performed on multiple remote servers
US20090171968A1 (en) Widget-assisted content personalization based on user behaviors tracked across multiple web sites
US20090171754A1 (en) Widget-assisted detection and exposure of cross-site behavioral associations
US20090171755A1 (en) Behavior-based generation of site-to-site referrals
US9934510B2 (en) Architecture for distribution of advertising content and change propagation
EP2235858A1 (fr) Détection et exposition assistées par un gadget logiciel d'associations comportementales
KR101312144B1 (ko) 디지털 콘텐츠 객체용 상호접속 위치 배포 메커니즘
US10354337B2 (en) Product content social marketplace catalog
US8073747B2 (en) Outsourced generation of behavior-based content
US8504441B2 (en) Services for providing item association data
US8768772B2 (en) System and method for selecting advertising in a social bookmarking system
US8473338B2 (en) Methods and systems to facilitate keyword bid arbitrage with multiple advertisement placement providers
US10043191B2 (en) System and method for online product promotion
WO2008121737A1 (fr) Service pour fournir des recommandations concernant un article
US20110125581A1 (en) System and method for improving e-commerce with on-demand advertising
WO2002037290A1 (fr) Systeme de publicite par banniere et procede permettant de gerer une publicite par banniere

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20100721

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA MK RS

DAX Request for extension of the european patent (deleted)
A4 Supplementary search report drawn up and despatched

Effective date: 20111109

17Q First examination report despatched

Effective date: 20160301

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20160712