All of the material in this patent application is subject to copyright protection under the copyright laws of the United States and of other countries. As of the first effective filing date of the present application, this material is protected as unpublished material. However, permission to copy this material is hereby granted to the extent that the copyright owner has no objection to the facsimile reproduction by anyone of the patent documentation or patent disclosure, as it appears in the United States Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
This present invention generally relates to the field of internet based marketing and advertising, and more specifically to targeted advertisement, targeted messaging, on an interface for a browser.
The sales of mobile computing devices including smartphones and tablets continue to outpace the sales of desktop computers. Owners of websites try reduce the rate at which users abandon their web sites prior to completing registration, completing a lead form or abandoning a shopping cart before final checkout. There are many reasons why users abandon websites. One reason is users are often distracted or confused when interacting with websites. Distractions can be caused by interruptions or simply by rushing or simply a change in expectation, i.e. registration to the website is required. For example, social networking sites typically require registration. Many times a user will often become bashful or unwilling to share information. Although the term “website publishers” and “web retailers” are used throughout this application, it is important to note that the term Lead generation (commonly abbreviated as lead-gen) is a marketing term that refers to the creation or generation of prospective consumer interest or inquiry into a business's products or services. Often, lead generation is associated with marketing activity targeted at generating sales opportunities for a company's sales force. Lead generation often uses a lead form such as a questionnaire for insurance, mortgage, loan, credit card, pre-paid card and the like. A lead is therefore correctly described as information regarding or provided by a consumer that may be interested in making a purchase; whereas, generation is one of a myriad of activities that may produce that information and perceived interest.
The present invention, also known as TeamSalesAgent™ (TSA) mobile edition, is the solution for e-commerce, lead generation and co-registration websites and web-enabled applets presenting web pages interested in increasing sales, dramatically improving their level of customer service and decreasing the company's overhead costs of using “live” sales agents. This unique chat technology fuses self-learning, artificial intelligence with the popularity and ease of online messaging. TeamSalesAgent works 24/7/365 to deliver increased conversions and decreased abandonment.
TeamSalesAgent Benefits include:
The present invention is uniquely designed to interact with web retailer's customers with real agent reaction times as they give astute answers directly concerning web retailer's products and goals or offer incentives to complete an action. The patented artificial intelligence engine uses the combination of Bayesian probability and statistics keyword selection, natural language parsing and regular expression processing. Every client interaction is recorded and analyzed, and as a result of the analysis, changes in the answer database are made.
More specifically, the present invention provides a method to present a browser-based chat and messaging window (“chat window”) made to look like an instant message window from a live person as an exit pop when a user exits a web site. In another example, the present invention launches a chat window during a session, such as after a settable period of time, or after settable period of user inactivity or a combination of both. Many times, a user will abruptly terminate a shopping cart, registration or lead abandonment at a website. In one example, the method includes presenting at least one messaging window after the end-user terminates a web session. Next a message is displayed to the end-user through the messaging window. The response from the end-user is reviewed using a combination of scripting and artificial intelligence. In this example the scripting, the messaging window and the artificial intelligence are all managed via a web site.
In one example, a computer-implemented method for presenting a customized chatbot is disclosed. From a perspective of a chatbot server, the method begins with receiving information associated with a first party. The first party in this example is an end user of a system such as wireless device. The information includes demographic information of the end user and/or behavioral information of the end user. Typically the demographic information is previously gathered through one or more of an IP address or GPS location of the end user, cookies, and information received from the web retailer. Likewise the behavioral information is previously gathered through cookies and information received from the web retailer. The behavioral information includes metadata associated with the end user collected from various sources including the web page document of the web retailer and other metadata collected from other sources.
The behavioral information may include a source identifier of how the end user was directed to the web page of the second part. The source identifier may include any of a referring website from which the end user navigated, a selectable hyperlink selected by the end user. The selectable hyperlink may be in any of a search engine result, a search engine sponsored advertisement, a web page advertisement, an email, and a text message.
A chatbot, typically with a messaging window, is presented on the end user system as a web page document of a second party. The second party in this example is a web retailer. The messaging window is customized to the end user based on of the demographic information and/or the behavioral information of the end user. The messaging window is customized to include of one of an initial greeting, an appearance of the messaging window, and a picture of an agent, or a combination thereof. Customization of the messaging window of the chatbot is managed using a web-based management console hosted by a third party, such as the assignee of the present patent application.
A trigger may be used to launch the chat bot on the end user system. The trigger includes any of leaving the web page, selecting specific links, change in domain, abandon shopping cart, minimizing a web page, inactivity timer expiring, selection of click to chat button, cursor position on the web page, hover position of a cursor on the web page, or a combination thereof.
In another example, an advertisement from an advertisement database is selected. The third party is typically a seller of a good or service that may not be the web page of the web retailer on which the chatbot has been launched. For example, if the web retailer is a furniture store, the advertisement may be a credit card offer. The advertisement is selected based on the demographic information of the end user and the behavioral information of the end user. The advertisement is sent to the end user, after a settable period of time. The advertisement can be delivered to the end user through the chatbot itself. In another example the advertisement is delivered to the end user via any of a text message, an email message, a voice message, a banner advertisement, a print advertisement in print media, a broadcast advertisement; a postal mail advertisement, or a combination thereof. Again here, the selection of the advertisement may be managed using a web-based management console hosted by a third party, such as the assignee of the present patent application.
The messaging interaction between the end user and the chatbot server continues. The chatbot server receives a message from end user via the messaging window. Keywords are identified in the message. A response is selected based on the keywords identified in the message. The response is sent from the chatbot to the end user. In one example the selecting of a response is based on one or more of the demographic information of the end user and the behavioral information of the end user.
In one example, a message received by the chatbot from the end user is an explanation for discontinuing a transaction with the web retailer. The advertisement selected from the advertisement database is selected based on the explanation received.
Example of explanations by the end user includes any of shipping is too expensive, shipping is not available to a shipping address provided by the end user, a selection of at least one of a good and a service offered by the web retailer party is limited, financing is necessary to complete a purchase of at least one of a good and a service offered by the web retailer, an inadequate security of the web page of the web retailer and the end user is on a public computer, an inconvenient time, an inconvenient location of the computer of the end user to complete the transaction with the web retailer, or a combination thereof.
Moreover in another example, the chat bot server identifies when the end user is using a mobile wireless system. Based on the end user system being identified as a mobile wireless system, a message is sent from the chatbot to the end user which includes an invite for a voice telephone call.
In still another example, disclosed a novel system and process for launching a messaging window such as a chat bot, especially in a mobile platforms such a smart phones and tablets. The process begins with displaying a web page in a browser window with a primary top bar and a display window. For some browsers, the top bar includes a back button, an address bar, a tittle, a browser tab, a home button as well as other buttons. In response to receiving user input to scroll the webpage contents, the webpage contents of the browser window are scrolled in a horizontal direction, a vertical direction, or a combination thereof. Also, a secondary top bar, as a previously invisible graphical element within the webpage contents of the web page is now displayed in substantial position and with the substantially the same appearance to look like the primary the top bar. In response to receiving user input in the vicinity of the secondary top bar, the system triggers a presentation of a messaging window or chat window.
The foregoing and other features and advantages of the present invention will be apparent from the following more particular description of the preferred embodiments of the invention, as illustrated in the accompanying drawings.
The subject matter, which is regarded as the invention, is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features, and advantages of the invention will be apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention, which can be embodied in various forms. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present invention in virtually any appropriately detailed structure. Further, the terms and phrases used herein are not intended to be limiting; but rather, to provide an understandable description of the invention.
The terms “a” or “an”, as used herein, are defined as at least one or more than one. The term “plurality”, as used herein, is defined as two, or more than two. The term “another”, as used herein, is defined as at least a second or more. The terms “including” and/or “having”, as used herein, are defined as comprising (i.e., open language). The term “coupled”, as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically. The terms “program”, “software application”, and the like as used herein, are defined as a sequence of instructions designed for execution on an information processing circuit. A program, computer program, or software application may include a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on an information processing circuit. Further, the terms “present invention” and “Team Sales Agent” or “TSA” or “application” and “applet” are used interchangeably herein.
The term “chatbot” also known as “chatter robot”, “chatterbot”, “virtual agent”, virtual sales agent”, “artificial intelligence agent” or “chat bot” is a computer program designed to simulate an intelligent conversation with one or more human users via auditory or textual methods, primarily for engaging in small talk. An aim of such simulation has been to fool the end-user into thinking that the program's output has been produced by a human.
Prior to the present invention, publishers and/or retailers had to primarily rely on exit pops and follow-up emails to attempt to recover lost customers or cross-sell or up-sell them. The present invention is designed to effectively reduce shopping cart, lead and registration abandonment. The present invention has to be capable of up-selling and cross-selling as well, while providing the customer with a satisfactory experience. The present invention is customer friendly and provides real-time campaign management and reporting for publishers. Powered by a self-learning artificial intelligence engine, the present invention assists publishers in increasing their revenue opportunities. The present invention has been successfully deployed and continually enhanced and improved to meet the changes and needs of a growing market.
The present invention recovers many users that abandon websites or web registration process. The chatbot assists with the return of a user to the website or redirection to a third-party website for cross-selling or up-selling. An example would be: sell PC but direct to third-party warranty company for the purpose of closing the sale, to cross sell, up-sell, or build customer relationship.
The present invention provides web retailers with tight control of the artificial intelligence (AI) programming with fast setup to meet the demands of fast moving, easy to turn off and short-lived sales campaign. This is especially important to meet sales campaigns, sales promotions, regional customer demands and seasonal purchases.
Further, the term “campaign” is used to denote a web retailer's campaign during a specific period for a specific area of the web retailer's site. It is important to note that a campaign can be a global campaign, i.e. across multiple web retailers, a target campaign and a default campaign. If a web retailer has only one campaign, by definition it is the default campaign. Further, a “target campaign” can change frequently and be directed to only certain products and services offered through the web retailer's site.
Turning now to
TeamSalesAgent server(s) 130 is also communicately coupled to the communications infrastructure 110. The TeamSalesAgent server(s) 130 can be realized in a centralized fashion in one computer system or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system—or other apparatus adapted for carrying out the methods described herein—is suitable. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
In general, the routines executed to implement the embodiments of the present invention, whether implemented as part of an operating system or a specific application, component, program, module, object or sequence of instructions may be referred to herein as a “program.” The computer program typically is comprised of a multitude of instructions that will be translated by the native computer into a machine-readable format and hence executable instructions. Also, programs are comprised of variables and data structures that either reside locally to the program or are found in memory or on storage devices. In addition, various programs described herein may be identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature that follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature. Although the exemplary embodiments of the present invention are described in the context of a fully functional computer system, those skilled in the art will appreciate that embodiments are capable of being distributed as a program product via CD or DVD, e.g. CD 132, or other form of recordable media, or via any type of electronic transmission mechanism.
When information regarding a specific user is known, the chatbot in one example is customized dynamically to the specific user. For example, specific information about the end-user includes demographic information, such as, the end-user's address and/or zip code and/or age and/or gender and/or race. Information about the end-user can be derived through a variety of sources such as previous registrations with the retailer's site, the end-user's IP address, previous interactions with the chatbot or through other sources. This feature enables highly customizable chatbots specifically tailored to the specific user. Moreover, in another embodiment, not only is the “look and feel” of the chatbot customized to a specific user, but the greetings, the sales pitch and/or the replies are also customized to a specific user.
The picture of the agent, in this example with the name Kim, or chatbot is shown along with a dialog box between Kim and a user (Web retailer). It is important to note that the layout of the chat window is not limited to the window shown and many configurations are contemplated within the true scope and spirit of the present invention. In one example, the skin or “look and feel” of the layout of standard and customizable user interface components and any accompanying graphics of the chatbot chat window can be customized. For example, retailer-A may want a certain color scheme and graphics to match their own corporate branding, while retailer-B may want another color scheme and graphics to match their own corporate branding. These skin definitions are settable using the TSA management console described in more detail below. Furthermore, these skin definitions can be rotated just as the picture of the chatbot.
In one example, some of these settings are static, e.g. the various settable timers, reading timers, typing timers, are the same for all chat sessions. Other examples of settings are dynamic, e.g. agent photo, agent name, agent picture position on screen, campaign ID, timers, and greetings, sent only for when the particular chat session is initiated. In another example, the setting can be changed depending on information received from web retailer's site, such as demographic information or even personal information such as name of chat user. Further information such as a name of the chatbot, a persona presented (personality such as youthful, mid-western, age, and educational level) to a user, and a national language of the chatbot.
The process loop waits for a request from the chat in step 308. Once a request is received from chat 308, the process continues with determining the type of response, e.g. is it a greeting 310, then select and output greeting 312 based on preferences setup in TSA management console. Likewise, if the request is a sales pitch request, e.g. is it a sales pitch 314 then select and output sales pitch 316 based on preferences setup in TSA management console. Alternatively, if the request is a user question request, e.g. is it a user question 318, then select and output response 320 based on preferences setup in TSA management console. A more detailed explanation of the response selection process is discussed in
In step 406, the setting from the TSA management console are loaded such as, but not limited to, sales pitch delay, agent is typing message, typing timer, reading timer, agent photo/name, and chat window position.
The chatbot runs on the client device 102, 104, and 106 typically after a predefined event. The TSA window can load on various events such as the end-user leaving a web page, an abandoned shopping cart, a web page domain change, or other link selected. It should be understood the TSA window can launch on other events such as no input from the end-user for a predetermined amount of time. In one example, an inactivity timer is used to trigger the predefined event. This inactivity timer is set in the TSA Management console along with other times. Still, in another example, if the web page or primary applet is minimized, this is used to launch the chatbot. Still further, one or more cursor positions can be used to trigger when launching the chatbot such as the minimize cursor position, close cursor position, URL cursor position, help cursor position, hover for a period of time, and more. Accordingly, a decision is made whether or not to launch the chatbot chat window based on one or more even/response pair triggers. This decision to launch is made while the end-user is interacting with the web retailer's page or while interacting with a specific applet.
Once the chatbot chat window is loaded in step 408 as shown in
In response to sales pitch was complete being completed, i.e. No Sales Pitch 416, the Sales Pitch Complete Flag 428 is set and a process loops on whether user input is received 432. Once a user question is received, it is sent to TSA server 103 and a response is received 436. To avoid the appearance of being too fast responding to a user question, a message on the chat box chat window “agent is typing” is displayed in step 438 and typing timer is set in step 440 before presenting the response 442 to the end-user. In the event the sales pitch was completed in step 430, the process loops in step 432 waiting for user input. Otherwise, the sales pitch process is continued in step 418.
Chat engine 550 sitting on TSA server 130 receives request from the chat window 500 and finds answers to each request to send to the chat window 500. The process begins with Get Request Type 552 for passing the various requests to different sub-handlers depending on the type of the request. A response 572 is provided. There are two types of Request Types. A first type of request type is handled through the Engine 570 using artificial intelligence and/or neural networks. A second type of request type is handled by parameters, settings and responses for a campaign setup using the TSA management console. The sub-handlers include a sub-handler for “Greetings” 554, which tests whether the “Response=Random Greeting” is set by the TSA management console. The sub-handler “Sales Pitch” 558 and whether Reponse=MySite” is set by the TSA management console for a given campaign. The sub-handler “Format” 562 helps arrange and convert the answer to a request that is received from the chat window 500 based upon setting from the TSA management console. The sub-handler “Request” or “User Question” 566 handles general questions from a user typing in the Chat Window 500. The sub-handler “User Question” 566 uses the Engine 570 to find a response.
The Engine 570 in one example is a neural network engine. One example of an engine that has been shown to work advantageously with the present invention is disclosed in U.S. Pat. No. 7,529,722, with inventor Gene I. KOFMAN et al., filed on Dec. 22, 2004 entitled “AUTOMATIC CREATION OF NEURO-FUZZY EXPERT SYSTEM FROM ONLINE ANALYTICAL PROCESSING (OLAP) TOOLS”, the teachings of which is hereby incorporated by reference in its entirety. The engine bases its responses on the probability of matches to a user question using NeuroFLexSysPR. For error checking purposes if no response is found to a question, a no response is selected.
The response is sent from the Chat Engine 550 to Chat Window 500 and the method 526 handles the presentation of the response to the end-user. It may delay the response depending on TSA management console in loop 532 and 534. There are several timers set at the management console such as “agent typing timer”, “delay agent timer” and other timers to make the chat bot appear human. The “agent is typing” message 534 is used to notify the end-user that a response to their questions is being formulated and composed. This “agent is typing” message is cleared when the response is complete.
The process begins at step 602 where responses to Global Campaigns are searched in order to identify user's questions that are to be handled the same, no matter the web retailer's campaign. Next in step 604, if a response is found the response is sent in step 612. However, if a response is not found, a test is made to determine if this is part of a target campaign in step 606. If it is part of a target campaign setup by a web retailer to handle a special product line or situation, the response for the target campaign is searched in step 608 and if a response is found in step 610, the response is sent in step 612. If a response is not found to a web retailer's target campaign the process continues to look at target campaign's no response settings previously set up through the TSA management console and save it, in step 626, for future use. If a default campaign exists, step 628, the default campaign, is searched in step 630 and, if the response is found in step 632 the response is sent in step 612. However if no response is found in step 632 or if a default campaign is not set up in step 628, the previously saved no response from step 626 is sent in step 612. The no response found setting in one example causes the chatbot to ask a clarifying question such as “please rephrase your question.”
In the case where the target campaign is not used in step 606, the process flows direct to search the hierarchy in step 618 as shown. An example of a hierarchy of campaigns is a retailer site having a holiday special, then there is holiday terminology in the sales pitch or greeting or both, such as “Happy Holidays” or “We are running a special for Christmas!”. There may also be a winter campaign and a default campaign. Each campaign may offer, for example different discounts, different delivery options and more. A target campaign is said to have precedence depending on when it is active. In this case, the campaign may take precedence from November 1st through December 24th. This precedence-in-time creates a hierarchy. If the holiday special campaign would answer any questions first from a user and if no answer is found, the system looks to other campaigns including the default campaign. This date-based hierarchy searches campaigns based on each campaign's start date; the campaign with the earliest start date is searched first. In the event a response is found in step 620, this is sent in step 612. However, in the event that no response is found, in step 620, the “no response” from the first campaign is set and a no response set in step 624 is sent in send response step 612. Although a date precedence hierarchy has been shown, other hierarchies such as sequence numbers have been shown to work advantageously within the true scope and spirit of the present invention.
Starting with advertising system 720, an end-user using a web browser or other applet or application 722 on a computer, such as a smart phone, a laptop or tablet computer, begins by requesting an affiliate website 724. In one example, the affiliate website 724 is a website, such as a content provider with advertising space 726. An advertising server 732 which includes the predictive model 728 coupled to one or more context database(s) 730. The advertising server 732 includes a group of “offers” or direct advertisement in an advertisement database 734.
In operation, when an end-user, browsing on the Internet, accesses an affiliate's web site 724 which would typically include media content and advertising space 726, the end-user's browser 722 generates an http message to get the information for the desired Web page. The affiliate's web site 724 in response transmits one or more messages back containing the information to be displayed by the end-user's browser 722. In addition, the advertising server 732, using a local database 734 containing advertising and user data, provides additional information comprising one or more objects, such as a banner advertisement, to be displayed in the advertising space 726 along with the information content provided from the affiliate web site 724. Upon clicking through by selecting the advertising space 726, such as a banner advertisement, the browser 722 is connected to the direct advertiser's web site (not shown) i.e. a third-party website.
The basic operation of the advertisement system 720 provides for the selection of advertising targeted to the end-user on an affiliate website 724. The predictive model 728 processes all of the informational context in the database 730 and selects a single direct advertisement from a database of available advertisements 734, or a ranked order of direct advertisements to advertising server 732, to which the end-user is most likely to respond.
The direct advertisement that is selected is dynamically delivered through to the end-user for him or her to view through a web browser 722 to advertising space 726. The end-user may then interact with the direct advertisement. The end-user may respond to an interactive button on the advertisement, an Internet forms or lead-form, a fax-back systems, a toll-free number, a direct mail postcard. This interaction with the direct response advertisement(s) are used as explicit feedback and this context is updated in database 730. Feedback is transmitted back to the predictive model 728 directly from the end-user web browser 720 or through a proxy server, such as, the advertising server 732. For example, filling out a form, placing an order, supplying a credit card number, completing a survey, providing a survey or lead form, executing a software download, etc. are all forms of transactions. This feedback may include detailed information about a particular end-user's response to a direct advertisement, as well as the context, under which the response was obtained. Alternatively, the feedback may include a subset of the preceding information. Or, the feedback may convey information that the end-user did not respond to the advertisement, if such was the case. The feedback information is used by the predictive model 728 to further refine future predictions about the optimal advertisements to deliver and maximize utilization of the advertising space 726.
Transaction results of the direct advertisement placement are reported back to the predictive model 728. In one example, the direct advertiser's server 732 reports transactions back to the advertising server by a proxy (not shown) server. In another example, email reporting is used.
The history of website visits and browsing history may also be used to deliver relevant messaging. For example, if a given user has visited a baby products site, and a prepaid college site, the reports back the advertising server indicates the user is interested in information related to babies.
Many of the functional details of chatbot system 750 are described in
In operation, when an end-user, browsing on the Internet, accesses an affiliate's web site 724 which would typically include media content, triggers the chatbot 756 to launch. Launching of the chat window can be triggered by a variety of activities including no activity from the end-user within a settable period of time, leaving a web page, selecting specific links on a web page; a change in domain; abandoning a shopping cart; minimizing a web page; inactivity timer expiring; selection of click to chat button; and cursor position on the web page, or a combination of these. Once the chat window is launched, the chat engine 550 performs as described above in
Information from the end-user through chat window 756 including questions, responses and reasons including “why” a transaction is being discontinued by the end-user are stored in database 760. This reason provides important additional information to the end-user's behavior. This interaction with the direct response from the end-user via chat window 756 is used as explicit feedback and this context is updated in database 760. For example, filling out a form, placing an order, supplying a credit card number, completing a survey, providing a survey or lead form, executing a software download, etc. are all forms of transactions. This feedback may include detailed information about a particular end-user's response to a direct advertisement, as well as the context under which the response was obtained. Alternatively, the feedback may include a subset of the preceding information. Or, the feedback may convey information that the end-user did not respond to the advertisement, if such was the case. The feedback information is used by the predictive model 758 to further refine future predictions about the optimal responses or offers to deliver from the chat server 752 to the end-user through chat window 756.
In operation, when an end-user, browsing on the Internet, accesses an affiliate's web site 784 which would typically include media content and advertising space 786, the end-user's browser 782 generates an http message to get the information for the desired Web page. The affiliate's web site 784, in response, transmits one or more messages back containing the information to be displayed by the end-user's browser 782. In addition, the advertising server 792, using a local database 794 containing advertising and user data, provides additional information comprising one or more objects, such as a banner advertisement. Upon clicking through by selecting the advertising space 786, such as a banner advertisement, the browser 782 is connected to the direct advertiser's web site (not shown) i.e. a third-party website.
The basic operation of the advertisement system 780 provides for the selection of email or text advertising targeted to the end-user. The predictive model 788 processes all of the informational context in the database 790 and selects a single direct advertisement from a database of available advertisements 784, or a ranked order of direct advertisements to advertising server 792, to which the end-user is most likely to respond.
The direct advertisement that is selected is dynamically delivered through to the end-user for him or her to view through email and/or text messaging. The end-user may then interact with the direct advertisement. The end-user may respond to an interactive button on the advertisement, an Internet forms or lead-form, a fax-back systems, a toll-free number, a direct mail postcard. This interaction with the direct response advertisement(s) are used as explicit feedback and this context is updated in database 790. Feedback is transmitted back to the predictive model 788 directly from the end-user through email, text or SMS messaging, a web browser 782 or through a proxy server, such as, the advertising server 732. For example, filling out a form, placing an order, supplying a credit card number, completing a survey, providing a survey or lead form, executing a software download, etc. are all forms of transactions. This feedback may include detailed information about a particular end-user's response to a direct advertisement, as well as the context, under which the response was obtained. Alternatively, the feedback may include a subset of the preceding information. Or, the feedback may convey information that the end-user did not respond to the advertisement, if such was the case. The feedback information is used by the predictive model 788 to further refine future predictions about the optimal advertisements to deliver and maximize utilization of the email or text messaging.
Using Feedback from ChatBot System 780
As the inventors have discovered, the chatBot system 750, unlike the advertising system 720 and the remarketing system 780, routinely receives insights to end-user behavior including reasons “why” a transaction is being discontinued by the end-user. These insights and other information are stored in database 760. In one example, this valuable reasoning is shared with either the advertising system 720 and the remarketing system 780 or both. For example, an end user is looking to purchase a good and while interacting with the chat server 752, the end-user shares that reason why they are discontinuing a transaction. The chat server 752 associates this information with the end-user. It is important to note that although a good is being described, the following example is applicable to the purchase of a service as well. The reason in this example is because one or more of:
This information stored in database 760 is shared with an advertising system. Next time an advertisement is selected by the predictive model, it has a reason why the end-user as associated by the chat server 752 failed to complete a transaction and using this additional information to select the appropriate promotion or advertisement. For example, “Free-Shipping on all orders placed before mid-night” or “Check out our expanded collection of clothing for Big and Tall Men” or “Special financing and payment plans available today”. The chat server 752 can reconcile associations with the advertising system 720 by placing an http cookie associated with the affiliate website for identification of an end user session, end-user's preferences, end-shopping cart contents, or anything else that can be accomplished through storing text data. In another example, the chat server 752 is given access to http cookies placed by either the advertising system 720 and/or the remarketing system 780 to associate information with a given end-user.
Sharing the end-user reasoning received by the chat server 752 to the advertising system 720 greatly enhances the quality of the promotion or advertisement sent by advertising system 720 to the end-user. For example, if a user is searching for computers a day or two ago and reviewed but did not purchase a computer, the predictive model will give higher priority to any advertisement from an available advertisement pool for computers to match the end-users interests.
In a similar manner, sharing the end-user reasoning received by the chat server 752 to the remarketing system 780 greatly enhances the quality of the promotion or advertisement sent by remarketing system 780 to the end-user. The advertisement can be real-time or delayed as described below. The advertisement can be delivered through the chat server 752, an email or text message 786, a voice mail message through an interactive voice system 796, a personalized print advertisement or postal advertisement 797 or a personalized broadcast advertisement through television and radio 798.
In one example, a temporal aspect to the advertisement is set by the advertising system 720 or remarketing system 780. End-user abandoning a shopping cart because selection is poor, may receive an advertisement only after the available selection of the goods/services from a given affiliate website has been expanded.
In another example, the present invention targets the abandon user for complimentary products. For example the user buys a used car, the present invention could cross-sell an extended warranty.
High-Level Flow of Using Feedback from Chatbot System 780
The process begins in step 902 and immediately proceeds to step 904 in which at least one chatbot is presented on a computer of a first party, such as end-user, as part of at least one messaging window of a web page document of a second party, an affiliate website. Next in step 906, information is received from the computer of a first party, in response to the chatbot, wherein the information includes at least one explanation by the first party for discontinuing a transaction with the second party. The transaction in one example is a sales-related transaction for a purchase of at least one of a good and a service from the second party. The sale-related transaction can include a lead-form.
The information received is associated with the first party in step 908. At least one advertisement from a third-party database is selected with the information received. Third party marketing databases include databases from advertisers (such as, ADSENSE, ADBRITE, BIDVERTISER, CHITIKA, INFOLINKS, POCKET CENTS, KONTERA, CLICKSOR, EXIT JUNCTION, DYNAMIC OXYGEN, ADBULL) and remarketing databases ICONTACT, BENCHMARK EMAIL, MAILIGEN, PINPOINTE, CONSTANT CONTACT, CAMPAIGNER, GRAPHICMAIL, MAD MIMI, VERTICAL RESPONSE, MAILCHIMP). In step 912, after a settable period of time, the advertisement is sent to the first party and the flow terminates in step 914.
Computer system/server 1002 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types.
As shown in
Computer system/server 1002 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 1002, and it includes both volatile and non-volatile media, removable and non-removable media.
The system memory 1006 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 1010 and/or cache memory 1012. Computer system/server 1002 can further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage system 1014 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a “hard drive”). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus 1008 by one or more data media interfaces. As will be further depicted and described below, memory 1006 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
Program/utility 1016, having a set (at least one) of program modules 1018, may be stored in memory 1006 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating systems, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules 1018 generally carry out the functions and/or methodologies of embodiments of the invention as described herein.
Computer system/server 1002 may also communicate with one or more external devices 1020 such as a keyboard, a pointing device, a display 1022, etc.; one or more devices that enable a user to interact with computer system/server 1002; and/or any devices (e.g., network card, modem, etc.) that enable computer system/server 1002 to communicate with one or more other computing devices. Such communication can occur via I/O interfaces 1024. Still yet, computer system/server 1002 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter 1026. As depicted, network adapter 1026 communicates with the other components of computer system/server 1002 via bus 1008. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with computer system/server 1002. Examples include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.
Turning now to
Turning to behavioral information 1316. Items in table 1400 in
In step 1320 a combination of demographic information 1306 and behavioral information 1316 is used to select an initial greeting, an appearance of the messaging window, and a picture of an agent is selected. The selections of the chatbot attributes in step 1320 include using history and machine learning algorithms, such as Bayesian algorithms and neural networks. The machine learning algorithms can include both supervised and unsupervised algorithms. Further, settings 1308, 1318 are adjusted through a management console. It may override any of the selections or enhance any selections being made by the machine learning algorithms.
Once the information is customized the chatbot for a specific user, the chatbot is launched in step 1330.
A first test in step 1334 is determined if user input or message is received. If message is received in step 1336, one or more keywords in the message are identified. A response is selected using a combination of demographic information 1306 and behavioral information 1316 to send o the end user based on the keywords identified in the message. The selection of the response in step 1336 includes using history and machine learning algorithms, such as Bayesian algorithms and neural networks. The machine learning algorithms can include both supervised and unsupervised algorithms.
The message or response 1338 is sent from chatbot to user in step 1338. In one example, the message includes an advertisement, such a sales pitch, a coupon, a link, response advertisement may be sent to user by chatbot.
The process continues to step 1340 where the demographic information 1306 and behavioral information 1316 is updated. The process returns to step 1334 waiting for user input.
If no user input is received in step 1334, a determination is made in step 1350 if the chatbox is terminated. If it is terminated, the flow terminates in step 1352. The chatbot can be terminated by the user, or through a timer, or closing a web browser. Otherwise, in the event the chatbot is not terminated, the process loops back to step 1334 where the flow waits for user input.
The rows 1460 to 1476 are populated with numerous examples of both demographic and behavioral information. The information in table 1400 is captured through various techniques including browser cookies. Cookie and tracking technology are useful for gathering information such as browser type and operating system, tracking the number of visitors to a website, and understanding how visitors use the website. Cookies and other tracking technology can be used to be tied to personal information of an end user. Aggregate cookie and tracking information may be shared obtained with or shared with third parties.
There are two basic types of trackers, “first-party” trackers, which transfer text files to end user's computers in order to enable websites to remember user information, such as items they've placed in their shopping cart or field data for forms that have already been filled out, and “third-party” trackers, which also transfer files to users' computers in order to gather data about much more than just their session on the tracker's site of origin.
When a third-party tracker is downloaded by a computer, it assigns that machine with a unique identification number (something like “6xd714db1433 . . . ”) stored inside a cookie associated with the web browser being used. If the tracker is using a technology called a “beacon,” and can even record end user keystrokes.
When a tracker records websites visited and end user search queries, instant messages or emails using web-based systems, comments, etc.—it can quickly assemble a very thorough and accurate profile for each end user.
In fact, third-party trackers using beacon technology can match the data they collect about a specific end user in real time with other databases containing geolocation, financial, and medical information in order to expand the end user's profile to predict the specific end user's age, gender, zip code, income, marital status, parenthood, home ownership, as well as unique interests.
Two rows of table 1400 are now discussed as examples of tracking and building an accurate profile for two specific end users. The first example is described with reference to the entries in row 1460. The information already collected about this particular end user includes a zip code location, approximate age, exact gender, exact ethnicity, exact language, and no religious association. The traffic source is a hyperlink from a web search engine. Based on other information from behavioral entries i.e. browsing history, price of items in cart, search terms, it appears this end user is a frequent visitor. This specific end user is using a non-mobile device based on the display size and resolution, and OS. Therefore an initial greeting of financing or payment methods may encourage this end user to purchase a good or a service.
The second example is described with reference to the entries in row 1464, a lot of information is already collected about a particular end user including a very detailed GPS location, exact age, exact gender, exact ethnicity, exact language, exact religion. The traffic source is unknown. Based on other information from behavioral entries i.e. browsing history, price of items in cart, search terms, it appears this end user is motivated. This specific end user is using a mobile device based on the display size and resolution, and OS. Therefore an initial greeting announcing free shipping or a coupon viewable on a mobile device for free shipping on orders over $150 may convert this motivated end user to purchase.
Turning now to
In another example, in which the software code to track the first trigger is loaded after the primary or native top bar disappears or to increase the reliability of determining when the primary or native top bar 1602 disappears, the size of the browser window is determined. The handler such as window.onresize is used. This determines the size of the window. Depending on preset percentage of how much the window size changes, this can act as the first trigger to determine the native or primary header has disappeared.
In response to this first trigger, a secondary top bar 1702 is presented at substantially the identical position, i.e. the primary position, as the primary top bar is either being replaced or overlaid with the secondary top bar. Notice that this secondary top bar 1702 has substantially the same visual appearance as the primary address bar. Moreover, the secondary top bar in one example is part of the web page contents 1752 itself rather than a component of a web browser 1700. This is important since on may mobile browser the top bar often disappears once the user starts scrolling. Using this approach a user does not notice that the replacing or overlaying of the primary top bar 1602 with the secondary top bar 1702. In this example the primary address bar 1606 and the primary title 1604 of
Step 1906, a determination is made if the window is scrolling the webpage contents of the web page in a vertical direction, a horizontal direction, or a combination of the two directions. In another example, a timer expiring, or tracking user eye movement, or other user input may be used. In the event the webpage content is being scrolled, such as in the vertical direction as shown in
In step 1910, the process determines if user input is received in the vicinity of the secondary top bar 1706 or new tab 1702. In response to a user input being received, the system interprets this as a trigger to launch the chat window or messaging window 1840. The chat window 1840 may include an audio sequence associate with it such as voice, or music, or alert tone.
In one example, messaging window includes a tool bar with user selectable icons. In another example, the messaging window includes displaying a web feed, a web channel feed, a rich site summary (RSS) or a combination thereof.
Like other embodiments described, the user is typically a first party, the webpage contents displayed in the browser is hosted by a second party, and the message is managed via a web-based management console by a third party, wherein each of the first party, the second party, and the third party are distinct and unrelated entities.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
This application is which is a continuation and claims priority from prior U.S. patent application Ser. No. 15/200,600, filed on Jul. 1, 2016, now U.S. Pat. No. 10,203,861, and is a continuation and claims priority from prior U.S. Provisional Patent Application No. 62/188,125, filed on Jul. 2, 2015, a continuation-in-part of and claims priority from prior U.S. patent application Ser. No. 14/287,815, filed on May 27, 2014, now U.S. Patent [Pending], which is a continuation-in-part of and claims priority from prior U.S. patent application Ser. No. 13/277,420, filed on Oct. 20, 2011, now U.S. Pat. No. 8,738,739, which is a continuation-in-part of and claims priority from prior U.S. patent application Ser. No. 13/084,060, filed on Apr. 11, 2011, now U.S. Pat. No. 8,949,377, which is a continuation-in-part of prior U.S. patent application Ser. No. 12/124,531, filed on May 21, 2008, now U.S. Pat. No. 7,962,578, the entire disclosure of each application is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 15200600 | Jul 2016 | US |
Child | 16272257 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14287815 | May 2014 | US |
Child | 15200600 | US | |
Parent | 13277420 | Oct 2011 | US |
Child | 14287815 | US | |
Parent | 13084060 | Apr 2011 | US |
Child | 13277420 | US | |
Parent | 12124531 | May 2008 | US |
Child | 13084060 | US |