1. Field of the Invention
This invention relates broadly to systems for deploying advertisements over the World Wide Web. More particularly, this invention relates to methods and apparatus for serving banner and video advertisements over the World Wide Web.
2. State of the Art
An ad server is a tool used by ad agencies and/or clients to facilitate ad trafficking and to provide reporting on ad performance. The primary benefits of the ad server are threefold. First, rather than distribute copies of advertising content to publishers, agencies/clients can send code to publishers that calls up the creative content directly from the ad server each time an ad is scheduled to run. The agency loads the creative content to the ad server once and can modify rotations or add new units on the fly without needing to re-contact the publishers. Second, the ad server provides a wealth of data including impressions served, ads clicked, click-through rate (CTR) and cost-per-click (CPC). The ad server typically has the ability to provide performance against post-click activities such as sales, leads, downloads, or any other site based action the advertiser may want to measure. Furthermore, some ad servers can associate these post-click activities not only with site visitors who came via click, but also with site visitors who were exposed to the ads, but did not click. This is commonly known as view-through data. Third, the ad server provides a consistent counting methodology across the entire campaign enabling the agency to gain an “apples to apples” comparison of performance across the entire media schedule.
Publishing entities are supplied with an ad tag, which is code that is embedded in a web page. The ad tag embedded in the web page sends an “ad call” request to the ad server. The ad server receives the “ad call” request and selects advertising content based upon one or more targeting schemes, technical criteria and/or possibly other criteria, and then returns the selected advertising content (or a reference thereto) to the Internet user where it is rendered and displayed. The process of selecting advertising content in response to an “ad call” request and returning the selected advertising content (or reference thereto) is called ad rotation.
Current systems enable advertisers and clients to specify particular advertising content that is to be excluded from running with the web sites of particular publishers (or on particular channels of a given publisher). This is advantageous in that it affords advertisers and brand managers control over the web content that is viewed alongside their advertising content. However, it is inefficient and difficult to use because the advertisers and brand managers must manually review the web content that can potentially be displayed alongside their advertising content, which is an unmanageable task for dynamic sites and/or for large and diverse advertising campaigns.
It is therefore an object of the invention to provide a system that manages the advertising content of advertisers and brand managers and that automatically monitors the web content that can potentially be displayed alongside such advertising content.
It is another object of the invention to provide such a system that enables the advertisers and brand managers to review the web content that can potentially be displayed alongside such advertising content and to specify that particular advertising content is to be excluded from accompanying particular publisher web content.
It is also an object of the present invention to provide advertisers and brand managers control over the web content that is viewed alongside their advertising content in a manner that is suitable for dynamic sites and/or for large and diverse advertising campaigns.
In accord with these objects, which will be discussed in detail below, an ad server system of the present invention includes a web-accessible platform that includes means for automatically monitoring Publisher web content items that can potentially be displayed alongside advertising content of one or more Advertiser Users.
The web-accessible platform also includes logic for presenting a graphical user interface to an Advertiser User that enables the Advertiser User to review a list of Campaigns of the Advertiser User and perform a variety of tasks related thereto. The graphical user interface also provides for real-time tracking and reporting of Campaigns as well as for individual Ads of the Advertising User.
The web-accessible platform also includes logic for presenting a graphical user interface to the Advertiser User that enables the Advertiser User to create and manage Campaigns of the Advertising User.
The web-accessible platform also includes logic for presenting a graphical user interface to the Advertiser User that enables the Advertiser User to create and managing one or more Outlets that are assigned to one or more Campaigns of the Advertiser User. An Outlet specifies one or more Publisher Web Site(s) as well as one ore more Categories.
The web-accessible platform also includes logic for presenting a graphical user interface to the Advertiser User that enables the Advertiser User to create and manage one or more Ad Rotations for the Advertiser User. An Ad Rotation assigns one or more Ads of the Advertiser User to one or more Outlets.
The web-accessible platform also includes logic for presenting a graphical user interface to the Advertiser User that enables the Advertiser User to review the web content that can potentially be displayed alongside the Ads of the Advertiser User and specify Ad Filter data corresponding to a particular Ad and one or more web content items. The Ad Filter data controls whether the particular Ad is excluded from accompanying the corresponding one or more web content items in the ad serving process. The Ad Filter data preferably allows the Advertiser User to include or exclude a particular digital content item or a group of digital content items from accompanying a particular Ad.
The web-accessible platform also includes an interface between one or more Ad Server Engines and one or more data repositories storing the information generated by the platform. The interface retrieves relevant information from these repositories as part of the ad serving process carried out by the Ad Server Engine(s). The Ad Server Engine identifies Ad Filter data corresponding to requested web content and utilizes such Ad Filter data to exclude certain Ads from an ad rotation as dictated by the corresponding Ad Filter data.
It will be appreciated that the ad serving system and corresponding methodology of the present invention provides for automatic monitoring of the web content that can potentially be displayed alongside advertising content, and enables advertisers and brand managers to select and review one or more web content items that can accompany an advertisement as well as create ad filter data corresponding to such web content items if desired. The ad filter data provides brand security to the advertiser/brand manager by enabling control over the ad serving process with respect to digital content items of a Publisher's web site(s) preferably on a group basis and an individual basis.
Additional objects and advantages of the invention will become apparent to those skilled in the art upon reference to the detailed description taken in conjunction with the provided figures.
As used herein, the term “Ad” or “Ads” means digital content that carries information for advertising, promoting or otherwise conveying information about products or services of a commercial entity or a government entity or other entity. Ads can include a banner-type advertisement, a gateway-type advertisement, an interstitial-type advertisement, a bumper-type advertisement and other suitable forms of information. A banner-type advertisement embeds an advertisement into a web page. It is intended to attract traffic to a website by linking them to the web site of the advertiser. The advertisement is constructed from an image (GIF, JPEG, PNG), JavaScript program or multimedia object employing technologies such as Java, Shockwave or Flash, often employing animation or sound to maximize presence. Images are usually in a high-aspect ratio shape (i.e. either wide and short, or tall and narrow) hence the reference to banners. A gateway-type advertisement is played before program content. Gateway-type advertisements are often popular on news web sites where a short clip or promo might play prior to video program content. Interstitial-type advertisements are played between program entries in a playlist. For example, on a news web site, interstitial advertisements can be inserted between top news stories. A bumper-type advertisement is appended to the end of program content.
As used herein, the term “User” means an operator or application that accesses the Ad Serving Platform of the present invention under a certain type.
As used herein, the “Advertiser User” is a User who owns and/or controls and/or manages Ads, and wants the Ads to be displayed on Publisher Web Sites. Advertiser Users create and manage Campaigns in the Ad Serving Platform of the present invention. There can be one or more Advertiser Users that can access and/or manage a given Campaign (or a given group of Campaigns). Advertising Users can be one or more authorized users of ad agencies, brand management entities, publishers or other operators wishing to deploy Ads.
As used herein, “Publisher” means an entity who owns and/or controls and/or manages one or more web sites (which are referred to herein as Publisher Web Sites), and wants Ads to be displayed on such Publisher Web Site(s).
As used herein, an “Ad Tag” means code that is embedded in web content. The embedded Ad Tag is used to generate and send an Ad Call request to the Ad Serving Platform of the present invention. As described below in more detail, the Ad Call request includes an identifier (e.g., URL) for the source web content (i.e., the web content with the Ad Tag embedded therein). The Ad Call request is received by the Ad Serving Platform of the present invention and processed to select advertising content based upon selection criteria as described herein. The Ad Serving Platform returns to the requester a reference to the selected advertising content, where it is used to retrieve the selected advertisement from one or more content sources, and then rendered/played in a designated manner accompanying the requested source web content. Alternatively, the Ad Serving Platform can fetch the selected advertising content from the one or more content sources and supply the selected advertising content to the requester for rendering/playback in a designated manner accompanying the requested source web content.
As used herein, the term “Campaign” means a collection of information relating to the needs of an Advertiser User, the information including advertising content represented by one or more Ads and possibly other information such as start and end dates, targeting criteria that relates to a designated group of Internet users, and costs (e.g., Cost Per Click (CPC), Cost Per Impression (CPM), Cost Per Action (CPA), Cost Per Lead (CPL)).
As used herein, the term “Categories” means contextual areas that are typical across Publishers' Web Sites and can be hierarchical in nature.
As used herein, the term “Outlet” means data specifying one or more Publisher Web Site(s) as well as one or more Categories. An Outlet is designated by an Advertiser User. An Outlet is assigned to a Campaign to specify the Publisher Web Site(s) and Category(ies) therein that can be targeted by the advertising content of the Campaign.
As used herein, the term “Ad Rotation” means data assigning one or more Ads to one or more Outlets. As Outlets are assigned to Campaigns, the Ad Rotation specifies the advertising content assigned to Campaigns of Advertiser Users.
As used herein, the term “Ad Filter” means data associated with a particular Ad of an Advertiser User and one or more particular digital content items of a Publisher Web Site. The Ad Filter specifies whether or not the particular Ad can accompany the particular digital content item. The Ad Filter is associated with a particular Ad of an Advertiser User and one or more of such digital content items. The Ad Filter data preferably specifies whether or not the particular Ad can accompany the associated digital content items on a group basis and an individual basis. The Ad Filter is specified by the Advertiser User.
Turning now to
The web server 105 enables login and authentication of the Advertiser User via interaction with the system 103. Such login and authentication can utilize password-based authentication, operating system-based authentication (e.g., NTLM or Kerberos); services-based authentication (e.g., Microsoft Passport authentication), certificate-based authentication, or any other authentication scheme. Once a user session has been authorized, the web server 105 communicates with an Application Server 109 to build dynamic web page(s) based on data supplied by the Application Server 109, serve the dynamic web page(s) to the Advertiser User web browser application environment, and forward data supplied by the Advertiser User web browser application environment to the Application Server 109 as needed. The web server 105 may be realized by any commercially available HTTP server.
The Application Server 109 includes logic for presenting a graphical user interface to the Advertiser User that enables the Advertiser User to review a list of Campaigns of the Advertiser User and perform a variety of tasks related thereto as described below in more detail. Preferably, the Application Server 109 employs a commercially-available software framework, such as the WebLogic Platform commercially available from BEA Systems of San Jose, Calif., the Websphere Application Server commercially available from IBM, Windows Server Systems commercially available from Microsoft Corporation of Redmond, Wash., the SUN Java System Application Server commercially available from Sun Microsystems of Santa Clara, Calif., or the Oracle Application Server commercially available from Oracle Corporation of Redwood Shores, Calif.
The service platform 101 includes a block 112 that access data from one or more Publisher content sources 14 as shown. The accessed data includes the following:
Block 116 of the platform 101 processes the data accessed in block 112 to assign one or more Categories to each given URL based upon the meta-data associated with the given URL. The Category assignment processing can be accomplished in many different ways depending on the name space of the subject descriptors of the meta-data and the name space of the Categories of platform 101 and the relationships therebetween. In the event that the subject descriptors and the Categories utilize the same name space, the assignment can be carried out by a simple one-to-one mapping operation. If the subject descriptors and the Categories utilize different name spaces, a more complex mapping operation (such as a rule-based mapping function) is required. As defined above, the Categories of the platform 101 represent contextual areas that are typical across Publishers' Web Sites and preferably are hierarchical in nature as depicted in the example of
Block 118 adds to database 120 (labeled “Publisher Content Reference Repository) the URL(s) of the accessed data, the identifiers for each Category assigned to each given URL in block 116, the title for the digital content item referenced by each given URL (from the meta-data of the uploaded data), and the thumbnail image of the digital content item referenced by each given URL, if any (from the meta-data of the uploaded data). As described below in more detail, the data stored in the Publisher Content Reference repository 120 enables Advertiser Users of the platform 101 to select and review one or more digital content items that can accompany an Ad as dictated by Ad Rotations managed and controlled by the platform 101, and then create Ad Filter data corresponding thereto if desired. The review process enables the Advertiser User to screen the digital content item(s) hat can accompany an Ad as dictated by Ad Rotations managed and controlled by the platform 101. The Ad Filter data provides brand security to the Advertiser User by enabling control over the ad serving process with respect to digital content items of a Publisher's Web Site(s) preferably on a group basis and an individual basis as described below in more detail.
The Application Server 109 includes logic for presenting a graphical user interface to the Advertiser User that enables the Advertiser User to review a list of Campaigns of the Advertiser User and perform a variety of tasks related thereto. The graphical user interface also cooperates with an ad-tracking module (not shown) that records key metrics such as, for example, impressions, reach, user interaction and time spent. The ad-tracking module collects tracking data in real time and formats the results in real-time such the results are accessible by the Advertising User in real-time on the graphical user interface. The results are preferably presented to the Advertising User for Campaigns as well as for individual Ads of the Advertising User. An exemplary graphical user interface that presents a list of Campaigns and the metrics and results related thereto is shown in
One of the tasks (labeled “i)” in
Another task (labeled “ii)” in
Another task (labeled “iii) in
Another task (labeled “iv)” in
The Application Server 109 also retrieves from the Publisher Content Reference Repository 20 the title and thumbnail (if any) associated with each given matching digital content item. The Application Server then presents a GUI allowing the Advertiser User to access and review (e.g. view or play) such digital content items and specify Ad Filter data for one or more of such digital content items if desired. When selected for view/playback, the Application Server 109 uses the URL reference(s) of the matching digital content item(s) to retrieve such item(s) from the appropriate Publisher Content Source 114. Alternatively, the URL reference(s) of the matching digital content item(s) can be used to prefetch such item(s) from the appropriate Publisher Content Source 114 prior to user selection of viewing/playback. The GUI preferably presents the digital content items in a list form, including the title and the thumbnail (if available) of each digital content item as well as a view/play widget associated therewith. The Ad Filter preferably specifies whether or not the particular Ad can accompany the associated digital content items on a group basis or on an individual basis. The Application Server 109 generates and stores in a database 124 (labeled “Ad Filter Repository”) Ad Filter data corresponding to the Ad Filter input specified by the Adverting User. An exemplary user interface for selection and review of digital content item(s) as well as the specification of an Ad Filter for one or more of such digital content items is shown in
In the preferred embodiment, the Ad Filter data generated by the Application Server 109 and stored in the Ad Filter Repository 124 is realized by xml data files stored in a directory folder structure as shown in
In the preferred embodiment, the Ad Repository 122 of the platform 101 stores information associated with a particular Ad, which preferably includes the URL to the content of the Ad as well as meta-data related to the Ad (such as ad type, advertisement name, a URL to a player for playing the advertisement, the duration of the advertisement, HTML for delivering and tracking a companion banner, tracking information (e.g., one or more URLs to receive notifications related to advertisement playback, clickthrough URL), and parameters and statistical information related to the Ad for targeting and reporting purposes (e.g., total impressions delivered, total impressions delivered today, daily cap, total number of impressions needed, remaining number of impressions needed, number of days remaining in campaign, number of minutes remaining in campaign). Such information is preferably realized by an xml data file with a schema as shown in
The platform 101 also includes query logic 126 that provides an interface between one or more Ad Server Engines 128 and the Publisher Content Reference Repository 120, the Ad Repository 122 and the Ad Filter Repository 124. The query logic 126 is used to retrieve relevant information from these repositories as part of the ad serving process (
The system 100 of
In step 4, the browser application environment 133 receives the requested web content. In step 5, the browser application environment 133 processes the Ad Tag embedded in the requested web content and redirects to the Ad Server Engine 128 by issuing an Ad Call request to the Ad Server Engine 128. The Ad Call request includes the URL for the requested web content received in step 4 as well as meta-data related thereto, which can include one or more subject descriptors (for contextual targeting), behavioral information (for behavioral targeting), and/or geographic information (for geographic targeting).
In step 6, the Ad Call request is communicated to the Ad Server Engine 128 over the Internet. In step 7, the Ad Server Engine 128 receives the Ad Call request and generates a candidate list identifying one or more Ads that can potentially be used to fulfill the Ad Call request. The Ad Server Engine 128 generates the candidate list by cooperating with the Query Logic 126 of platform 101 to:
In step 8, the Ad Server Engine 128 cooperates with the Query Logic 126 to retrieve from the Ad Filter Repository 124 the Ad Filter data that pertains to the Ads of the candidate list. The Ad Server Engine then utilizes such Ad Filter data to determine which Ads (if any) should be removed from the candidate list as dictated by a corresponding Ad Filter. This processing preferably includes the following substeps. The Ad Serve Engine 128 sequences through the Ad(s) in the candidate list. For each given Ad in the sequence, the Ad Server Engine 128 identifies all Ad Filter data that pertains to the given Ad (e.g., the Ad ID for the given Ad is stored as part of the Ad Filter data). The identified Ad Filter data is processed to identify the particular Ad Filter data that refers to the source web content identified in the Ad Call request (e.g., the URL of the source web content refers to the URL of the particular digital content item as stored in the Ad Filter data). This particular Ad Filter data is analyzed to determine if the Ad Filter data indicates that the given Ad should not accompany the source web content. If so, the given Ad is removed from the candidate list. If not, the given Ad remains on the candidate list.
In step 9, in the event that the candidate list generated in step 8 has more than one Ad, the Ad Server Engine 128 applies one or more filtering operations to the candidate list to select one of the Ads in the candidate list. Such filtering operations can be based upon weights (i.e., weights pertaining to ads that compete as part of a campaign), daily impression cap coverage, start date/end date, and impressions remaining, all of which can be retrieved from the Ad Repository 122 of platform 101 by cooperation with the Query Logic 126 or other suitable mechanism. The URL(s) of the selected Ad is also retrieved from the Ad Repository 122 by cooperation with the Query Logic 122.
In step 10, the Ad Server Engine 128 returns the URL of the selected Ad retrieved in step 9. In step 11, the URL(s) of the selected Ad is communicated from the Ad Server Engine 118 to the browser application environment 103 over the Internet. In step 12, the browser application environment 103 receives the URL(s) of the selected Ad. In step 13, the browser application environment 103 uses the received URL(s) of the selected Ad to cooperate with the Publisher Content Source(s) 114 to return the selected Ad. In step 14, the browser application environment 103 displays or plays the selected Ad in conjunction with the web content returned in step 3.
The Ad Server Engine 128 can possibly prefetch one or more Ads during the filtering processes of step 8 and/or step 9 and communicate the Ad to the browser application environment 103 (instead of requiring the browser application environment 103 to retrieve the Ad from one or more Publisher Content Source(s) 114).
Advantageously, the ad serving system and corresponding methodology of the present invention enables advertisers and/or brand managers to select and review one or more digital content items that can accompany an advertisement, and then create ad filter data corresponding thereto if desired. The ad filter data provides brand security to the advertiser/brand manager by enabling control over the ad serving process with respect to digital content items of a Publisher's web site(s) on a group basis and an individual basis.
In another aspect of the present invention, publishers and advertisers commonly perform audit functions for verifying consistent and accurate online advertising measurements across the publishers and ad serving technologies. Such audit functions commonly involve manually accessing a given publisher's web site to verify that particular advertising content is accessible from the web site. Such manual access operations are time intensive and prone to error.
The operations of
Block 73 schedules operations for automatic capture of one or more screen shots for the given Ad. For example, where the given Ad includes both video content and an accompanying banner advertisement, block 703 preferably schedules the automatic capture of a screen shot of the video content as well as the automatic capture of a screen shot of the banner advertisement of the Ad.
In block 705, the automatic screen shot capture operations scheduled by block 703 are performed. Such operations preferably utilize the URL specified by widget 423 of
In block 707, image file(s) output from the automatic screen shot capture operations of block 707 are stored. Each image file includes (or is associated with) data that represents the data and time that the image file was created. The stored image files can be accessed as needed for audit purposes (or possibly other verification purposes).
There have been described and illustrated herein several embodiments of an Ad Serving System and corresponding method of operation. While particular embodiments of the invention have been described, it is not intended that the invention be limited thereto, as it is intended that the invention be as broad in scope as the art will allow and that the specification be read likewise. Thus, while particular functional blocks have been disclosed, it will be appreciated that such functional blocks can be integrated together or partitioned apart as well. In addition, while particular types of data structures have been disclosed, it will be understood that other data structures can be used. Also, while a preferred ad serving process is disclosed, it will be recognized that different ad serving processes can utilize the ad filtering mechanisms described herein. Furthermore, while particular configurations have been disclosed in reference to Publisher web server and Publisher content source(s), it will be appreciated that other configurations could be used as well. For example, it is contemplated that the Publisher web server can serve the Publisher content from a content database coupled thereto. It will therefore be appreciated by those skilled in the art that yet other modifications could be made to the provided invention without deviating from its spirit and scope as claimed.