The present disclosure relates generally to systems and methods related to online electronic marketing and advertising.
Commerce is increasingly done online. Global online advertising generates hundreds of billions of dollars annually. In one method of advertising, search engines or other website publishers post banners on their websites that advertise other parties' products and services. Advertisers may deal directly with publishers, but in many cases, third party agencies marry advertisers with publishers and help to coordinate marketing campaigns.
The advertiser may pay a price based on the number of impressions, or viewers who visit the website regardless of whether each viewer takes note of the advertisement or not. In this method, the website publisher may bill the advertiser cost-per-thousand (CPM). In another method, the website publisher may bill the advertiser based on the number of times a visitor actually clicks on a hyperlink contained in the advertisement, that is, based on a redirect to the advertiser's own website or other interaction with the advertiser's product or service offering. This latter method, known as a pay-per-click (PPC) or cost-per-click (CPC), represents attention from a person who is searching for or interested in something that the advertiser offers and is accordingly a hot lead.
E-commerce marketing however, is not limited to advertisements placed on publishers' websites. Email and text message advertising is also used to direct attention to an advertiser's product or service. “Push” messaging service is another means to communicate with potential leads. Publishers exist who collect data and generate and maintain large databases of email addresses, cell phone numbers and myriad personal user data that allow selected sets of end-users to be targeted based on the specific requirements of advertisers. These publishers may send large numbers of email, short message service (SMS) text, or push messages for a given marketing campaign to selected persons contained in their databases at the behest of an advertiser. The messages may contain embedded hyperlinks that when clicked by the recipients direct them to advertisers' websites. As with website publishers above, email, text, or push message advertising may be billed as cost-per-thousand messages sent or cost-per-click.
From an advertiser's perspective, cost-per-click is an important metric of the financial success of a marketing campaign. Return on investment is determined both by cost-per-click and the quality of the leads the campaign return. Thus, an advertiser wants to identify and target clicks that are both inexpensive and high quality leads. However, unlike search and display advertising, email and text message marketing faces the issue that once messages have been sent, one cannot turn resulting web traffic on or off; messages are sent, and resulting clicks occur over time thereafter. The number of residual clicks after the initial bulk email, text, or push message blast can be unpredictable, and because of this it is hard to manage a campaign budget, particularly if multiple publishers are sending out campaign advertisements within a short period time.
A few short examples illustrate an advertiser's conundrum: Advertiser Andy initiates and offers an email marketing campaign, and 2000 clicks total are accepted by Publisher Peter and Publisher Paul. If these two publishers cannot fulfill the 2000 click quota, Andy will need to find yet another publisher to fulfill the missing clicks. Publisher Peter sends out a bulk email blast on Monday, and Publisher Paul sends out a bulk email blast on Tuesday. By Friday one of the following scenarios may occur: 1) Campaign total clicks are under budget and a week has been wasted waiting for clicks to come in; or 2) Campaign total clicks are over budget and Andy overspent. Either scenario is bad for the advertiser.
Embodiments are described in detail hereinafter with reference to the accompanying figures, in which:
Advertisers 20a . . . 20n may contract with agency 10 to effect one or more email, text message or push marketing campaigns. This agreement may be consummated online via computers 22a . . . 22n, internet 14 and server 12. For example, server 12 may receive a hypertext markup language (HTML) page request from computer 22a and respond with HTML code and optionally cascading style sheet (CSS) code or the like that present advertiser 20a with a custom interactive advertiser dashboard 24a. Advertiser 20a may select various options at dashboard 24a to set various parameters of the marketing campaign, such as price per click, allowed publishers, dates of the marketing campaign, total number of clicks for the campaign, number of clicks per day, and target demographics. All the various advertising campaign parameters are selected by advertiser 20a and transmitted via internet 14 to server 12.
Agency 10 posts advertiser marketing campaigns online. Publishers 30a . . . 30n may view available and selected marketing campaigns by sending an HTML page request to server 12 via computers 32a . . . 32n and internet 14. For example, as illustrated in
Having accepted one or more advertiser marketing campaign offers, publishers 30a . . . 30n transmit email, text or push marketing messages to contacts 40a . . . 40n within their respective databases. For example, as illustrated in
When user 40n clicks on a hyperlink contained in an email or push marketing message that was received, the web browser of computer 44n transmits an HTML page request to server 12 via internet 14 that allows server 12 to count the click attributed to publisher 30n and redirect the request to the appropriate advertiser 20a . . . 20n, optionally encoded with data that allows the advertiser to track where the click originated. Similarly, when user 40b clicks on a hyperlink contained in an email or push marketing message that was received from publisher 30b or a SMS text message that was received from publisher 30a, the web browser of smart phone 46b transmits an HTML page request to server 12 via internet 14 that allows server 12 to count the click attributed to the appropriate publisher and redirect the request to the appropriate advertiser 20a . . . 20n, optionally with source metadata contained in the page address.
Server 12 is preferably a high-capacity web server that hosts one or more web server software applications for selectively and securely allowing multiple remote client computer devices 22a . . . 22n, 32a . . . 32n, 44a . . . 44n, and 46a . . . 46n access over the internet for transfer of HTML files and the like. Server 12 preferably has the memory capacity and functional capabilities of at least a powerful desktop computer to support a large number of concurrent processes and maintain high-throughput internet communications, and more preferably still, is sufficiently capable to support several hundred concurrent client connections. As known in the art, server 12 may be equipped with a local display monitor and input keyboard, keypad, and/or input pointing device (not illustrated) for interfacing with a local system administrator.
As is well known in the computer field, server 12 preferably contains a processor which executes instructions retrieved from a memory device to control the reception and manipulation of input data, the transfer of data to other computers, and the output and display of data on output devices. Preferably, a memory bus is used by the processor to access random access memory (RAM), read only memory (ROM), or other memory. Memory is used for storing input data, processed data, and software in the form of instructions for the processor. The processor may be coupled to a peripheral bus to access input, output and storage devices, possibly including a display monitor, removable disc drive (e.g. CD-ROM), hard disk drive, input keyboard, mouse, universal serial bus (USB) device, and network interface. As this general computer technology is commonplace and well understood in the art, it is neither illustrated nor discussed further herein.
Server 12 includes computer software 59 as an integral part of the system.
Operating system 60, which controls computer resources, peripherals, and the execution of software applications for server 12, is preferably an industry-standard multiuser multitasking web server OS such as an open source Linux® variant. Other appropriate operating systems may also be used. As OS technology is commonplace and well understood in the art, OS 60 is not discussed further herein.
Web sever application 62, which is often bundled with operating system 60, enables users at remote client computer devices 22a . . . 22n, 32a . . . 32n, 44a . . . 44n, and 46a . . . 46n (
Server 12 stores and manipulates historical and current data associated with advertisers 20a . . . 20n, publishers 30a . . . 30n, and target leads 40a . . . 40n (
Database 13 may be implemented using a common database application suite. In one or more embodiments, database 13 employs a relational database model, in which data is organized in the form of tables. The relational data model was introduced in 1970 by E. F. Codd of International Business Machines IBM, and it has continued to evolve. Relational databases are organized around a mathematical theory that aims to maximize flexibility. The relational data model consists of three components: A data structure wherein data are organized in the form of tables; means of data manipulation for manipulating data stored in the tables, e.g. structured query language (SQL); and means for ensuring data integrity in conformance with business rules. Many relational database management systems (RDBMS) exist, such as Oracle,® MySQL and DB® from IBM. Relational database systems offer scalability and architectural flexibility to provide robust database solutions that perform, adapt and respond to today's business initiatives. Most modern database software is full-featured, robust, scalable and easy to use.
Database 13 may also be implemented using a non-relational methodology, including flat files and legacy database applications, such as IBM's IMS or Computer Associates' IDMS. IMS is a hierarchical database, and IDMS uses the network database model. Unlike relational databases which are designed for flexibility, IMS and IDMS put a premium on performance over flexibility. For example, IMS's hierarchical approach puts every item of data in an inverted-tree structure, extending downward in a series of parent-child relationships. This approach provides a high-performance path to a given datum. The IDMS network database model allows for more complex, overlapping hierarchies, but falls short of the flexibility of a true relational database system. As database design and programming is well known to routineers in the art, further detail of database 13 is omitted for the sake of brevity.
Web server 12, running web server application 62, functions by listening for connections made by authorized client computers 22, 32 over internet 14 and thereafter by transmitting selective data between computers 22, 32 and server 12. Marketing system engine 64 is a suite of custom software programs and files that work hand-in-hand with web server application 62 to implement the marketing method according to one or more embodiments of the invention. Additionally, marketing system engine 64 and web server application 62 together generate interactive dynamic advertiser dashboards 24, publisher dashboards 38, and optionally a local administrator dashboard 67 that may accessed via web browser 68 for administration of system 8 (
In one or more embodiments, marketing system engine 64 preferably includes a family of hyperlinked HTML form files 65 disposed in a web page directory accessed by web server application 62, and a series of Common Gateway Interface (CGI) shell scripts or compiled programs 66, disposed in a cgi-bin or like directory, that are selectively executed in order to transform the otherwise static HTML form files 65 into dynamic user dashboards 24, 38, 67 when displayed in web browsers.
Dashboards 24, 38, 67 ideally employ standard windows-type display and control mechanisms including windows, client windows, frames, flexboxes, icons, buttons, check boxes, radio buttons, scroll bars, drop-down menus, pull-down menus, tabs, bar graphs, panes, panels, forms, slide bars, selection boxes, dialog boxes, text boxes, list boxes, menu bars, bar graphs, wizards, et cetera. The selection and layout of the user interface components, and the placement thereof, may vary widely within the scope of the present disclosure and may optionally be customized by each user. Ideally, dashboards 24, 38, 67 employ responsive site design techniques so as to automatically adjust layout and design to be readable and usable at any screen width. As user interface programming and design are well known in the art, further detail is omitted.
Web server application 62 and marketing system engine 64 cooperate to provide secure remote internet access to server 12. Server 12 provides initial login access to a remote client computer via an initial or default HTML file that prompts the user for a username and password or other identifier. Advertiser 20 may log into an advertiser portal and thereby obtain advertiser dashboard 24 that is populated with that advertiser's custom data. Similarly, publisher 30 may log into a publisher portal and thereby obtain publisher dashboard 38 that is populated with that publisher's custom data.
Marketing system engine 64 may collect data for analysis, retrieve, store, organize, and process that data in real time, and may provide downloadable reports compatible with off-the-shelf software products such as Excel,® Word,® Access,® etc. Marketing system engine 64 may generate and make available a myriad of reports from the collected data, allowing a user to query and format marketing data and graphically display trends with tremendous flexibility, as described in greater detail below.
Server 12 may include a network firewall 69 to protect it from unauthorized intrusion and computer hacking efforts. Firewall 69 may be a firewall software application executed by server 12 as illustrated, or it may be a discrete and independent hardware firewall operatively coupled between the network interface server 12 and internet 14 (not illustrated). Regardless of the type of firewall 69 installed, firewall 69 is preferably commercial off-the-shelf and provides controlled access to server 12 using multiple recognized network security methods such as user and password challenges, VPN access, filtered IP address access, et cetera. In other words, server 12 is secured to eliminate unauthorized access the same way that an ordinary computer is protected using existing or future common network security products. As network firewalls are well known in the art, further detailed discussion is omitted.
Although the embodiments of
At step 102, the parameters of the advertising campaign are written to a database 13 by server 12. At step 104, any active sessions at the publisher portal, described in greater detail infra, are updated to reflect and display the new advertising campaign, which publishers can accept. Data describing the advertising campaign are displayed at a publisher dashboard 38 on a publisher computer 38 as described in greater detail below.
Finally, at step 106, the corresponding advertiser dashboard 24 at computer 22 is updated to reflect the new marketing campaign. For the new campaign, dashboard 24 ideally displays price per click, allowed publishers, dates of the marketing campaign, total number of clicks purchased for the campaign, number of allowed clicks per day, target demographics, and destination web page. Additionally, creatives—the formats of marketing messages, including subject lines, text, graphics, images, and arrangement thereof—are also viewable at dashboard 24. For all currently active and past campaigns, dashboard 24 also displays publishers who have accepted the offer, number of clicks agreed to and number actually supplied, total dollars spent and average cost per click for all campaigns. Other useful metrics and statistical analysis may also be displayed that enable the advertiser to analyze the quality of the clicks (e.g. the percentage of clicks that result in a sale) for each publisher and overall rate of return on their investment.
Not all of the above data is necessarily displayed on the dashboard at one time. Buttons and other interactive HTML tools may be provided that allow the advertiser to select what data is displayed at any given time. Functionality to filter and sort data, for example, selecting discrete periods of time or only text message campaigns, et cetera, is preferably provided. A calendar display and graphical displays may be provided.
Once an offer acceptance is received by server 12, at step 122 a click delivery window deadline is calculated. Step 122 mitigates a traditional challenge to automating traditional insertion order marketing campaigns. After a bulk marketing message blast is sent, most of the clicks occur within a few hours. After that, a few residual clicks will trickle in for a number of weeks. To provide predictability for the advertiser, during the delivery window the click quota reserved by the publisher is subtracted from the advertisers campaign budget. The remaining clicks continue to be available for other publishers to accept. As discussed infra with respect to
According to one or more embodiments, a 24-72 hour delivery window is established from the commencement date for click delivery set by the advertiser. For example, a 48 hour delivery window may be established; in the case that the publisher accepts an advertiser's offer after the commence date has begun, the deadline may be set at 48 hours from midnight of that day to allow the publisher time to send out marketing messages without penalty. However, other reasonable finite delivery window time periods may be established within the scope of the present disclosure.
At step 122, the calculated delivery window deadline is recorded to trigger activation of the steps of
At step 124, a creative HTML code is generated that is particular to each publisher for each marketing campaign for inclusion in the marketing messages that it sends out. It may be simply displayed in a dialog box in publisher dashboard 38 (at step 128) and cut and pasted by the publisher into the publisher's outgoing messages. The creative HTML code is based on the creative supplied by the advertiser and chosen by the publisher, described supra. The portion of the particular creative HTML code that defines the hyperlink that a target lead is intended to click is modified by server 12 to include metadata that allows server 12 to later ascertain the advertiser, marketing campaign, publisher and delivery window deadline when the hyperlink is clicked by a lead. Upon clicking this hyperlink, this creative HTML code is processed by server 12 as described below with respect to
Because a publisher may accept an advertiser's offer for fewer clicks than requested, at step 126, the number of unaccepted clicks is calculated. These unaccepted clicks remain available for other publishers to accept. At step 128, the publisher portal is updated, which is reflected in each active publisher dashboard 38. For the publisher that just accepted an advertiser's offer, dashboard 38 displays the parameters of the accepted offer, as well as parameters for other active campaigns the publisher has accepted. For other current publisher portal sessions, dashboard 38 is updated to reflect the decrease in available clicks by the number of clicks reserved by the accepting publisher.
Additionally, publisher portal 38 may display other metrics, including the number of clicks captured and capture time for each campaign, and dollars earned. Not all of the above data is necessarily displayed on the dashboard at one time. Buttons and other interactive HTML tools may be provided to allow the advertiser to select what data is displayed at any given time, whether it be marketing campaigns available for acceptance, current campaign performance, or historical data. Functionality to filter and sort data, for example, selecting discrete periods of time or only text message campaigns, etc., is preferably provided. A calendar display and graphical displays may be provided.
At step 130, if an advertiser whose offer has been accepted is currently logged into the advertiser portal of server 12, advertiser dashboard 24 may be updated in real time to reflect the changes. Specifically, dashboard 24 will show that the particular publisher has accepted a number of clicks and the number of available clicks remaining for other publishers to accept.
If lead 40 previously clicked on a hyperlink that submitted an HTML page request to server 12, regardless of the campaign, advertiser, or publisher associated with that hyperlink, server 12 may have written cookies to lead computer 44. If such cookies exist on computer 44, they will be automatically transmitted by the computer 44 along with the present HTML page request.
Regardless of whether previously created cookies are transmitted to server 12, server 12 may optionally transmit new cookies to computer 44 in response to the current HTML page request. Cookies may be used by server 12 for a variety of purposes, including fraud detection, data mining reflecting shopping interests of lead 40, and discernment of multiple duplicate clicks from a given marketing message.
At step 142, the publisher, advertiser, and campaign are determined by server 12 using metadata contained in the received HTML page request. That is, the particular creative HTML code established in step 142 of
At step 144, server 12 determines whether the click is duplicative, i.e., whether user 40 has clicked multiple times on the received hyperlink. In one or more embodiments, this determination may be made by identifying user 40, which may include determining the IP address of computer 44, meta hashing techniques, and tracking internet sessions. This data is stored in database 13, and database 13 is queried to determine if a click was previously recorded. Cookies, if any, received with the HTML page request, may also aid in determining duplicative clicks. Any suitable techniques to identify duplicative clicks, either now extent or yet to be developed, may be used within the scope of the disclosure. If server 12 determines that the click is duplicative, the click is not recounted and program flow proceeds to step 150; otherwise, program flow proceeds to step 146.
At step 146, server 12 determines if the click was received after the delivery window deadline that was established for that publisher (step 122 of
Finally, at step 150, the HTML page request is appropriately redirected to advertiser web server 28 at the destination web address specified by the advertiser (step 100 of
At step 160, server 12 queries database 13 to determine the number of clicks that have been counted resulting from the publisher's marketing efforts. These clicks have been recorded in database 13 as described above with respect to step 148 of
At steps 166 and 168, accounts receivable and payable and publisher and advertiser data and metrics are updated, respectively. Finally, at steps 170 and 172, any current publisher and advertiser portal sessions, respectively, are updated to reflect the current status in active dashboards.
In one or more embodiments, after a publisher has accepted a given marketing campaign offer, that publisher may be prohibited from a second acceptance of that marketing campaign offer. For instance, after the publisher's delivery window deadline has passed and undelivered clicks are reposted for acceptance, that publisher may not transmit another acceptance. This feature prevents publishers from circumventing the delivery window deadline in an attempt to capture lagging clicks.
In summary, to illustrate the method of
The present invention may be embodied in part as computer readable code on computer readable media, including any computer data storage device such as magnetic storage devices, optical storage devices or ROM storage devices. The computer readable code may also be distributed over a network between computer systems so that it is stored and executed in a distributed fashion.
The Abstract of the disclosure is solely for providing the a way by which to determine quickly from a cursory reading the nature and gist of technical disclosure, and it represents solely one or more embodiments.
While various embodiments have been illustrated in detail, the disclosure is not limited to the embodiments shown. Modifications and adaptations of the above embodiments may occur to those skilled in the art. Such modifications and adaptations are in the spirit and scope of the invention.