Abstract:
Systems and methods for recording impression events of Ad content on a webpage. An example method renders on a display of a computer device a webpage accessible over a network. The webpage includes at least one Ad unit. Then Ad tag information associated with the at least one Ad unit and browser viewport information (display location and size information) is retrieved. The occurrence of an Ad Placement event is determined if based on the comparison a predefined percentage of the Ad unit is within the browser viewport. An Ad Placement event timer is begun upon the determination of occurrence of the Ad Placement event. The Ad Placement event timer is stopped if an out-of-view event has occurred based on the Ad tag information and the browser viewport information. An Ad Placement event is then recorded. The recorded Ad Placement event is transmitted to a previously designated server over the network.

Description:
PRIORITY CLAIM 
       [0001]    This application claims the benefit of U.S. Provisional Application Ser. Nos. 61/267,742, 61/267,748, 61/267,751 filed Dec. 8, 2009, which are hereby incorporated by reference. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    Ad placement is defined literally as “where are you placing the Ad on the (web) page”. Ad placement could be at the top of the page, where the Ad is immediately seen by the website visitor (industry vernacular: “Above the fold”), or somewhere else on the page where it is only partially visible or out of view completely (industry vernacular: “Below the fold”). Currently, advertising companies charge their clients for every Ad impression whether the Ad appears Above the fold or Below the fold. Thus, clients may be paying for ineffective (Below the fold) ads. 
       SUMMARY OF THE INVENTION 
       [0003]    The present invention provides systems and methods for recording impression events of Ad content on a webpage. An example method performed on a user computer device coupled to at least one of a public or private data network retrieves and renders on a display of the user computer device a webpage accessible over the network. The webpage includes at least one Ad unit and the webpage is rendered within a browser having a viewport. Then Ad tag information associated with the at least one Ad unit and browser viewport information is retrieved. The occurrence of an Ad Placement event is determined based on the Ad tag information and the browser viewport information. An Ad Placement event timer is begun upon the determination of occurrence of the Ad Placement event. The Ad Placement event timer is stopped if an out-of-view event has occurred based on the Ad tag information and the browser viewport information. An Ad Placement event is then recorded. The recorded Ad Placement event is transmitted to a previously designated server over the network. 
         [0004]    In one aspect of the invention, the Ad tag information and the browser viewport information include display location and size information. The occurrence of an Ad Placement event is determined if based on the comparison a predefined percentage of the Ad unit is within the browser viewport. 
         [0005]    In another aspect of the invention, the out-of-view event occurs when at least one of the following occurs: the webpage is moved relative to the browser viewport such that the percentage of the Ad unit within the browser viewport falls below the predefined percentage; or the browser presenting the webpage is no longer the active browser on the display. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0006]    Preferred and alternative examples of the present invention are described in detail below with reference to the following drawings: 
           [0007]      FIG. 1  illustrates a system configured to implement the present invention; 
           [0008]      FIG. 2  illustrates a display showing the relationship of displayed features; 
           [0009]      FIGS. 3-1 ,  3 - 2  and  4  illustrate a flow diagram of an example process performed by at least part of the system shown in  FIG. 1 ; and 
           [0010]      FIG. 5  illustrates a grid that represents data elements and their applicability to each event. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0011]      FIG. 1  illustrates an example system  10  that captures and reports metrics regarding Ad placement. The system  10  includes one or more user computer systems  12  coupled to multiple servers  16 - 19  over a public or private data network (e.g., the Internet)  14 . A website generating server  16  produces a website that is accessible by a user via a browser on one of the user computer systems  12  over the network  14 . The website includes Ad tags that instruct the browser to retrieve a corresponding advertisement from an associated Ad server  18  over the network  14 . The website, Ad tag or retrieved advertisement includes embedded code that determines a number of metrics associated with display of the advertisement. The determined metrics are then sent to an Ad evaluation server  19  and/or the other servers  16 ,  18  for evaluation. 
         [0012]      FIG. 2  illustrates a browser  22  presented on a display  20  of one of the user computer systems  12 . The size of a screen area  21  of the display  20  is used as a basis of comparison against the size of the browser  22  to ensure that the browser  22  is fully visible. A viewport  24  is the total area within the browser  22  that is visible within the screen area  21 . The viewport  24  is defined by upper left corner viewport x, y display dimensions  28 . A web page is displayed at least partially within the viewport  24 . Location of an Ad presented in the web page is identified by upper left corner x, y coordinates  34  and a total area of the Ad. The Ad is determined above the fold (i.e., visible) or below the fold (i.e., not visible) based on a defined percentage of the total Ad area in the viewport  24 . This information relating to the location of the Ad is recorded at the user computer system  12  and sent to one of the servers  16 ,  18 ,  19  which then provides a report for any interested parties. 
         [0013]      FIGS. 3-1 ,  3 - 2  and  4  illustrate a flowchart of an example process  100  performed by the system  10  shown in  FIG. 1 . First, at a block  104 , the user computer system  12  retrieves and renders into a browser a web page that includes one or more Ad units. At a block  106 , a program embedded with one of the Ad units executes causing the processor of the system  12  to retrieve Ad tag information from each of the Ad units and browser and viewport information from the browser. Then, at a decision block  108 , the program determines if an Ad Placement event has occurred based on the received information. If no Ad Placement event has occurred, then a predefined delay occurs at a block  112 . Then, if the browser is still open, as determined at a decision block  114 , new browser and viewport information is retrieved at a block  118  and the process  100  returns to the decision block  108 . 
         [0014]    If at the decision block  108 , the program determines an Ad Placement event has occurred, then at a block  119 , a timer begins. At a decision block  120 , it is determined if this Ad Placement event is a first InView event. At a block  121 , an InitialInView event is recorded if this is the first time the Ad unit appears since the corresponding web page was opened. At a block  122 , an InView event is recorded if this is not the first time the Ad unit appears since the corresponding web page was opened. 
         [0015]    Then, at a decision block  124 , the program determines if an OutOfView event has occurred (e.g., the Ad unit is not visible in the viewport  24 ). If an OutOfView event has occurred, then, at a block  126 , the timer is stopped, then an OutOfView event with elapsed time are recorded. The process  100  continues to the decision block  114  to repeat if the browser is still open. If the browser is determined to be closed at the decision block  114 , then, at a block  130 , a CloseUnload event is outputted to one or more of the servers  16 - 19  with associated time. 
         [0016]      FIG. 4  illustrates the actions performed at the decision block  108  of  FIG. 3-1 . These actions are not performed in any particular order. At a block  140 , dimensions and x, y coordinates of the viewport are identified by the program. At a block  146 , x, y coordinates and dimensions of the Ad unit are identified. At a block  148 , an InView event is determined to have occurred if at least a predefined percentage (n%) of the Ad unit is within the viewport based on the identified dimensions and x, y coordinates of the viewport and the Ad. 
         [0017]    The present invention includes a block of JavaScript code that is applied/embedded to the client&#39;s Ad container (i.e., Ad unit). Other types of embedded coding may be used. After the Ad container is received at the user computer system  12 , the JavaScript code executes to report specific event types back to the one or more servers  16 - 19 . These events include:
       AdImpression
           The Ad container was rendered by the browser, regardless of placement on the web page. This is the traditional Ad industry measurement for Ad delivery.   
           InitialInView
           This is triggered the first time that a specified visual percentage of the Ad placement area is in the viewport  24  of the browser  22 . The visible percentage is defined by an “InView Percentage” global configuration setting.   
           OutOfView
           This is triggered when the Ad unit goes from being in the viewport  24  to out of the viewport  24  and is subject to the above referenced InView percentage. This event also reports/records a “duration” parameter value that records the total time the Ad placement was in the viewport  24 . This event is typically triggered by a scrolling action within the web browser  22  such that the Ad unit is scrolled out of the viewport.   
           InView
           This is triggered all subsequent times that the Ad placement returned into view, such as a scrolling action within the web browser  22  that returns the Ad placement into the viewport  24 .   
           Window close/unload
           This event is fired when a user closes the browser  22  or reloads, or navigates away from the page that includes the ad. The duration event parameter and the total duration that the user was viewing the page are sent to the Ad evaluation server  19 .   
               
 
         [0028]    These events are captured with the code that is delivered (embedded) with the Ad unit. The code communicates with the browser  22  for specific event types, such as scrolling events, render events, close events, etc. In one embodiment, the code includes an open source JavaScript library (jQuery) that “connects” to the browser  22  to be able to receive the browser events and a custom JavaScript code that identifies the location of Ad unit(s) within a web page. The code deduces when the independent browser events are applicable to the Ad unit. 
         [0029]    The events are reported back to the Ad evaluation server(s)  19  for every Ad impression delivered to a web page and stored in event logs. The Ad evaluation server  19  performs a Map/Reduce process to convert the raw data into a reporting database format. The event data, once processed, is capable of reporting a new set (e.g. in addition to traditional events: Impressions, Clicks, Click-through Rate (CTR) (CTR=Total Clicks divided by Total Impressions), and Total Unique Visitors to a web page (Uniques)) of statistics in the form of:
       Total InViews
           Total number of times the Ad unit was actually viewed. This is taken from the InitialInView event and is typically compared by an observer to the total impressions to establish a benchmark for how a website is effectively generating viewership to the Ad placement.   
           InView Percent
           A percentage of all impressions resulting in an Ad container appearing within the viewport  24 . The percentage is defined as Total InitialInView events divided by Total adImpression events. A key measurement, which is commonly the basis for communicating to web page publishers (i.e., website owners) to correct or improve Ad placement to improve this percentage. Ad placement clients can decide to stop serving to sites with low InView percentages, as it essentially means that the client is effectively not getting their money&#39;s worth, since the current industry standard is to pay based on impressions, which assume 100% InView.   
           Placement
           Web page dimensions and the x, y coordinates of the placement in the context of the web page dimensions, including the site visitor&#39;s total desktop resolution, the browser dimensions, and the viewport dimensions.   
           Average Time InView
           A measurement, (e.g., milliseconds), of how long the Ad unit was in the viewport  24 . This can be a single event or the combination of multiple InView events where the site visitor is scrolling the Ad unit into/out of the viewport  24 .   
           Average Time InView per Unique
           Same measurement as above, but established on a per-unique-visitor basis.   
           Percentage of sites with good placement
           A measurement of all domains that exceeded a specified InView percentage.   
               
 
         [0042]    For every event, the following elements are also reported to the server  19  as parameter values:
       uid: The UIDToken representing the unique identifier for this specific Ad container in the reporting database;   swfname: The name of the creative (e.g., wbtw — 728×90) (see below for custom creative use-cases);   eventcode: The event code identifying the specific event being logged;   location: The page URL where the Ad placement resides. See the section below on URLTypes and Parsing;   wh: The width and height of the browser viewport;   xy: The coordinates of the item within the viewport or the mouse coordinates, depending on placement or creative eventcode type;   cid: CampaignID?—An optional arbitrary value that is forwarded from a “cid” param passed to ads.js;   vchannel: ChannelID?—An optional arbitrary value that is forwarded from a “vchannel” param passed to ads.js;   publisher: Publisher Identifier—An optional value that identifies the partner network, and is forwarded from a “publisher” param passed to ads.js;   pageurl: PageURL?—An optional value to explicitly specify the hosting page, and is forwarded from a “pageurl” param passed to ads.js;   duration: A value, in milliseconds, measuring a time interval for the event type; and   t: an AdXposeToken to validate the event.       
 
         [0055]    The publisher and pageurl parameters are intended to be populated through the use of third-party Ad network “macros”, which substitute a pre-defined keyword string with an applicable runtime value. For example, the RMX macros for publisher and pageurl are $ {PUBLISHERID} and $ {SOURCEURLENC}, respectively. 
         [0056]    The following elements are only passed on the AdImpression event as extended elements, as referenced in the last column of  FIG. 4 :
       iframed: Boolean value indicating whether the placement is enclosed in an iFrame;   cookieenabled: Boolean value indicating whether cookies are enabled in the browser;   screenwh: The resolution of the monitor that the user is using;   screenavailwh: The available screen real estate, minus menu bars and such;   colordepth: 8, 16, or 24 in most cases;   flash: The version number of Flash Player if the user has Flash installed, or absent if they don&#39;t;   user-agent: The browser user-agent value is passed as an HTTP Header element in the adImpression event; and   cookie-id: The cookie-id value is passed as a header element in the api request header rather than as a parameter. The event logger also checks for the presence of a cookied user identifier. If it&#39;s present, it&#39;ll log it. If it&#39;s absent, it&#39;ll generate a new user identifier, log it, and set a cookie on the client.       
 
         [0065]      FIG. 5  represents the relationship of events to parameters. 
         [0066]    While the preferred embodiment of the invention has been illustrated and described, as noted above, many changes can be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention is not limited by the disclosure of the preferred embodiment. Instead, the invention should be determined entirely by reference to the claims that follow.