Exclusivity in internet marketing campaigns system and method

A marketing campaign collects data for page counts, sessions, orders, and revenue. Four kinds of campaigns are addressed: direct, deferred, site link tracking, and deferred site link tracking. A particular page visit in an end-user session “qualifies” for a campaign if it satisfies the configured conditions for the campaign; that is, if the target universal resource locator (URL) of the page is the landing page of the campaign, the referrer URL is the referrer page of the campaign, or the page tag contains the configured string for the campaign. The data is processed through a set of heuristics identified by marketing experts as the most likely paths to a sale, and exclusivity is assigned to the type of campaign with the highest priority.

FIELD OF THE INVENTION

The present invention relates to web page statistical reporting. In particular, it relates to data gathering and reporting techniques for web-based marketing campaigns.

BACKGROUND OF THE INVENTION

The World Wide Web (web) has rapidly become an invaluable tool to individuals and businesses. Not only can an individual or business post information on the web, but it can also use the web to transact business. Because the public is acutely aware of the web's business and personal benefits, millions of web pages are being added to the web each year.

Typically, a web page is defined by a document containing Hyper Text Markup Language (HTML) code. An HTML document suitable for posting on the internet includes both “content” and “markup.” The content is information which describes a web page's text or other information for display or playback on a computer's monitor, speakers, etc. The markup is information which describes the web page's behavioral characteristics, such as how the content is displayed and how other information can be accessed via the web page.

In order to provide web-based information and services over the internet, the web employs “client” computers, “browser” software, and “server” computers. A client computer is a computer used by an individual to connect to the internet and access web pages. A browser is a software application, located on a client computer, which requests, via the internet, a web page from a server computer. After receiving the web page, the browser displays the web page on the client computer's monitor. A server computer is a computer which stores web page information, retrieves that information in response to a browser's request, and sends the information, via the internet, to the client computer. Thus, after a web page is created, the page should be “posted” to a particular server computer which “hosts” the page, so that the page can be accessed over the internet.

One web-based service that has seen steady growth in the past decade is e-commerce. The percentage of sales made over the internet continues to grow by double-digits annually. With an adjusted retail sales value of over $36 billion dollars in the fourth quarter of 2007, the percentage of retail sales conducted over the internet increased nearly 5% over the same period the previous year, and accounted for 3.5% of total retail sales in 2007.

With this kind of opportunity for online sales, web merchants are anxious to learn how to leverage the benefits of e-commerce to maximize their own sales. Carefully planned and executed marketing campaigns allow e-commerce merchants to increase sales and return on investment. E-mail marketing, search engine advertising (keyword management) and affiliate marketing are just some types of popular marketing campaigns. Whatever type of campaign chosen, the key to a successful campaign is determining what brought the customer, or end-user, to the point of purchase.

Web analytics is focused on analyzing and understanding buyer behavior, expanding a customer base and increasing customer loyalty. When web analytics are applied to marketing campaigns, merchants may discover which campaign or campaign feature brought the customer to the point of purchase. However, a merchant may run concurrent campaigns, or use campaign features, such as site link tracking or natural search which may make it difficult to understand the path that led the customer to the final point of purchase. A need exists to provide merchants with a clearer indication of which campaign actually resulted in a sale.

The present invention provides a solution to these needs and other problems, and offers other advantages over the prior art.

BRIEF SUMMARY OF THE INVENTION

The present invention is related to a software system that solves the above-mentioned problems. A web analytics system and method for a marketing campaign collects data for page counts, sessions, orders, and revenue. A particular page visit in an end-user session “qualifies” for a campaign if it satisfies the configured conditions for the campaign; that is, for example, if the target URL of the page is the landing page of the campaign, if the referrer URL is the referrer page of the campaign, or if the page tag contains the configured string for the campaign. While these three filters are used as exemplary qualifiers it will be appreciated by those skilled in the art that other filters may be utilized without departing from the scope and spirit of the present invention.

When a merchant creates a campaign and a particular end-user's session qualifies for more than one of them (e.g. he visits a page that matches the landing pages of two different campaigns), the session plus any orders could be counted towards all of the matching campaigns. This situation is less than ideal for a merchant, because the totals for orders and revenue of all the campaigns will appear to be over-counted (i.e., some sessions may be counted twice). A feature of the present invention as described herein addresses this over-counting by allowing marketing campaigns or site link tracking campaigns to be exclusive. As will be described in more detail below, orders and revenue will be counted towards at most one campaign. Sessions may be counted towards all matching campaigns.

DETAILED DESCRIPTION

Commonly Used Terms

The following terms are commonly used in the web analytics field, or have developed a specific meaning within this technology area of practice. These definitions are meant to be illustrative only and may help provide context to and understanding of the system and method as described below.

Accumulator: a data storage component or class of the prediction engine which performs aggregation of historical data collected from report messages.

Big script: a set of JavaScript code downloaded to the client computer for use in a tracking session. These scripts may be system or browser specific. The scripts are designed to collect data and send a report message to the hint servers.

Campaign: a tracking object with one or more “filters” that yield several metrics.

Chip: a matched filter identifier.

Client-Side: The client system and the scripts downloaded to it for data collection.

Deferred campaigns: campaigns that track users that matched a direct campaign first and then came back to the website any time between original match and deferred expiration period (e.g., this could be set as a default to a 7 day period).

Direct campaign: campaigns that track users matching a certain filter.

Exclusivity: a way to tell which campaign “gets credit” for an order.

Filters: parameters of a campaign, such as landing page, referrer, or page tags.

Hint server: stateless server that matches patterns and serves predictions to client side and forwards report messages to the prediction engine.

Internal search: a project that tracks search queries used on merchant websites.

Match: a result of comparing an incoming data stream to patterns such as campaign information. A user session matches a campaign when there is a match to all filters associated with a campaign. For direct campaigns that means that all (one or more) patterns in landing or referring URLs or in a page tag are matched in a session. For deferred campaigns that means that a match can be made to a direct campaign that matched in a previous session within the expiration period.

Merchant: the merchant or website administrator of an online store.

Natural search: an object that tracks unpaid keywords from search engines that led to merchant websites.

Network File Server (NFS): a storage solution for data files.

Prediction Engine (PE): a server based system that performs data accumulation, prediction creation, and log output.

PE Cache: cache on the PE containing identifications of previously matched patterns. Contains session state for situations where the session state cannot be stored in browser cookies.

Page tags: a predefined javascript or other script variable set on a merchant's page that contains a certain string or pattern.

Referring domain: a domain (i.e., domain of website visited before the merchant's website) that a user/customer clicks through in order to reach the object of the merchant's campaign.

Report message: a package of data sent out by client-side computing device with data collected from the user's internet activities that passes through a preferred embodiment of this system, accumulating more fields in each step.

Search engine search: a mechanism (typically a campaign object used by merchants) used to track paid search queries from a particular search engine, such as MSN, AOL, Google, or Yahoo.

Serial: a merchant identifier allowing the system to identify the customer.

Series campaign: Campaigns that track a filter as well as a variable or URL parameter value.

Site link tracking: tracking when users move among internal links within merchant's website; a type of marketing campaign.

Small script: A JavaScript downloaded to the client computer for use in a tracking session. The small initially downloaded script that is designed to work in many systems or browsers. The small script subsequently enables downloading a second script identified as big script. This initial script may also be designed to collect data and send a report message to the hint servers.

Target matches: field in report message specifying what patterns were matched by the hint server.

Vis Chip: a “visit chip;” denotes previously matched patterns; part of the cookie on the client-side that is passed as a field in the report message.

Introduction

An online marketing system utilizing the features contemplated by a preferred embodiment of the invention is presented inFIG. 1. This diagram represents a preferred embodiment of a web analytics system and method providing exclusivity in campaign tracking. The system100might be include an end user/client computing device with internet connection and browser software102; a merchant site hosting content and e-commerce web pages104; a content-delivery network server106and an analytic system108. This analytic system108may include a service console providing access to a web analytics host server, hint servers110, prediction engines112, a Network File Server (NFS) with site manager and log writer114, and a database with reporting module116. Although one database is pictured in the diagram, it will be appreciated by those skilled in the art that database management system with information distributed among several may be utilized without departing from the scope and spirit of the present invention. These exemplary components are connected through various intermediary networking devices and controls (not shown). While this diagram illustrates the components of a system for on-line marketing campaign tracking, it will be recognized by those skilled in the art that various other configurations or component substitutions are possible while still performing substantially the same functions. For instance, a third party e-commerce server may be included to host the online store, or a separate content delivery system may not be included.

The end user/client computing device102might be any device with internet access, such as a desktop computer, a laptop, Personal Digital Assistant (PDA), or cell phone. The web analytics system108plugs into the browser software on the client computing device or system102using a set of scripts105,109downloaded from a content delivery server106and the web analytic system107. The scripts create cookies that are maintained on the user's system and collect information on the user's previously visited marketing campaigns on a merchant's website, e.g., data gathered as the user views the merchant's web pages103. Contents of the cookies are sent in a report message304back to the hint server110.

The web analytic system108hosts a graphical user interface (GUI) that allows subscribing merchants to configure their marketing and site link tracking campaigns as they wish. This GUI, or service console, also provides analytical tools and reporting capabilities. In addition, the console hosts the reporting module which allows the merchant to view statistics for their campaigns, using standard or customized reports.

Referring again toFIG. 1, the analytic system108represents the neurocenter of the process. An exemplary system of a preferred embodiment uses a cluster of identical containers, each of which handles part of the traffic, for all merchants. A load balancer107distributes traffic to the hint servers. The hint server110preferably identifies the merchant owning a given incoming report message, dispatches report messages to the correct prediction engine112, performs synchronous communication with the client102, distributes state management instructions for segments, campaigns, and conversions, as well as caches and retrieves predictions.

The prediction engine's (PE)112role is to maintain global statistics on data such as conversions and top selling products; maintain per-page statistics (e.g. path analysis); provide real time statistics for reporting, maintain unified web logs and build predictions. An exemplary PE112may be an array of very large stand-alone processes. Each PE may handle all of the traffic for a given set of merchants. The PE writes predictions over the file system and notifies hint servers via multicast, and periodically writes global statistics to the database.

General Operation

In the current state of the art, when a merchant creates a set of marketing or site link tracking campaigns, and a particular end-user's session qualifies for more than one of them (e.g. user visits a page that matches the landing pages of two different campaigns), the session plus any transaction data such as orders are counted towards all of the matching campaigns. This situation is less than ideal for a merchant, because the totals for transaction data such as orders and revenue of all the campaigns will appear to be over-counted (i.e., some orders may be counted twice). One feature of the preferred embodiment of the present invention addresses this over-counting by allowing marketing campaigns or site link tracking campaigns to be exclusive: As will be described in more detail below, transaction data such as orders and revenue will be counted towards at most one campaign. In an embodiment such as this, sessions are counted towards all matching campaigns.

The web analytics system108uses a patch or piece of software code operating on the merchant website104to load scripts103that collect information and keep state about the end-user. This information is transmitted in a report message304from cookies placed on the end-user/client's system102to the web analytics hint servers110. It will be appreciated by those skilled in the art that alternatively this information could be transmitted directly between the merchant website104and hint server110rather than utilizing a communication link through the end-user/client's system102. A session cookie is used for storage of state between page views within a session, and a persistent cookie is used for keeping “user” state between visits to a merchants website. The client-side (e.g., client102) generates a session ID on entry to a site such as website104. The client-side collects and stores page attributes, such as URL, referrer and title, and computes page timing statistics, such as display time, read time, and connection type (depending on the browser used). Additional functionality on the client side includes computation of session-level attributes, gathering end-user system information, collecting e-commerce actions, gathering custom data from cookies or URL parameters, performing form tracking and storing campaign matches.

The information gleaned from the client side is contained in a report message304that is sent from the client side to the analytic system at point107inFIG. 1. The report message is received and processed by the hint server110. An example of a client portion of a report message structure200containing a vis chip202that might be used in a preferred embodiment of this invention is displayed inFIG. 2. Referring toFIG. 3, the original message is an indexed string of data sent from the client system102. The report message originally supplied by the client system102contains a list of all campaigns visited304. In this example300, the values consist of a prefix to identify the type of campaign, type of filter, and a campaign ID. In a preferred embodiment of such a system, all direct campaigns should be listed in order of qualification in the vis chip202. This simply means storing the tags in the session cookie in the order they are added, and for repeat qualifications of the same campaign, moving the tag to the end of the vis chip202. For example, if an end-user visits the landing page g1, the vis chip202is reported as “g1”; if he then visits the landing page g2, the vis chip202is reported as “g1, g2”; finally, if he then returns to g1, the vis chip202is reported as “g2, g1” since g1is the most recent landing page visited.

As the report message304passes through the hint server110, the hint server110appends additional fields to the report message400,304(shown inFIG. 4) and passes the amended report message to the PE112. A set of instructions is sent back to the client102to set cookies to certain as message/hint306. For deferred campaigns, the chip is passed back to the client102as a persistent cookie (for further data collection) and a report with the same information is transmitted to the PE112. The PE112will add its own set of values500as shown inFIG. 5after processing, and the entire message is archived in a log file in the NFS113,114. An exemplary final message is shown in Table 1 below.

At the hint server110, match referring URLs, landing URLs and page tags to campaign filters and set matches in target matches. Each matched filter results in a “chip” that is part of a report message returned to the web analytic system108by the client102. PE112examines target matches and data in the vis chip202to determine whether metrics need to be incremented or whether the target had been visited previously in this session.

The client102does not need to distinguish between direct campaigns and deferred campaigns. This is sufficient data for the server110to infer which deferred campaign was visited most recently. Deferred campaigns are reported in the vis chip202in the format <tag>′<expires>; for example, “G5023′1059501600000”, meaning the landing page for deferred campaign 5023 with landing page filter expires at time 1059501600000. If there is more than one filter in a campaign, would have chips for both filters. If you don't, the PE won't find it a full match and counters for 5023 will not be incremented. By looking up the expiration time of the deferred campaign in its CampaignConfig entry, the most recent time the deferred campaign qualified can be inferred. More precisely, a CampaignConfig entry actually stores how many days may pass between direct match and a subsequent visit to count as a deferred match.

For example, if the vis chip tag says that campaign 5023 expires in 3 days for that user, and the campaign itself has an expiration time of 7 days, it can infer that the last time the user qualified for the deferred campaign was 4 days ago.

A PE112is the workhorse of the web analytics system. The PE112in the preferred embodiment is a standalone Java application, the objectives of which are to aggregate data to produce history, analyze data to produce predictions, and format data to produce logs. Data is received from the hint server110, where raw report messages have been matched against campaign information and amended with additional fields before being passed. The data is processed and stored in the accumulator, a report class in the PE112that contains data prepared for output to the merchant, which will be written to the reporting database115,116.

FIG. 6is a flow diagram600illustrating the algorithm used to determine and report the campaign data. When the accumulator processes a report message602with an order page tag, it adds order/revenue data to the total orders and total revenue counters610using a variable cStatus606. The variable cStatus is a string containing the comma-separated list of indices of campaigns and segments for which the order qualifies (i.e., the matches found so far in the session). The counters also store the order/revenue data for campaigns610.

When the configuration parameter “exclusive-campaigns” is true604, the accumulator will not pass in cStatus directly to these counters, but will first determine a subset of the indices608that is consistent with a set of defined priority rules. These rules allow the order and revenue to be assigned to the campaign with the highest priority. In a preferred embodiment, the following rules might apply:Direct campaigns always have priority over deferred campaigns;Between two direct campaigns or two deferred campaigns, the latest visited has priority over the earlier visited;A campaign without a filter (landing/referrer/pre-processing rule) is considered to have been visited later than any campaign with a filter;If the same page of a session qualifies for multiple direct or deferred campaigns, no priority order is defined, i.e., one of the campaigns is picked;If an order occurs in a session that both qualifies for a marketing campaign and matches one of the referring domains/search engines, the order and revenue will only be applied to the campaign (if marketing campaigns are marked as exclusive, they are exclusive with the order/revenue information added to the referring domains and search engine reports as well);If a session belongs to both a regular campaign and a site link tracking campaign, the orders and revenue should be added to both;Within site link tracking campaigns, the same rules as marketing campaigns apply;Site link tracking is never exclusive with Referring Domains and Search engines;Natural search campaigns only get credit for orders if and only if there are no other direct or deferred campaigns that matched at the same time.

Essentially, the functionality should analyze the cStatus list and remove indices for direct campaigns that qualified before other direct campaigns according to cStatus, and remove indices for deferred campaigns that qualified before other deferred campaigns or direct campaigns. By passing in this revised cStatus, orders and revenue will be exclusive.

To construct cStatus'608(the cStatus string with exclusivity applied) an algorithm considers each index found in cStatus; each one should map to an active campaign or segment. Then the following rules are applied612,614:The exclusivity algorithm looks at three configuration parameters: internal search exclusivity, marketing campaign exclusivity and site link tracking exclusivity. The rules listed above are applied to the sequence of recently visited campaigns using the following algorithm:If internal search exclusivity604is enabled, then order and revenue will be assigned to the last keyword. If internal search exclusivity is disabled, order and revenue are assigned to all internal search keywords;If site link tracking exclusivity604is enabled, and there are site link tracking campaigns without filters, the order and revenue is assigned to those campaigns. Otherwise, order and revenue will be assigned to the last qualified campaign (as described above, direct takes precedence over deferred).If marketing campaign exclusivity604is enabled, and there are marketing campaigns without filters, the order and revenue are assigned to those campaigns. If not, the order and revenue are assigned to the last qualified campaign.If a session belongs to both a regular campaign and a site link tracking campaign, the orders/revenue may be added to both.

The “PE cache” is essentially a server-side cache of vis information kept by the PE112for those sessions where the client102is unable to set the vis chip202(e.g. for incomplete-download reports and reports from reduced-support browsers). An entry is added to the PE cache if the report kind indicates that the client will not be able to set the vis chip202. The entry consists of the matches in a TARGET_MATCHES field. The cache entry's format is identical to the vis chip202.

The PE cache607stores the visited tags in qualification order. That is, when multiple pages of a session add to the same PE cache entry, later qualifications should appear later in the string.

In this preferred embodiment, it is not desirable to maintain most-recent ordering information between the PE cache and the vis chip202. However, the primary case where a session has data from both the vis chip202and the PE cache is when one of the first pages of a session is an incomplete download. So the heuristic it will use is that PE cache information is considered older (qualified earlier) than vis chip202information.

The analytics system108stores the data616and provides the merchant with detailed descriptive reports618,700that enable them to understand the processes that bring a user to make a purchase on their site, i.e. which campaigns are the most successful.FIG. 7is a screen shot of a marketing campaign report displaying, among other things, page views702, sessions704, orders706, and revenue708, for various product segments710.

In addition to storing the results of the accumulator which identify the most successful campaigns, more granular data may be stored in a data warehouse116,616. A warehouse platform could use the results of the exclusivity algorithm to determine which campaign to assign each order to. Each report message produced by a PE112and consumed by a warehouse platform would contain at most one marketing campaign, one site link tracking campaign, and one internal search campaign (when each of the corresponding exclusivities are enabled) in dedicated report message fields. This more granular data allows creation of reports that for example would allow a merchant to view the path traversed by the user in the process of reaching the campaign and making a purchase.

Likelihood of Purchase

In this feature, merchants can track on a per-link basis the “likelihood of purchase,” which is calculated by dividing the non-exclusive number of orders by the non-exclusive sessions. This will require keeping an extra “bucket” of information in site link tracking (i.e., non-exclusive orders in addition to the current exclusive orders).

One way to do this in the accumulator would be to define another counter that is identical to the ORDER_HOUR counter, except that it is passed cStatus instead of cStatus'. The campaign array for that counter may be used to determine likelihood of purchase.

Limits and Boundaries

When a page of a session qualifies for multiple campaigns, the “latest” one among that set should be considered non-deterministic. The qualification order between data in the vis chip202and the PE cache is a heuristic.