The present invention generally relates to the field of online advertising. More specifically, the present invention relates to a method and system for monitoring and collecting user responses to multiple advertisements placed a slides in a slideshow banner are being displayed online.
Online advertising, also called Internet advertising, uses the Internet to deliver advertisements to consumers. Banner advertisement is a popular form of display advertising. A banner advertisement may include image, text, multimedia or any other content used for advertising purpose. To access a Web page on the Web, the user enters a URL of required web page into a browser program executing on a client system with a connection to the Internet or any other wireless network. The Web browser displays webpage and advertisements on the display device of user. However a webpage may be rendered by using multiple web servers and third party servers. As the browser displays web pages for the user, the webpage also includes advertisements.
However, the advertiser placing advertisements has little knowledge over how user is interacting with webpage /advertisement. There are instances where the advertisers are not aware of whether the advertisements provided by them on the Web pages are viewed by the users or not. Therefore, there always existed a need for a technique that monitors whether the advertisements displayed online are viewed by the users or not. When multiple advertisements being rendered in same space, this requirement is crucial. In slideshow format ,each slide is rendered for a fixed interval of time after which next slide is rendered and once each slide has rendered once the sequence will repeat itself resulting in iterations. Also there is a need to generate results, iterations wise. Further there is a need of system to operate many parameters related to multiple slides, like adding, removing, positioning of slides etc. to provide best results when multiple advertisements are rendered in slideshow format.
An object of the present invention is to provide a method of monitoring whether the advertisements in form of slides in slideshow banner, being displayed online are viewed by the users or not.
Another object of the present invention is to provide a system for monitoring whether the monitoring whether the advertisements in form of slides in slideshow banner advertisements, being displayed online are viewed by the users or not.
Yet another object of the present invention is to provide a method of collecting user responses to advertisements being displayed online.
Still another object of the present invention is to provide a system for collecting user responses to advertisements being displayed online
Still another object of the present invention is to provide a method of modifying advertising data on users device.
Still another object of the present invention is to provide a system for modifying advertising data on user's device.
The present invention related to a method and system for performing monitoring the effectiveness of advertisements being rendered on user's device. More specifically present invention provides a method and system for monitoring and collecting user responses to advertisements when multiple advertisements are aggregated as slides in a single banner space rendered on user's display device. Present invention determines a valid impression score of each slides by analyzing user active time on webpage during rendering time of each slide respectively. Also enabling changing or altering position, rendering time etc. of each slide, for best results of viewership of each slide. Generating a transparent system for monitoring viewership and effective rendering when multiple slides are placed in a single banner as slideshow.
Further aspects and advantages of the present invention will be readily understood from the following detailed description with reference to the accompanying drawings, where like reference numerals refer to identical or similar or functionally similar elements. The figures together with the detailed description below, are incorporated in and form part of the specification, and serve to further illustrate the aspects/embodiments and explain various principles and advantages, in accordance with the present invention wherein:
Skilled artisans will appreciate that elements in the drawings are illustrated for simplicity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the drawings may be exaggerated relative to other elements to help to improve understanding of aspects of the present invention.
Referring now to the drawings, there is shown an illustrative embodiment of performing online advertisement monitoring according to present invention. It should be understood that the invention is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and will be described in detail below.
The network (104) is a communication channel which may include internet, intranet, wired network, wireless network, cloud or any other communication network.
The at least one client device (101) may be a desktop computer, laptop, mobile device, cellular telephone, tablet, user equipment or any other known device. The at least one wireless device (101) may include a transmitter, a receiver, antenna, a computer platform (105) and a display device. The computer platform (105) can transmit data across the network (104) via the transmitter to the server device (102 or 103) and can receive software applications via the receiver from the server device (102 or 103). The computer platform (105) further executes software applications and display data received from the web server (102) or the third party server (103) connected to network (104). The computer platform (105) may include a processing engine (106) and a memory (107) coupled to the processing engine (106). The processing engine (106) may include an application-specific integrated circuit (“ASIC”), or other chipset, processor, logic circuit, or other data processing device and a memory.
The memory (107) may include read-only and/or random-access memory (RAM and ROM), EPROM, EEPROM, flash cards, or any memory common to computer platforms.
Similarly, the at least one web server (server device) (102) or the third party server (103) may include a transmitter, a receiver and a computer platform (108). The computer platform (108) can transmit software applications across the network (104) via the transmitter to the client device (101) and can receive data via the receiver from the client device (101). The computer platform (108) further analyzes data received from the at least one client device (101) connected to network (104) and applies one or more rules based on the analysis of the data.
The computer platform (108) may include a processing engine (109) and a memory (110) coupled to the processing engine (109). The processing engine (109) may include an application-specific integrated circuit (“ASIC”), or other chipset, processor, controller, logic circuit, or other data processing device and a memory. The memory (110) may include read-only and/or random-access memory (RAM and ROM), EPROM, EEPROM, flash cards, or any memory common to computer platforms.
A user of the client device (101) uses a web browser application on the client device (101) for retrieving, presenting and traversing information. The web browser application may be but not limited to Google chrome, Mozilla Firefox, Mobile Safari etc.
In step (201) the user enters a Uniform Resource locator (URL)/ IP address in a special entry field of the browser application and sends a request to the corresponding web server or a third party server for displaying a webpage. In response, the requested webpage is rendered on the display device of the client device (101).
The webpage may include advertising content such as banner ads, pop ups or any other form used for advertising. A banner advertisement may include but not limited to image, text, video, multimedia , associated URL or any other content used for advertising purpose. A banner advertisement may contain one or multiple advertisements (slides) by using javascript, jscript or any other similar language. In case of multiple slides, each slide will be rendered on user's display device for a predetermined interval of time, once time of rendering for a slide is completed next slide will rendered on user's display device and so on. A banner advertisement may be stationary or moving with respect to scroll bar movement on the webpage. In case of multiple advertisements/slides, advertisements/slides may change infinitely or may limit to a particular number after which they start reoccurring. Also, advertisements/slides may be removed, inserted or repositioned if required. There may be variable number of advertisements/slides placed in a banner ad, which may be altered if required. Further, for convenient navigation between slides, banner ad may have next/previous buttons and bullets/objects representing each particular slide.
In step (202), a script is initiated on clients device by web server. The script may be constructed using Javascript, AJAX, VBscript, PHP, flash ,using applets or any other similar language. This script tags page and initiates the process of gathering/calculating/sending data as requested.
In step (203) the processing engine (106) of the computer platform (105) executes the script and stores/calculates information which may include but not limited to browser name and version, operating system name and version, browser zoom percent, browser window size etc. This information may be used in various ways which may include but not limited to detecting the type of client device (101). For instance, the information collected in step (203) may be used to differentiate between touch devices and mouse/trackpad devices. Further determine which parameters needs to be stored/calculated for a particular type of client device (101).
In step (204) data relating to user initiated events is calculated by the processing engine (106) as per script. Data calculated by this script can be send to one or multiple predefined web servers every time script is initiates an event. Data calculated by script can be directly send to one or multiple web servers. The script may also perform some mathematical operations on data, and then sending the results to one or multiple web servers.Also data relating to user initiated events may be stored in various ways which may include but not limited to session storage, cookies, local storage, web storage, IndexedDB, cloud storage etc.
The processing engine (106), calculates data of time associated with user initiated events which may include but not limited to touch event, scroll event, scroll bar location, keyboard event, rotation (change in calibration), mouse movement, pinch event, clicks, playing of a video/audio/game/presentation, refresh, active chat window, initiation of any hardware application (i.e. web camera), stylus movement, selection or successful/unsuccessful completion of any event or similar user initiated actions, use of next/previous button of slideshow Ad etc. Script may also create and store logs of user's interest, browsing history, search within webpage etc. Further Cookies and logs can generate Real Time results of user's interest which can be used for providing more appropriate advertisements to user. Script may send data to one or multiple web servers.
In one example,
In another example, events initiated by a user on computer or laptop or any other trackpad/mouse based device may include but not limited to mouse movement/location/coordinates, click, scrollbar location/movement, keyboard event, playing a video/audio/game/presentation, usage of camera application, selection or successful completion of any field (chat window etc.) or other similar user initiated events.
As shown in
410 represent the display device of the client device at t=1 sec;
411 represent the location of the mouse pointer;(i.e. x,y)
412 represent the location of the scroll bar. (i.e. e)
420 represent the display device of the client device at t=2 sec;
421 represent the location of the mouse pointer; (i.e. a,b)
422 represent the location of the scroll bar. (i.e. e)
430 represent the display device of the client device at t=3 sec;
431 represent the location of the mouse pointer; (i.e. a,c)
432 represent the location of the scroll bar. (i.e. e)
440 represent the display device of the client device at t=4 sec;
441 represent the location of the mouse pointer; (i.e. a,c)
442 represent the location of the scroll bar. (i.e. e)
450 represent the display device of the client device at t=5 sec;
451 represent the location of the mouse pointer; (i.e. a,c)
452 represent the location of the scroll bar.(i.e. f)
The processing engine (106) may also create and store logs of user's interests, browsing history within webpage, click and cookies etc. These logs can generate real time results of user's interests which can be used for providing more appropriate advertisements to the user.
In step (205), the processing engine (106) triggers an event. The event could be one of the following but not limited to:
The event triggered in step (205) determines whether the script will send data. Data stored/calculated or logs may be sent to one or multiple predestined web servers (102) or third party servers (103). The sending of stored/calculated data to one or multiple servers may be done using AJAX, AJAJ, JavaScript, XML, node.js or any other similar language.
In step (206), the processing engine (106) transmits calculated data to the web server (102) or third party server (103).
Client device (101) may ask for additional DNS lookup in case of sending data to third party web server(103) to determine IP address of third party server.
In step (501), the web server (102) or third party server (103) receives data from the client device (101) and stores in memory (110). The web server (102) or third party server (103) may serve as a calculation server, if it includes activity methodology, impression methodology ,alteration methodology and billing methodology.
Once data is received from the client device (101), the processing engine (109) implements the activity methodology in step (502). The processing engine (109) applies rules for analyzing user activity data for generating results of user active time on a webpage. User activity data can be determined by combining time based data Of various user initiated events which may include but not limited to touch event, scroll event, keyboard event, rotation event, mouse movement, pinch event, clicks, playing of a video/audio/game/presentation, chat window, initiation of any hardware application (web camera), successful completion of any event or user initiated actions.
The processing engine (109) applies the following rules for calculation of the user active time on a webpage, in case of a touch based device: Rules may include but not limited to:
A combination of the above rules along with few additional rules would reflect time of user activity on a particular webpage.
In this example mouse movement can be detected in many ways which may include but not limited to:
In this example scroll movement can be detected in many ways which may include but not limited to
For example of
The user was assumed to be active at t=1 sec.(since user entered URL at t=0 seconds).
By comparing 421 with 411, it can be noticed that mouse pointer location has changed at t=2 sec,
Thus, the user was active at t=2sec.
By comparing 431 to 421, it can be noticed that mouse pointer location has changed at t=3, Thus, the user was active at t=3 sec.
By comparing 441 to 431, it can be noticed that the mouse pointer location has not changed at t=4 sec. In this case, checking if any other rule is applicable, which may include but not limited to clicks, scrollbar location/movement, keyboard event, playing a video/audio/game/presentation, usage of camera application, selection or successful completion of any field (chat window etc.) or other similar user initiated events. Say .In this case scroll location rules are applicable, thus comparing 442 and 432, it can be noticed that the scroll bar location has not changed at t=4 sec. Since no other rules are applicable thus, it can be concluded that user was not active at t=4 sec.
By comparing 451 to 441, it can be noticed that the mouse pointer location has not changed at t=5 sec. Further comparing 452 to 442, it can be noticed that, the scroll bar position has changed at t=5sec. Thus, the user was active at t=5sec.
In step (503), the processing engine (109) may analyze information stored in the memory (110) of the web server (102) or the third party server (103). The information stored in the memory (110) may relate to but not limited to the following conditions:
In step (504), the processing engine (109) implements the impression methodology where data of user active time generated by the activity methodology is read and analyzed. Further, the processing engine (109) reads information of time associated with display of any particular advertisement/slide and maps the read information with the user active time generated by the activity methodology. Any advertisement/slide included in a slideshow or banner ad may be displayed none, one or multiple number of times during a user's visit on webpage.
In an aspect, comparing user activity time with display time of any particular advertisement may provide results of valid impression of advertisements/slides. Comparing active/inactive time of user, against rendering time of particular slides, will provide data of effective viewership of each slides.
In another aspect, calculation is performed and results are generated considering iteration. Since the advertisements/slides may have infinite loop in slideshow. Further wide range of conditions and parameters are determined by using predefined rules. The impression methodology generates a valid impression score (VIS) of each advertisement/slide displayed in a banner with respect to user active time. However results can also be generated by negating results of user inactive time.
Let us consider an example where a banner ad consists of 5 different advertisements/slides (A, B, C, D and E) and each advertisement/slide is displayed for a period of 10 sec i.e. after every 10 sec the advertisement/slide would automatically change from A-B, B-C, C-D, D-E and E-A and so on. Further, let us consider above example for three iterations i.e. for a time period of 150 sec. Particular rendering of time in seconds for each particular slide(A-E) iteration wise:
In this example assume step 502 receives data at a frequency of 10 seconds(similar to frequency of slide changing) and results generated of active time will be determined by same as rules for touch devices, mouse movement and scroll movement.
The processing engine (109) creates the valid impression score (VIS) as follows:
In this example assume step 502 provide results as below: where data is received on step 501 at a frequency of 1 second, let us consider active user time after implementing activity methodology:
The processing engine (109) creates the valid impression score (WS) as follows:
X1-X5, Y1-Y5 and Z1-Z5 sec indicates the time period during which the user was active on the webpage where the banner ad including advertisements A-E is being displayed in different iterations. The values for X1-X5, Y1-Y5 and Z1-Z5 are determined based on the user initiated events (as defined in detail above) and are mapped against the time period of display of the advertisements/slides by the processing engine (109).
In step (505), the processing engine (109) applies various rules for determining the valid impression score (VIS) of each advertisement/slide displayed in the banner advertisement.
The rules may include but not limited to : Comparing values of X1-X5, Y 1-Y5 and Z1-Z5 with a predefined threshold value. If the values of X1-X5, Y1-Y5 and Z1-Z5 exceeds the predefined threshold value, assigning a HIGH otherwise assigning a LOW.
For the example considered above, let us assume the threshold value to be 2.5 sec:
The processing engine (109) creates the valid impression score (VIS) as follows: Table 3:
Based on the table(1-3), the processing engine (109) outputs the following information:
Slide A is viewed once in the first iteration, once in second iteration and once in third iteration;
Slide B is viewed once in the first iteration, once in second iteration and once in third iteration;
Slide C is not viewed in the first and second iterations, and is viewed once in third iteration;
Slide D is not viewed in the first and second iterations, and is viewed once in third iteration;
Slide E is not viewed in the first iteration, and is viewed once in the second and third iterations.
In step (506), the calculated VIS or generalized VIS is stored in the memory (110).
When all the required rules have been applied to calculate VIS, we will have final VIS for advertisements respectively. This generated value of VIS for particular advertisements provides data of actual viewership of advertisements respectively. Generating a transparent system in which advertisers can get detailed data related to user's viewership. One or multiple combinations of RULE 1 to RULE 4 or Table 1 to Table 3 can be implemented to determine VIS(valid impression score).
In step 601, calculation web server will aggregate slides to be rendered on webpage from multiple entities. Also determining the position, rendering time etc. for each slide.
In step 602, aggregated slides are rendered on client's device (101) by calculation web server.
In step 603, calculation web server will save data associated which each slide, which may include but not limit to URL, image, text, multimedia, position, rendering time etc. This data will be further stored in memory, which will be further read in step 503.
In step 604, the processing engine (109) may also execute the alteration methodology which may be used for real time rendering/altering one or multiple advertisements/slides included in a banner advertisement. The processing engine (109) may apply rules for analyzing if there is a need for alteration methodology to take action, which may result in removal/insertion/repositioning of one or multiple advertisements/slides in a banner. Few conditions may include but not limited to:
If any of the following rules are applicable, a trigger event may sent the request for updating to step 601 and rendering updated slideshow on user's device in step 602.
However the best method of performing present invention comprises: initiating trigger event by script at a frequency same as frequency of changing of slides; implementing activity methodology; implementing Impression methodology for generating VIS as in Table 1; and alteration methodology.
Calculation web server uses result of valid impression score after implementing of activity, impression and alteration methodology to initiate billing methodology.
Industrial application of present invention will generate billing methodology; Billing methodology will generate results which can be used by online advertising industry, as an application for effective transactions for advertisers based on accurate viewership of slides.
Calculation web server aggregates slides for various entities, where each entity will correspond to at least one slide. Further each entity will provide data related to particular slide which may include at least one of position, time, URL, image, text, video etc. to calculation web server.
Calculation web server will provide rules for billing and billing criteria to each entity on the basis of valid impression score of each slide.
Rules for billing provided to entity may include but not limited to:
Calculation web server can perform transaction while aggregating slides and rendering slides on clients device, then on basis of any rules and valid impression score few actions can be performed by billing methodology. Rules may include but not limited to:
On the basis of VIS and rules for each slide, billing methodology will perform billing/transaction of each entity. Thus each entity concerned with each slide will be charged/billed by calculation web server on the basis of valid impression score generated by calculation web server.
The present invention is described with reference to the figures and specific embodiments; this description is not meant to be construed in a limiting sense. Various alternate embodiments of the invention will become apparent to persons skilled in the art upon reference to the description. It is therefore contemplated that such alternative embodiments form part of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2117/DEL/2014 | Jul 2014 | IN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/IN2015/000298 | 7/28/2015 | WO | 00 |