US20230144617A1

SYSTEM AND METHOD FOR DESIGN AND DYNAMIC GENERATION OF A WEB PAGE

Publication

Country:US
Doc Number:20230144617
Kind:A1
Date:2023-05-11

Application

Country:US
Doc Number:17980310
Date:2022-11-03

Classifications

IPC Classifications

G06F3/0482G06F16/958G06Q30/02G06Q30/0601H04L67/50G06F3/0481H04L51/046H04L67/02

CPC Classifications

G06F3/0482G06F16/958G06Q30/02G06Q30/0603H04L67/535G06F3/0481H04L51/046H04L67/02

Applicants

LivePerson, Inc.

Inventors

Ron Karidi, Dan Bar Shalom, Amir Zucker, Tal Goldberg, Joseph Mermelstein

Abstract

A system and method for dynamically generating a web page is disclosed. The web page includes a frame having content cells. Content for the content cells is provided based in part on business rules. A business rules engine processes, in real-time, an online interaction and determines appropriate content for the content cells. The business rules engine outputs a pointer to the content which is used to populate the content cell.

Figures

Description

CROSS-REFERENCES TO RELATED APPLICATIONS

[0001]This application is a continuation of U.S. patent application Ser. No. 16/218,052 filed Dec. 12, 2018, which is a continuation of U.S. patent application Ser. No. 15/213,776 filed Jul. 19, 2016, which is a continuation of U.S. patent application Ser. No. 11/394,078 filed Mar. 31, 2006, which claims the benefit of priority to U.S. Provisional Application No. 60/716,535 filed Sep. 14, 2005, and U.S. Provisional Patent Application No. 60/717,212 filed Sep. 15, 2005. This application is related to U.S. patent application Ser. No. 11/360,530, filed Feb. 24, 2006, now U.S. Pat. No. 8,738,732. All of these applications are hereby incorporated by reference in their entireties for all purposes.

FIELD OF THE INVENTION

[0002]The present invention relates to computer browsing and, more particularly, to providing a web page based on user interaction.

BACKGROUND OF THE INVENTION

[0003]Networks, such as the Internet, have become an increasingly important part of our everyday lives. Millions of people now access the Internet on a daily basis to shop for goods and services and obtain information of interest.

[0004]The web is built on a very simple, but powerful premise. Much of the material on the web is formatted in a general, uniform format called HTML (Hypertext Markup Language) or the like, and all information requests and responses conform to a similarly standard protocol. When someone accesses a server on the Web, the user's Web browser will send an information request to a Web server. The Web server will respond to the request by transmitting the desired information to the user's computer. There, the user's browser will display the received information on the user's screen.

[0005]For example, suppose an individual wishes to purchase a printer via the Internet. The individual accesses the Internet and types in a vendor's uniform resource locator (URL). The individual may then access that vendor's home page to determine whether the vendor has the product that this individual wishes to purchase.

[0006]If the individual does not know which vendors sell printers, the individual may access a web site associated with a search engine. The individual enters the generic term “printer” into the search engine to attempt to locate a vendor that sells printers. Using a search engine in this manner to locate individual web sites that offer the desired product or service often results in a list of hundreds or even thousands of “hits,” where each hit may correspond to a web page that relates to the search term.

[0007]Once a user decides which web page to visit, the web page is formulated to interest the user. In particular, many web pages allow a user to customize the web pager so that each time the user visits the web page, the customized web page is presented to the user. One of the challenges of online interactions is providing customers or users with consistent online experience while using different channels such as website navigation, email, chat, bulletin boards, discussion forums, chat, and the like. For this uniform presentation, cookies are used.

[0008]Cookies are pieces of information generated by a web server and stored in the user's computer, for future access. Cookies are embedded in the http information flowing back and forth between the user's computer and the servers. Cookies allow user-side customization of web information. For example, cookies are used to personalize web search engines, to allow users to participate in WWW-wide contests, to store shopping lists of items a user has selected while browsing through a virtual shopping mall, and the like.

[0009]Essentially, cookies make use of user-specific information transmitted by the web server onto the user's computer so that the information might be available for later access by itself or other servers. Typically, the servers are part of the same domain. In most cases, not only does the storage of personal information into a cookie go unnoticed, so does access to it. Web servers automatically gain access to relevant cookies whenever the user establishes a connection to them, usually in the form of web requests.

[0010]There are many reasons a given site would wish to use cookies. These range from the ability to personalize information, help with on-line sales/services, or simply for the purposes of collecting demographic information. Cookies also provide programmers with a quick and convenient means of keeping site content fresh and relevant to the user's interests. The newest servers use cookies to help with back-end interaction as well, which can improve the utility of a site by being able to securely store any personal data that the user has shared with a site to help with quick logins, and the like.

[0011]Prior dynamically generated web sites, based on cookie customization, allow users and content providers to customize content. However, while these pages are dynamically generated based on a cookie, or hard coding scenarios in the web page or server. There is no flexibility to change the web page. Further, control of the web page is with the programmer, not a marketing group.

BRIEF SUMMARY OF THE INVENTION

[0012]The present invention provides a system and method to dynamically alter web pages based on a user's activity, marketing objectives, and predetermined conditions. There are two major modules in the disclosed system:

[0013]1. SmartBar™ tool; and

[0014]2. Business rule engine.

[0015]The first component is the SmartBar™ tool. The SmartBar™ is an online marketing tool that provides a point of reference on the web page for information and communication that is relevant to the specific viewer. In a preferred embodiment, the SmartBar™ is placed at the same location on each web page for a given site. A SmartBar™ or frame is provided containing at least one SmartBar™ cells. Each SmartBar™ cell is associated with a particular marketing objective. For the visitor on the site, it delivers a guided and personalized online experience with relevant and timely content. In one embodiment, Smart Bar™ modifies web pages to be viewed based in part on the items a user selects as well as the time a user spends on a specific page. Additionally, past browsing experiences can be considered. Smart Bar™ dynamically selects cell content for a web page and dynamically renders each cell, or selects cells, or alternatively, dynamically generates content for a web page. One goal of the Smart Bar™ is to enhance the browsing experience and minimize shopping cart abandonment.

[0016]The second component is the business rules engine that processes, in real-time, the events associated with each viewer and decides what business action is required. Business intelligence in the rules engine identifies what content is displayed in the SmartBar™.

[0017]In one embodiment, Smart Bar™ is used to develop marketing campaigns. Rules consist of conditions and their associated action or actions. Rules are preferably organized by campaign. Rules are used to determine what content should be displayed. The system can display promotional material, help icons, chat icons, sale items, other potentially interesting links based on activity, and the like. Each rule is assigned a priority. Thus, if more than one rule is triggered by a user's activity or browsing behavior, the rule priority determines which rule is triggered first and if other rules are subsequently triggered.

[0018]The business rules engine processes, in real-time, events associated with each visitor, and decides what rule is required. In one embodiment, the rules engine identifies whether a current visitor is a returning customer or a new customer and initiates the appropriate outcome or outcomes.

[0019]Each campaign can be broken down into segments. Each segment is adapted to deal with a specific event or type of user. This speeds the customization process and enables marketers to quickly develop campaigns.

[0020]SmartBar™ users can generate and save rules for use in other campaigns. In one embodiment, rules are stored in a database. These rules are then selected and customized, if necessary, for a campaign. The same rule can be used in multiple campaigns. Each campaign can be considered a container to group rules.

[0021]SmartBar™ enhances a web site visitor's satisfaction with a site layout and assists performance of a specific task. If a user's activity is indicative of a problem, a frame can be loaded with instructions detailing how to complete a task. Alternatively, a help icon or chat icon for customer service can be loaded. In this manner, a user's web site experience is enhanced. For example, if a user's activity indicates problems with checkout, a frame will appear to guide the user through the checkout process, thereby avoiding shopping cart abandonment and lost sales.

[0022]In one embodiment, SmartBar™ can deliver directed advertising in the form of services or products to a visitor. The advertising will change as the user navigates the web site. In one embodiment, content is presented to a user based on the visitor's browsing history.

[0023]The SmartBar™ provides a structure for managing multiple marketing messages in real time. The SmartBar™ enables the marketer to define SmartBar™ Cells, each cell dedicated to deliver different type of marketing messages. The SmartBar™ tool provides a user interface to configure content for the SmartBar™ cells. The SmartBar™ serves as a valuable medium to deliver targeted promotions, relevant content and proactive communications. Offering a combination of audience-specific navigation aids and relevant information, the SmartBar™ employs dynamically generated content that actively guides visitors through the site, so the marketer can truly replicate the in-store experience in an online environment. An improved user experience yields improved conversion rates, increase customer satisfaction, and promote brand loyalty by delivering an unmatched experience on the website. For example, in a typical SmartBar™, one cell may deliver product promotions, a second cell may deliver product comparison information, and a third cell may deliver a button for live-chat with the call center.

[0024]This intelligent and proactive technology tracks customer behavior to accurately identify and reach audience segments most likely to respond to personalized offers. SmartBar™ dynamically embeds content seamlessly into a webpage.

[0025]The combination of these two components allows for an effective handling of large volumes of interactions required in today's online environment. The disclosed system and method addresses the challenge presented to website managers who are interested in modifying, in real time, a current session of customers on the site.

BRIEF DESCRIPTION OF THE DRAWINGS

[0026]FIG. 1 System according to the present invention;

[0027]FIG. 2 is a flowchart of the method of user interaction according to the present invention;

[0028]FIGS. 3A-3H represent screen shots of a typical user interaction on a web site; and

[0029]FIGS. 4A-4E represent typical screens for creating rules and SmartBar cell content.

DETAILED DESCRIPTION OF THE INVENTION

[0030]FIG. 1 depicts an embodiment of a system according to the present invention. As shown, a user 10 is connected to a web server 11 via the Internet. The user 10 has additional means of communication such as a telephone 50, fax machine, cell phone, hand held computer, and the like. In one embodiment, radio communication is implemented via radio tower 40. The web server 11 includes a database 22, which stores a plurality of web pages such as web page 20. In one embodiment, a second server 30 includes a module 32 for the application of business rules and dynamic web page generation or SmartBar™ cell population. In one embodiment, module 32 is part of server 30. In another embodiment, module 32 is part of web server 11. In another embodiment, module 32 is housed in another computer. Module 32 accesses data from database 34. Business rules are preferably stored in database 34. It should be noted that the functions of module 32 can be performed using separate modules.

[0031]There are at least three configurations for SmartBar™ system. In the first embodiment, the web site content and the SmartBar™ system are housed on a single server or linked servers. The user requests a web page containing SmartBar™ content and the web page and SmartBar™ content is provided by a single server. In the second embodiment, a first web server retrieves SmartBar™ content from a second server and provides the content to a user. In the third preferred embodiment, a user requests a web page containing SmartBar™ content from a server. The SmartBar™ content has scripts that retrieve content from a SmartBar™ server.

[0032]In operation, a user 10 requests a web page 20 from server 11. Web server 11 retrieves web page 20 from database 22. The web server, or other computer, in conjunction with server 30 and module 32, populates areas 21 in web page 20. Areas 21 are populated based in part on business rules. It should be noted that areas 21 are not fixed for every page but can vary in position and size depending on page layout. In another embodiment, areas 21 are overlays or pop-ups. In one embodiment, module 32 also hosts the content for areas 21. In another embodiment, database 22′ hosts the content for areas 21. Preferably, web page 20 includes embedded code that defines each area 21. These areas 21 are populated based on the embedded code, the user's activity, and the application of business rules. In a preferred embodiment, module 32 includes a business rules engine and a SmartBar™ tool. In another embodiment, the business rules engine and the SmartBar™ tool are separate modules.

[0033]The areas 21, the SmartBar™ frame, are populated using elements retrieved from a database based in part on business rules. Preferably, server 30, and more particularly database 34, provides pointers to database 22 where the content is stored. The SmartBar™ tool modifies the user's experience via such items as chat, pop-ups, displays, cell content, clickable images, and the like, modify the user experience. The code is embedded on the page 20 at the desired location 21 chosen by the marketer, web designer, alike, possibly using an include file statement. It should be noted that the system can preferably push additional items to overlay or populate a new window such as a pop-up or chat channel. Overlays float over a page and pop-ups are new windows. The code issues real-time request asking the server for dynamic content that best match this visitor at this time. Each of these request triggers a sequence of business rule evaluations that are associated with the particular web page. These business rules determine the actual content to be displayed in each of the cells 21. The way the cells 21 are displayed to the visitor is de-coupled from the cell definition and from the rules that determine the content of the cells. The component that controls the display, or look & feel, of the SmartBar™ cell 21 is the SmartBar™ Template. The user can define SmartBar™ templates in the Content Library. The template may contain any web-page code (e.g. HTML, DHTML, or ASP).

[0034]As shown in FIG. 2, the process begins when a user requests a web page. The system retrieves a web page format for the requested page. (Step 100). In one embodiment, the web page format is retrieved from database 90. The system then generates the web page including any SmartBar™ cells 21. (Step 110). The content of the SmartBar™ calls is determined based on user activity and business rules. If there has not yet been any user interaction, business rules and embedded code determine the content of SmartBar™ cells 21.

[0035]Once the web page 20 is generated, the user's activity on that page, and subsequently viewed pages, is monitored and evaluated. (Step 120). The user's activity includes time spent on a particular page, additional data requests, adding items to a cart, and the like. The system revises the web page being displayed (Step 130) based on the user's activity or alternatively generates a new page based on the activity (Step 110).

[0036]The business rule engine processes, in real-time, the events associated with each user and decides what action to take, if any. If the business rule engine determines a need, action is taken in real-time. If no immediate action has to be taken, a non-modified web page is displayed. Specific actions to take include special offers, invitations to chat, help icons, related products, related material, displaying pop-ups, clickable images, and the like.

[0037]The business rules engine uses rules that are based on conditions and actions taken while a user is visiting a specified website or series of web pages. Certain conditions will result in specific actions being taken. The conditions include both the activities that a user that performs while on a site and the user's behavior while on a page, and if available, the past activity, IP address, search activity, and the like. Rules provide a way to react to customer activity. Visitor rules also customize the processing of visitors and/or people communicating via chat or another channel. In a preferred embodiment, rules are created within a specific context that determines the circumstances in which the rule will apply. The rules respond to conditions that exist. Conditions specify which actions are triggered. If no conditions are specified, the rule is triggered in response to all activity. It should be noted that multiple conditions can be specified or Boolean logic can be used.

[0038]Each rule can control multiple cells, and multiple rules can affect a single cell. The rules control the displayed content. Under certain circumstances, a cell may not display any content. Marketers or others define the content of the cells. Web designers place calls for SmartBars™ and SmartBar™ cell content. The management of the page is done using a template. The template for a SmartBar™ is preferably stored in a content library, not on a web page.

[0039]Rules allow the web site to react to visitor activity on the website. Visitor Rules customize the processing of website visitors; they are used to create custom business rules that trigger related actions such as chat invitations, promotional offers, marketing campaigns, and the like. Rules are preferably created with a specific rule context or Rule Type that determines the circumstances in which the rule will apply. For example, a rule that is set for “when a visitor enters site” will be triggered for processing each time a visitor enters the site. When the user visits the site, the conditions specified by the rule will be checked and if found true, the actions specified in the rule will be performed by the system.

TABLE 1
Visitor Rules-Conditions
ConditionRule TypeDescription
Browsing
Current Pageclicks to chatThe URL or title of the current
enters pagepage match the specified pattern.
enters site
queued for
chat
leaves site
Current Pageclicks to chatThe referring URL of the current
Referringenters pagepage match the specified pattern.
URLenters site
queued for
chat
leaves site
Number ofclicks to chatThe number of pages visited
Pagesenters pageduring this session.
enters site
queued for
chat
leaves site
Referringclicks to chatMatches the referrer of the
URLenters pagevisitor's first visit to the site.
enters site
queued for
chat
leaves site
Searchclicks to chatThe URL from which the visitor
Engineenters pagearrived is from a search engine.
Foundenters site
queued for
chat
leaves site
Searchclicks to chatThe search engine from which
Engineenters pagethe request came.
Identityenters site
queued for
chat
leaves site
Surveyclicks to chatResponse to a question in a
Questionenters pageparticular survey.
enters site
queued for
chat
leaves site
Visited Pageclicks to chatThe visitor visited a page whose URL
enters pageor title matches the specified pattern.
enters site
queued for
chat
leaves site
Chat
Availableclicks to chatVisitor is available for a chat invitation.
forenters page
Invitationenters site
queued for
chat
leaves site
Has Chatclicks to chatVisitor has chatted during the
enters pagecurrent session.
enters site
queued for
chat
leaves site
Has Chatclicks to chatThe visitor requested to chat in
Historyenters pagea previous visit.
enters site
queued for
chat
leaves site
In Chatclicks to chatThe visitor is currently involved in
clicks to chata chat session with an operator.
enters page
enters site
queued for
chat
leaves site
In Chat orclicks to chatThe visitor is currently in a chat, or
Waiting forenters pagewaiting for a chat to be established.
Chatenters site
queued for
chat
leaves site
In or Afterclicks to chatThe visitor is currently in a chat, or
Chatenters pagehas previously been in chat
enters site
queued for
chat
leaves site
Invited toclicks to chatThe visitor has been invited to chat.
Chatenters page
enters site
queued for
chat
leaves site
Refusedclicks to chatAn invitation to chat been has sent to the
Chatenters pagevisitor and the visitor refused to chat.
enters site
queued for
chat
leaves site
Miscellaneous
Action Firedclicks to chatThe action with the specified name
enters pagehas already fired during this session.
enters site
queued for
chat
leaves site
At Leastclicks to chatThe rule with the specified name has
One Ruleenters pagealready been triggered during this session.
Triggeredenters site
queued for
chat
leaves site
Predictiveenters pageTriggers a predictive dialer
Dialerenters sitewith the specified settings. A
Predictive Dialer controls the
number of invitations sent to site visitors.
Randomclicks to chatA random integer between 0 and the
Numberenters pagespecified number.
enters site
queued for
chat
leaves site
Ruleclicks to chatThe outcome with the specified rule has
Triggeredenters pagealready been triggered during this session.
enters site
queued for
chat
leaves site
Operators
Availableclicks to chatAt least one operator is online, (i.e.,
Operatorsenters siteis the operator in the “online” state, not
leaves site“away or “back in 5”).
Number ofclicks to chatThe Number of available
Operatorsenters siteoperators available.
Availableleaves site
Onlineclicks to chatOperators are currently in the
Operatorsenters site“online” state. An operator that
leaves siteis “away or “back in 5” is not
considered online.
Roomclicks to chatThere is at least one operator
Operatorsenters siteof the skill specified
Onlineleaves siteonline in the current visitor's Room.
Skillclicks to chatThere is at least one operator of the
Operatorsenters pagespecified skill available.
Availableenters site
queued for
chat
leaves site
Skillclicks to chatThere is at least one operator of the
Operatorsenters sitespecified skill online.
Onlineleaves site
Time Functions
Day of theclicks to chatThe day of the week.
Weekenters page
enters site
queued for
chat
leaves site
Days Sinceclicks to chatThe number of days since the last time
Lastenters pagethis visitor has requested to chat.
Click toenters site
Chatqueued for
chat
leaves site
Days Sinceclicks to chatThe number of days since the visitor's last
Lastenters pagevisit to the site (fails if this is the first visit).
Visitenters site
queued for
chat
leaves site
Invitationclicks to chatThe number of seconds for the
Historyenters pagevisitor to be invited to chat.
(crossenters siteThis condition also checks the visitor's
session)queued forprevious sessions. To check
chatchat invitations only in
leaves sitethe current session use “Invited to Chat” or
“Time Since Last Invite”
Invitationclicks to chatThe number of seconds the Invitation
Timeoutenters pageto chat timed out. If the last
enters siteinvitation did not timeout, the
queued forcondition will always be false.
chat
leaves site
Seconds inclicks to chatThe number of seconds the visitor
Currententers pagewas on the current page.
Pageenters site
queued for
chat
leaves site
Secondsclicks to chatThe number of seconds since
Sinceenters pagethe visitor was declined.
Declineenters site
queued for
chat
leaves site
Secondsclicks to chatThe number of seconds since the
Sinceenters pagevisitor last visited a page that
Last Visit toenters sitematches the specified pattern.
Pagequeued for
chat
leaves site
Time In Siteclicks to chatThe time in seconds that the visitor
enters pagespent in the site during this session.
enters site
queued for
chat
leaves site
Time ofclicks to chatThe number of minutes elapsed since
the Dayenters pagemidnight, Eastern Standard Time, today.
enters site
queued for
chat
leaves site
Time Sinceclicks to chatThe time in seconds since the
Action Firedenters pagespecified action fired.
enters site
queued for
chat
leaves site
Time Sinceclicks to chatThe time in seconds since the
Customenters pagecustom variable was modified.
Variableenters site
Modifiedqueued for
chat
leaves site
Time Sinceclicks to chatThe time in seconds since the
Last Inviteenters pagevisitor's last invite.
enters site
queued for
chat
leaves site
Timeclicks to chatThe time in seconds since the rule fired.
Since Ruleenters page
Firedenters site
queued for
chat
leaves site
Wait Timeclicks to chatThe time in seconds that the visitor
enters pagehas been in the queue.
enters site
queued for
chat
leaves site
Variables
All Valuesclicks to chatApply the comparison to All values of
of Customenters pagethe specified Custom Variable.
Variableenters siteAll values must be Numeric
queued forand satisfy the comparison condition.
chat
leaves site
At Least Oneclicks to chatThe Custom Variable has at least one
Numericenters pagevalue that satisfies the comparison
Valueenters sitecondition. Enter custom
of Customqueued forvariable name in the first field, and
Variablechatnumber to match in the last field.
leaves site
At Least Oneclicks to chatThe Custom Variable has at least one
Value ofenters pagevalue that satisfies the
Customenters sitecomparison condition.
Variablequeued forEnter custom variable name in the first
chatfield, and string to match in the last field.
leaves site
Custom Flagclicks to chatThe custom flag variable satisfies
Variableenters pagethe comparison condition.
enters site
queued for
chat
leaves site
Customclicks to chatThe value of the Custom Variable that
Variableenters pagecorresponds to the specified name
enters site
queued for
chat
leaves site
Customclicks to chatA Custom Variable with the
Variable Hasenters pagespecified name has been set.
Been Setenters site
queued for
chat
leaves site
Customclicks to chatThere is a Custom Variable on the
Variable onenters pagecurrent page.
Current Pageenters site
queued for
chat
leaves site
Numericclicks to chatApply the comparison to All values of
Customenters pagethe specified Custom Variable.
Variableenters siteAll values must be Numeric
queued forand satisfy the comparison condition.
chat
leaves site
Numericclicks to chatThe numeric value of the Custom Variable
Valuesenters pagewith the specified name (fails
of Customenters siteif Custom Variable has not occurred
Variablequeued foror the value is not numeric). Enter Custom
chatVariable name in the first field, and
leaves sitenumber to match in the last field.
Visitor Properties
Browserclicks to chatThe visitor's browser matches
Typeenters pagethe specified pattern.
(User Agent)enters site
queued for
chat
leaves site
Hot Leadclicks to chatVisitor is specified as a hot lead.
enters page
enters site
queued for
chat
IPclicks to chatThe visitor's IP address or host DNS
enters pagematches the specified pattern.
enters site
queued for
chat
leaves site
Repeat Visitclicks to chatThis visitor has been to the site
enters pagebefore this session.
enters site
queued for chat
leaves site
Skillclicks to chatThe visitor's skill group.
enters page
enters site
queued for
chat
leaves site
Visitorclicks to chatThe group number for this visitor, if
Groupenters pageall visitors are grouped into groups.
enters siteThe site visitors are randomly segmented
queued forinto the number of groups you set in the
chat3rd parameter. You can then check
leaves siteto which specific group the visitor has been assigned.

[0040]Conditions may include the type of page, section of a page or a specific URL. Additionally, if the user reaches a page via a hyperlink or by typing a URL, that scenario can be monitored without taking any action. The time a user spends on a specific page may also be a condition. For example, the system can monitor whether a user spends more or less than a specified time on a page or group of pages. Conditions relate to events that occur as well as events that do not occur. For example, adding items to a cart but not checking out.

[0041]Rule conditions can also apply to variables. Rule actions can set the value of a variable to a predetermined value. For example, the value or occurrence may be a shopping cart total greater than a specified dollar amount or contain more or less than a specified amount/quantity. Further, other variables can indicate a transaction error (a Boolean variable). The system can also monitor at least such items as an occurrence of a specified event, entering a communication channel such as chat before or after a selection, days since last chat interaction, and the like. Further, other variables can be a new visitor, old visitor, user's IP address, and the like.

[0042]As discussed above, when certain conditions occur, an action is triggered. Actions may contain sub-actions. In one embodiment, the actions are executed in a specific order. However, in another embodiment, the actions occur in random or non-specified order. A sample of actions based on rules and alerts are shown below in Table 2.

TABLE 2
Visitor Rules-Actions
TypeRule TypeActionParametersDescription
Operator Alertsclicks to chatOperator AlertSend an alert to operators
enters pageconcerning this
enters sitevisitor. For a list of macros available
queued forin Operator Alerts, refer to the Live
chatPerson Customer Center.
leaves siteDescriptionEnter a brief description of the
browsing siteoperator alert, if you so wish.
HTMLUse the HTML box to design your
alert.
Plain text can be used in this area,
but HTML tagging will serve to
make the alert more
eye catching.
Chat Auditclicks to chatEmail thisEmailEmail a copy of the chat transcript
enters siteTranscriptSender Nameto the specified address. The email
leaves siteSender Emailwill arrive from the specified
Subjectsender. Set the subject to help you
identify the email.
Forward transcriptEmailEmail a copy of the chat transcript
from visitor emailSubjectto the specified address. The email
Email Customwill arrive from the email
Variableassociated with the visitor. You can
optionally set the custom variable
to be used to extract the visitor's
email address (Email Custom
Variable).
Visitorclicks to chatEngageNASend a proactive chat request to a
Experienceenters pagevisitor.
enters siteCustom Engage<custom directory>Engage visitor using custom image
leaves siteVisitordirectory. The directory should not
browsing siteend with a “/”.
Set Visitor Profile<name of visitorAssign the session to a selected
profile>Visitor Profile.
Enable/Disable Pre-Pre Chat SurveyEnable/Disable Pre-Chat survey
Chat Surveystatus for the visitor during current
session.
Enable/Disable ExitExit SurveyEnable/Disable the Exit survey
Surveystatus for the visitor during current
session.
Enable/DisableOperator SurveyEnable/Disable the Operator survey
Operator Surveystatus for the visitor during current
session.
Set Pre-Chat survey<name of pre-chatSet specific Pre-Chat survey for the
survey>visitor during current session.
Set Exit survey<name of exit survey>Set specific Exit survey for visitor
during current session.
Set Operator survey<name of operatorSet specific Operator survey for
survey>visitor during current session.
Set Offline survey<name of offlineSet specific Offline survey for the
survey>visitor during current session.
Set Chat Window<name of chatSet a specific Chat Window profile
window>for the visitor during current
session.
Set System Messages<name of systemSet specific System Messages set
message set>for the visitor during the current
session.
enters pageShow Popup<popup>Display a pop-up. New pop-ups are
created in the Content Library.
enters pageEngage VisitorNASend a proactive chat request to a
visitor.
enters pageCustom Engage<custom directory>Engage visitor using custom image
Visitordirectory. The directory should not
end with a “/”.
enters pageShow Warm up<popup>Use the Content Library tab to
define new warm ups.
Variablesclicks to chatSet CustomVariable NameAdd a custom variable to the
enters pageVariableVariable Valuesession.
enters siteSet CustomFlag NameAdd an on/off custom variable to
queued forFlag VariableState Onthe session.
chat<HelvBold> | Off
leaves siteSet Custom VariableVariable nameAdd a custom variable to the
browsing siteOne Time OnlyVariable Valesession. This action will only fire
once per session.
Routingqueued forAssign to Service<Service ServiceChange the visitor's service queue.
chatQueueQueue
Assign Percentage to<Service Queue>Assign a percentage of visitors to a
Service Queuequeue. Use several of these
outcomes together to create a
distribution plan for a group of
visitors. Note that visitors will only
be assigned if the queue is online
for the Skill Group.
Sales Editionclick to chatSet Visitor as HotNAVisitor is defined as a hot lead.
enters siteLead
queued forIncrement Reporting<file location>Include specified words that can be
chatCounterviewed in the Conversion reports.
browsing siteCounters are defined in Rules
>Words > Report Counters.
Set Visitor Segment<segment name>Set the visitor Segment

[0043]FIGS. 3A-3H depict a typical user's interaction on a series of web pages for a given web site. FIG. 3A depicts a single page for a web site, retail.com. As shown, the SmartBar™ cells 21A and 21B are on the right side of the page 100 in a SmartBar™ frame. As shown, the SmartBar™ frame includes cells 21A-21F. In this embodiment, cell 21A is a communication channel, cell 22B is a product recommendation cell, cell 21C is an incentive cell, cell 21D is an express checkout cell, cell 21E is a buying guide, and cell 21F is a post purchase cell. It should be noted that other cells could be part of a SmartBar™ frame. Other elements such as headings 22, links, images and the like can be added using SmartBar™ cells. While the SmartBar™ cells are shown together on a background. In one embodiment, they are space apart from one another. In another embodiment, the SmartBar™ cells blend into the page as uniform elements. The SmartBar™ cells as shown provide a user with means to initiate help via online chat or investigate specials. In a preferred embodiment, the SmartBar™ frame and all of its cells are on each page, however, only those cells that have had their content requested are displayed. If the user browsing page 100 clicks (selects) SmartBar™ cell 21B, the web page shown in FIG. 3B is generated.

[0044]As show in FIG. 3B, web page 102 includes SmartBar™ cells 21A, 121, and SmartBar™ 221. SmartBar™ 121 is an example of a single-cell SmarBar™. A web designer or marketer may include cell 21A on every web page for this site because it is a help button. SmartBar™ cells 221 and 121 are generated based on business rules and user activity. For example, SmartBar™ frame 221 displays various cameras and camcorders based on popularity. Additionally, it should be noted other information can be presented to the users such as shop by brand options and the like.

[0045]If the user selects the camera designated in SmartBar™ cell 121 the user is brought to a webpage 104 depicted in FIG. 3C. As shown in FIG. 3C only SmartBar™ cell 21A is present. Depending on the web design other SmartBar™ cells can be displayed. When the user adds the items shown in FIG. 3C to a shopping cart, a new web page 106 is displayed as well as other options in the SmartBar™ cells. As shown in FIG. 3D, other sales and marketing SmartBar™ cells can be added to the shopping cart page such as a free shipping incentive (21C) and instruction for purchasing on the website (21E). It should be noted that the free shipping or other element can be determined based on the purchase price or value of items in the visitors shopping cart.

[0046]When the user selects the SmartBar™ cell 21C designating the free shipping a new screen is generated as shown in FIG. 3E. Here, the SmartBar™ cell can include other items such as other products manufactured by the same manufacturer 21B or an express checkout button 21D. Further, the item being featured in the center frame can also be managed as a dynamic-content SmartBar™ cell. It should be noted that cell 21B changes its content based on conditions present during user interaction. Based on the business rules used to generate the web pages, if the user selects the Sony item in cell 21B a new screen 110 as shown in FIG. 3F is generated. As shown, this screen 110 can include a SmartBar™ cell offering a discount if the user adds the current item to the cart. It should be noted that while a discount is shown in FIG. 3F as SmartBar™ cell 21D any offer can be implemented or information presented using SmartBar™ cells.

[0047]As shown in FIG. 3G, once the second item is added to the shopping cart a new basket screen is generated. This new screen reflects the discount offer. It should be noted that because the visitor already qualified for the free-shipping offer shown to the user previously, this incentive is no longer generated. Once the user checks out, she is provided with a receipt page (FIG. 3H). On this page, because the order is complete, the user is provided with an opportunity to request a catalogue (cell 21F). It should be noted that other offers can be provided to the user at any time and/or inst at any point on the screen.

[0048]In the preferred embodiment, the SmartBar™ code on the page requests its content to be rendered with respect to a specified template. The template is stored in the Content Library. This template is configured and customized by the user. Generic templates are also provided with the software.

Sample SmartBar ™
<iframe id=“LPDynamicFrameSales” name=“LPDynamicFrameSales” src=“blank.html” width=“1” height=“O”
frameBorder-“0” marginwidth=“O” marginheight=“O” scrolling=“no”>
<liframe>
<script language=“javascript”>
function loadLPDynamicFrameframe( )
var s = document.createEiement(“script”);
s.src=“http://sales.liveperson.neUhc/90331780/?cmd=file&file=dynamicFrame&dynamicFrame=SmartBar”+
“&frame=LPDynamicFrameSales&site=90331780”;
document.body.appendChild(s);
if (typeof(IpVisitorDependantCode) == “undefined”)
IpVisitorDependantCode = new Array( );
IpVisitorDependantCode[IpVisitorDependantCode.length] = loadLPDynamicFrameframe;
</script>

[0049]In another embodiment, the code for rendering the SmartBar™ is embedded on the web page, requesting in real-time the content to be resolved through the business rules engine. As shown below, the SmartBar™ code establishes cells on a web page. The code below includes programmed content calls. Alternatively, the code includes calls to other content. These cells are then using the business rules as discussed above. It should be noted that the placement of the cells is at the programmer's discretion for the preferred presentation and that the business rules are designed for specific marketing purposes, informational services, and the like.

Sample SmartBar
<!- Instructions:
Replace <account number> by you UvePerson account number
Replace <uri path> by the complete path to the SmartBar deployment directory
−>
<!- •••••• Begin LivePerson SmartBar(TM) Code ••••• −>
<div id=“IpMEguide”>
<script type=“text/javascript” language=“JavaScript”>document.getEiementById(“IpMEguide”).style.display =
‘none’;</script>
<table width=“150” border=“0” cellspacing=“0” cellpadding=“0” style=“background-color:#eeeeee; padding: 2 4 2 4”>
<tr><td align=“center”>img src=“http://_.gif’ style=“margin-bottom: 2px”>
</td>
</tr>
<tr id=“IpMEframe(LPbarCartCrossSell)TR” valign=“top”>
<td>
<iframe name=“IpMEframe(LPbarCartCrossSell)” id=“IpMEframe(LPbarCartCrossSell)” marginwidth=“0”
marginheight=“0” scrolling=“no” frameborder=“0” width=“0” height=“0”>
</iframe>
</td>
</tr>
<tr id=“IpMEframe(LPbarCartCartActions)TR” valign=“top”>
<td>
<iframe name=“IpMEframe(LPbarCartActions)” id=“IpMEframe(LPbarCartCartActions)” marginwidth=“0”
marginheight=“0” scrolling=“no” frameborder=“0” width=“0” height=“0”>
</iframe>
</td>
</tr>
<tr id=“IpMEframe(LPbarCartBuying)TR” valign=“top”>
<td>
<iframe name=“IpMEframe(LPbarCartBuying)” id=“IpMEframe(LPbarCartBuying)” marginwidth=“0” marginheight=“0”
scrolling=“no” frameborder=“0” width=“0” height=“0”>
</iframe>
</td>
</tr>
</table>
<script>
function IpMEioadFrameSrc(IpMEname,ctlParms)
var IpMEframeId=“IpMEframe(“+IpMEname+”)”;
var IpMEframeSrcUrl=“http://sales.liveperson.net/hc/<account number>/cmd/url/?site=<account
number>&page=”+
escape(‘http://<url path>/Scripts/IpMEGenericContent.html?frame=’+IpMEframeId)+
“&info=(“+IpMEname+”)”+ctlParms+“&d=”+(new Date( ).getTime( ));
document.getElementById(IpMEframeId).src=IpMEframeSrcUrl;
function IpMEloadAllFrames(timeoutTrigger)
if (timeoutTrigger)
setTimeout(“IpMEloadAllFrames(false)”, 10);
return;
IpdblnitDynamicButtonRealtime( );
IpMEloadFrameSrc(“LPbarCartCrossSell”,“&waitForVisitor=false”);
IpMEloadFrameSrc(“LPbarCartActions”,“&waitForVisitor=false”);
IpMEloadFrameSrc(“LPbarCartBuying”,“&waitForVisitor=false”);
</script>
<iframe name=“IpMEwaitForVisitor” id=“IpMEwaitForVisitor” scrolling=“no” frameborder=“0” width=“0” height=“0”>
</iframe>
<script>
var IpMEwaitForVisitorFlag;
if (typeof(IpMEwaitForVisitorFlag)==“undefined”)
IpMEwaitForVisitorFlag=true;
document.getElementById(“IpMEwaitForVisitor”).src=
“http://sales.liveperson.net/hc/<account number>/cmd/url/?site=<account number>&page=” +
escape(‘http://<url path>/Scripts/IpMEloadAllFrames.html’) +
“&info=(IpMEwaitForVisitor)” +
“&waitForVisitor=”+(IpMEwaitForVisitorFiag?“redirectBack&redirectTimeout=400”:“false”) +
“&d=”+(new Date( ).getTime( ));
</script>
</div>
<!-- ****** End LivePerson SmartBar(TM) Code ***** −>

[0050]SmartBar™ cells are dynamic cells embedded in web pages. In a preferred embodiment, the HTML code embedded in the web page pulls information from a dedicated web server.

[0051]FIG. 4A depicts one embodiment of the content library used to generate SmartBar™ cell content. The user can select from clickable images, links, pop-ups, and SmartBar™ templates and the like. In a preferred embodiment, the user can create and modify content. The “create new” button generates a screen such as the one shown in FIG. 4B.

[0052]FIG. 4B is a template editor. A user can name and describe a template and link the template to various promotions. Further, the template provides an area whereby HTML code is entered to generate the cells.

[0053]As shown in FIG. 4C, a clickable image is defined. The marketer enters the name, description, resource type URL, destination URL. In a preferred embodiment, the user enters the height and width of the clickable content on this screen. Further, once the template is established, rules are associated with the specific SmartBar™.

[0054]FIG. 4D shows various rule types that will trigger a SmartBar™ template and the rule priorities within each type. Rule types include clicking a dynamic button, entering a page, entering a site, click-to-chat, leaving a site, browsing a site, and the like. Each of these rule types can designate a specific activity or group of activities. Additionally, other pop-ups or content is displayed based on rules and user activity as discussed above.

[0055]In one embodiment, rules can be organized under campaigns (FIG. 4E). Campaigns can be setup for a specific period of time.

[0056]It should be noted that in another embodiment, a user first establishes rules, then groups these rules into campaigns. After the rules and campaigns are established, SmartBar™ templates are generated to support the campaigns. Further, because the generation of the SmartBar™ cells, the business rules, and the web layout are discreet activities, no specific order is required for the overall implementation. In a preferred embodiment, a user defines a campaign. Rules are then written or selected to accomplish the campaign.

[0057]The present invention may be described herein in terms of functional block components, code listings, optional selections and various processing steps. It should be appreciated that such functional blocks may be realized by any number of hardware and/or software components configured to perform the specified functions. For example, the present invention may employ various integrated circuit components, e.g., memory elements, processing elements, logic elements, look-up tables, and the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices.

[0058]Similarly, the software elements of the present invention may be implemented with any programming or scripting language such as C, C++, C#, Java, COBOL, assembler, PERL, or the like, with the various algorithms being implemented with any combination of data structures, objects, processes, routines or other programming elements.

[0059]Further, it should be noted that the present invention may employ any number of conventional techniques for data transmission, signaling, data processing, network control, and the like.

[0060]It should be appreciated that the particular implementations shown and described herein are illustrative of the invention and its best mode and are not intended to otherwise limit the scope of the present invention in any way. Indeed, for the sake of brevity, conventional data networking, application development and other functional aspects of the systems (and components of the individual operating components of the systems) may not be described in detail herein. Furthermore, the connecting lines shown in the various figures contained herein are intended to represent exemplary functional relationships and/or physical or virtual couplings between the various elements. It should be noted that many alternative or additional functional relationships or physical or virtual connections may be present in a practical electronic data communications system.

[0061]As will be appreciated by one of ordinary skill in the art, the present invention may be embodied as a method, a data processing system, a device for data processing, and/or a computer program product. Accordingly, the present invention may take the form of an entirely software embodiment, an entirely hardware embodiment, or an embodiment combining aspects of both software and hardware. Furthermore, the present invention may take the form of a computer program product on a computer-readable storage medium having computer-readable program code means embodied in the storage medium. Any suitable computer-readable storage medium may be utilized, including hard disks, CD-ROM, optical storage devices, magnetic storage devices, and/or the like.

[0062]The present invention is described below with reference to block diagrams and flowchart illustrations of methods, apparatus (e.g., systems), and computer program products according to various aspects of the invention. It will be understood that each functional block of the block diagrams and the flowchart illustrations, and combinations of functional blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions that execute on the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart block or blocks.

[0063]These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.

[0064]Accordingly, functional blocks of the block diagrams and flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions, and program instruction means for performing the specified functions. It will also be understood that each functional block of the block diagrams and flowchart illustrations, and combinations of functional blocks in the block diagrams and flowchart illustrations, can be implemented by either special purpose hardware-based computer systems that perform the specified functions or steps, or suitable combinations of special purpose hardware and computer instructions.

[0065]One skilled in the art will also appreciate that, for security reasons, any databases, systems, or components of the present invention may consist of any combination of databases or components at a single location or at multiple locations, wherein each database or system includes any of various suitable security features, such as firewalls, access codes, encryption, de-encryption, compression, decompression, and/or the like.

[0066]The scope of the invention should be determined by the appended claims and their legal equivalents, rather than by the examples given herein. For example, the steps recited in any method claims may be executed in any order and are not limited to the order presented in the claims. Moreover, no element is essential to the practice of the invention unless specifically described herein as “critical” or “essential.”

[0067]In the specification, the term “media” means any medium that can record data therein. The term “media” includes, for instance, a disk shaped media for such as CD-ROM (compact disc-read only memory), magneto optical disc or MO, digital video disc-read only memory or DVD-ROM, digital video disc-random access memory or DVD-RAM, a floppy disc, a memory chip such as random access memory or RAM, read only memory or ROM, erasable programmable read only memory or E-PROM, electrical erasable programmable read only memory or EE-PROM, a rewriteable card-type read only memory such as a smart card, a magnetic tape, a hard disc, and any other suitable means for storing a program therein.

[0068]A recording media storing a program for accomplishing the above mentioned apparatus may be accomplished by programming functions of the above mentioned apparatuses with a programming language readable by a computer or processor, and recording the program on a media such as mentioned above.

[0069]A server equipped with a hard disk drive may be employed as a recording media. It is also possible to accomplish the present invention by storing the above mentioned computer program on such a hard disk in a server and reading the computer program by other computers through a network.

[0070]As a computer processing device, any suitable device for performing computations in accordance with a computer program may be used. Examples of such devices include a personal computer, a laptop computer, a microprocessor, a programmable logic device, or an application specific integrated circuit.

[0071]While this invention has been described by reference to a preferred embodiment, it should be understood that numerous changes could be made within the spirit and scope of the inventive concepts described. Accordingly, it is intended that the invention not be limited to the disclosed embodiment, but that it have the full scope permitted by the language of the following claims.

Claims

1. (canceled)

2. A computer-implemented method comprising:

receiving a request to generate a rule container corresponding to a campaign;

generating the rule container for the campaign;

receiving a rule selection of a rule included in the rule container, wherein the rule includes a condition corresponding to a particular website visitor activity;

receiving input corresponding to the rule selection, wherein the input includes a priority for the rule and a customization of the rule, wherein the customization includes an update to a real-time interactive element of the rule, and wherein the priority and the customization are used to obtain an updated rule;

tracking visitor activity on a website in real-time as a visitor device associated with a visitor of the website interacts with the website;

making a determination that the visitor activity corresponds to the condition of the updated rule;

dynamically changing a content cell displayed on a webpage of the website based on the determination, wherein the content cell is changed to include the updated real-time interactive element;

receiving visitor input that includes an element selection of the updated real-time interactive element; and

facilitating a messaging communication between an operator device and the visitor device based on the element selection.

3. The computer-implemented method of claim 2, wherein the real-time interactive element includes an invitation to communicate with customer service.

4. The computer-implemented method of claim 2, wherein the real-time interactive element includes an invitation to access a help system.

5. The computer-implemented method of claim 2, wherein making the determination further includes determining that the visitor activity corresponds to a second condition of a second rule, and the computer-implemented method further includes:

dynamically updating content of a second cell displayed on the webpage to include content related to the visitor activity based on an action included in the second rule.

6. The computer-implemented method of claim 2, wherein facilitating the messaging communication includes determining that an agent is available that has a particular skill associated with the rule and with the particular website visitor activity.

7. The computer-implemented method of claim 2, wherein the updated rule is also associated with a second campaign.

8. The computer-implemented method of claim 2, wherein the updated rule includes a higher priority than a plurality of other rules included in the rule container.

9. A system comprising:

one or more processors; and

one or more non-transitory machine-readable storage media containing instructions that, when executed on the one or more processors, cause the one or more processors to perform operations including:

receiving a request to generate a rule container corresponding to a campaign;

generating the rule container for the campaign;

receiving a rule selection of a rule included in the rule container, wherein the rule includes a condition corresponding to a particular website visitor activity;

receiving input corresponding to the rule selection, wherein the input includes a priority for the rule and a customization of the rule, wherein the customization includes an update to a real-time interactive element of the rule, and wherein the priority and the customization are used to obtain an updated rule;

tracking visitor activity on a website in real-time as a visitor device associated with a visitor of the website interacts with the website;

making a determination that the visitor activity corresponds to the condition of the updated rule;

dynamically changing a content cell displayed on a webpage of the website based on the determination, wherein the content cell is changed to include the updated real-time interactive element;

receiving visitor input that includes an element selection of the updated real-time interactive element; and

facilitating a messaging communication between an operator device and the visitor device based on the element selection.

10. The system of claim 9, wherein the real-time interactive element includes an invitation to communicate with customer service.

11. The system of claim 9, wherein the real-time interactive element includes an invitation to access a help system.

12. The system of claim 9, wherein making the determination further includes determining that the visitor activity corresponds to a second condition of a second rule, and the operations further include:

dynamically updating content of a second cell displayed on the webpage to include content related to the visitor activity based on an action included in the second rule.

13. The system of claim 9, wherein facilitating the messaging communication includes determining that an agent is available that has a particular skill associated with the rule and with the particular website visitor activity.

14. The system of claim 9, wherein the updated rule is also associated with a second campaign.

15. The system of claim 9, wherein the updated rule includes a higher priority than a plurality of other rules included in the rule container.

16. A non-transitory machine-readable storage medium, including instructions embodied thereon, the instructions executable by one or more processors to perform operations including:

receiving a request to generate a rule container corresponding to a campaign;

generating the rule container for the campaign;

receiving a rule selection of a rule included in the rule container, wherein the rule includes a condition corresponding to a particular website visitor activity;

receiving input corresponding to the rule selection, wherein the input includes a priority for the rule and a customization of the rule, wherein the customization includes an update to a real-time interactive element of the rule, and wherein the priority and the customization are used to obtain an updated rule;

tracking visitor activity on a website in real-time as a visitor device associated with a visitor of the website interacts with the website;

making a determination that the visitor activity corresponds to the condition of the updated rule;

dynamically changing a content cell displayed on a webpage of the website based on the determination, wherein the content cell is changed to include the updated real-time interactive element;

receiving visitor input that includes an element selection of the updated real-time interactive element; and

facilitating a messaging communication between an operator device and the visitor device based on the element selection.

17. The non-transitory machine-readable storage medium of claim 16, wherein the real-time interactive element includes an invitation to communicate with customer service.

18. The non-transitory machine-readable storage medium of claim 16, wherein the real-time interactive element includes an invitation to access a help system.

19. The non-transitory machine-readable storage medium of claim 16, wherein making the determination further includes determining that the visitor activity corresponds to a second condition of a second rule, and the operations further include:

dynamically updating content of a second cell displayed on the webpage to include content related to the visitor activity based on an action included in the second rule.

20. The non-transitory machine-readable storage medium of claim 16, wherein facilitating the messaging communication includes determining that an agent is available that has a particular skill associated with the rule and with the particular website visitor activity.

21. The non-transitory machine-readable storage medium of claim 16, wherein the updated rule is also associated with a second campaign.

22. The non-transitory machine-readable storage medium of claim 16, wherein the updated rule includes a higher priority than a plurality of other rules included in the rule container.