Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können die Kundenzufriedenheit verbessern, indem Sie Bereiche antizipieren, in denen Kunden Hilfe benötigen, und sie dann per Chat ansprechen, wenn sie Ihre Website schon länger besuchen.
Betrachten Sie die folgenden Szenarien für das proaktive Starten eines Chats.
Hinweis
In den Codebeispielen, die in den folgenden Szenarien aufgeführt sind, wird die setContextProvider-API verwendet, die nur für nicht authentifizierte Chats verwendet werden kann. Für authentifizierte Chats müssen Sie das JSON Web Token (JWT) verwenden. Weitere Informationen: Senden von Authentifizierungstoken
Szenario 1: Wartezeit für Kunden
Amy hat versehentlich ein Surface Book beschädigt und befindet sich etwa 20 Sekunden lang in der Produktwissensdatenbank, um Antworten zu suchen. Eine proaktive Chat-Anfrage wird basierend auf der Produktseite, die Amy durchsucht hat, und der auf der Seite verbrachten Zeit ausgelöst.
Hi! Just checking in to see if I can help answer any questions you may have.
Amy kann das Chat-Angebot annehmen und das Gespräch beginnen, um das Problem zu klären.
Beispielcode
<!-- Code to show proactive chat invite after visitor has spend given time on the webpage -->
<script id="Proactivechattrigger">
// Wait for Chat widget to load completely
window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
var timeToWaitBeforeOfferingProactiveChatInMilliseconds = 20000;//time to wait before Offering proactive chat to webpage visitor
// Setting context variables
Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(function contextProvider(){
return {
'Proactive Chat':{'value':'True','isDisplayable':true},
'Time On Page':{'value': timeToWaitBeforeOfferingProactiveChatInMilliseconds ,'isDisplayable':true},
'Page URL':{'value': window.location.href,'isDisplayable':true},
};
});
//Display proactive chat invite after 'timeToWaitBeforeOfferingProactiveChatInMilliseconds' milliseconds
setTimeout(function(){
Microsoft.Omnichannel.LiveChatWidget.SDK.startProactiveChat({message: "Hi! Just checking in to see if I can help answer any questions you may have."}, false)
},timeToWaitBeforeOfferingProactiveChatInMilliseconds);
});
</script>
Szenario 2: Der Kunde besucht eine Webseite mehrmals
Thomas stöbert durch die Microsoft Surface Community-Webseite und sucht nach Informationen zum Microsoft Surface Gerät. Thomas hat eine Webseite mehrmals besucht, ist aber nicht in der Lage, die Antworten zu finden.
Wenn dieses Szenario erkannt wird, bietet die Organisation dem Kunden eine Chatanfrage mit der folgenden Nachricht an.
Hi! Do you have a question on Surface device ? I am here to help.
Beispielcode
<!-- Code to show proactive chat invite(after given time) after visitor visits the webpage given number of time -->
<!-- Operations on cookies like creating cookies, deleting cookies etc.. -->
<script>
var expdate = new Date ();
expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000*365)); // 1 yr from now
/* ####################### start set cookie ####################### */
function setCookie(name, value, expires, path, domain, secure) {
var thisCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
document.cookie = thisCookie;
}
/* ####################### start get cookie value ####################### */
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
/* ####################### end get cookie value ####################### */
}
/* ####################### start get cookie (name) ####################### */
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
/* ####################### End get cookie (name) ####################### */
/* ####################### Start delete cookie ####################### */
function DeleteCookie (name,path,domain) {
if (GetCookie(name)) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
/* ####################### End of delete cookie ####################### */
/* ####################### Count number of visits to current webpage ####################### */
function VisitCounter(){
var visits = GetCookie("timesPageVisited");
if (!visits) { visits = 1;
document.write("Select a Conversation Space");
}
else {
visits = parseInt(visits) + 1;document.write("Select a Conversation Space.");}
setCookie("timesPageVisited", visits,expdate);
}
/* ####################### End of count number of visits to current webpage ####################### */
</script>
<!-- Count number of visits to current webpage -->
<script>
VisitCounter();
</script>
<script id="Proactivechattrigger">
// Wait for Chat widget to load completely
window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
// setting Context variables
Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(function contextProvider(){
return {
'Proactive Chat':{'value':'True','isDisplayable':true},
'No. of visits':{'value':'2','isDisplayable':true},
'Forums':{'value':'Surface Devices','isDisplayable':true},
};
});
setTimeout(function(){
var timeToWaitBeforeOfferingProactiveChatInMilliseconds = 5000;//Time to wait before offering proactive chat to webpage visitor
var visits = GetCookie("timesPageVisited");
//Check if webpage has been visited 2 or more times by the user.
if (visits > 2) {
//Display proactive chat invite
Microsoft.Omnichannel.LiveChatWidget.SDK.startProactiveChat({message: "Hi! Do you have a question on Surface device? I am here to help."}, false);
DeleteCookie("timesPageVisited");//Delete the cookie to reset the counter
}
},timeToWaitBeforeOfferingProactiveChatInMilliseconds);
});
</script>
Szenario 3: Der Kunde prüft den Status eines offenen Supportfalls
Jacob durchstöbert die Support-Seite für Microsoft Surface-Geräte, um weitere Informationen zu dem offenen Supportfall zu finden. Jacob war 10 Sekunden lang auf der Seite und bekommt dann einen proaktiven Chat mit der folgenden Nachricht angeboten.
Hi! How are you doing today? The status of the case:<caseid> is in progress. Would you like to get more details?
Beispielcode
<!--Code to show proactive chat invite after visitor has spend given time on the webpage, with relevant details about user.-->
<script id="Proactivechattrigger">
// Wait for Chat widget to load completely
window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
var timeToWaitBeforeOfferingProactiveChatInMilliseconds = 10000;//Time to wait before offering proactive chat to webpage visitor
var caseId = '< your case id relevant to the user.>';//Set case id relevant to the user.
// setting Context variables
Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(function contextProvider(){
return {
'Proactive Chat':{'value':'True','isDisplayable':true},
'Case Id':{'value':caseId,'isDisplayable':true}
};
});
//Show proactive chat invite after 'timeToWaitBeforeOfferingProactiveChatInMilliseconds' milliseconds
setTimeout(function(){
Microsoft.Omnichannel.LiveChatWidget.SDK.startProactiveChat({message: "Hi! How are you doing today? The status of the case: " + caseId + " is in progress. Would you like to get more details?"}, false)
},timeToWaitBeforeOfferingProactiveChatInMilliseconds);
});
</script>
Szenario 4: Der Kunde versucht, eine Webseite zu verlassen, nachdem er einige Zeit darauf verbracht hat
Amy hat eine Webseite 15 Sekunden lang durchsucht und ist mit den verfügbaren Informationen nicht zufrieden. Wenn Amy im Webbrowser zwischen den Registerkarten wechseln möchte, wird eine proaktive Chatanfrage mit der folgenden Nachricht an Amy gesendet.
Hi! Just checking in to see if I can help answer any questions you may have.
Beispielcode
//Code to show proactive chat invite when visitor tries to leave page after spending given time (15 seconds in this case) on the webpage. This invite is offered once and only for the first time. All subsequent tries to leave page are ignored and proactive chat is not offered in them.
<script id="Proactivechattrigger">
//Track if proactive chat has been already offered to the visitor
var hasProactiveChatBeenOffered = false;
//Wait for Chat widget to load completely
window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
var timeToWaitBeforeEnablingOfferingProactiveChatInMillisecondsOnLeaving = 15000; //Time to wait before Offering proactive chat to webpage visitor
//Enable showing proactive chat invite on leaving page after browsing page for 'timeToWaitBeforeEnablingOfferingProactiveChatInMillisecondsOnLeaving' milliseconds
setTimeout(function(){
//Show proactive chat invite on leaving page
window.document.body.onmouseleave = function(){
//Offer proactive chat if it has not been offered earlier during this visit
if( hasProactiveChatBeenOffered == false )
{
// Set this to true as proactive chat has been almost offered.
hasProactiveChatBeenOffered = true;
//Setting Context variables
Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(function contextProvider(){
return {
'Proactive Chat':{'value':'True','isDisplayable':true},
'Page URL':{'value': window.location.href,'isDisplayable':true},
};
});
//Offer proactive chat
Microsoft.Omnichannel.LiveChatWidget.SDK.startProactiveChat({message: "Hi! Just checking in to see if I can help answer any questions you may have."}, false);
}
};
},timeToWaitBeforeEnablingOfferingProactiveChatInMillisecondsOnLeaving);
});
</script>
Szenario 5: Der Kunde hat eine andere Webseite besucht und verbringt dann Zeit auf der aktuellen Webseite
Amy hat das FAQ-Dokument des Produkts durchgesehen und befindet sich derzeit seit mehr als 15 Sekunden auf der Knowledge Base-Seite. Amy wird proaktiv eine Chat-Sitzung mit der folgenden Nachricht angeboten.
Hi! Just checking in to see if I can help answer any questions you may have.
Beispielcode
//Code to show proactive chat invite when visitor spends given time on current page, after coming from given last visited page
<script id="Proactivechattrigger">
var lastVisitedPage = "www.contoso.com/FAQ";// last visited page. A visitor coming form this page will be shown proactive chat invite after given time on current page
// Wait for Chat widget to load completely
window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
var timeToWaitBeforeOfferingProactiveChat = 15000;//Time to wait before Offering proactive chat to webpage visitor
//Check if referrer page( read: https://www.w3schools.com/jsref/prop_doc_referrer.asp ) is same as last Visited page
if( window.document.referrer == lastVisitedPage) )
{
//Show proactive chat invite after browsing page for 'timeToWaitBeforeOfferingProactiveChat' milliseconds
setTimeout(function(){
//Setting Context variables
Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(function contextProvider(){
return {
'Proactive Chat':{'value':'True','isDisplayable':true},
'Page URL':{'value': window.location.href,'isDisplayable':true},
'Last Page URL':{'value': window.document.referrer,'isDisplayable':true}
};
});
//Offer proactive chat
Microsoft.Omnichannel.LiveChatWidget.SDK.startProactiveChat({message: "Hi! Just checking in to see if I can help answer any questions you may have."}, false);
},timeToWaitBeforeOfferingProactiveChat);
}
});
</script>
Szenario 6: Der Kunde meldet sich aus einer bestimmten geografischen Region an
Klarissa meldet sich auf Ihrer Website von Ruritania an, wo Ihr Unternehmen einen Sonderrabatt auf Produkte anbietet. Sie können einen Auslöser für Kunden einrichten, die von einem bestimmten Standort kommen, der proaktiv eine Chat-Sitzung startet. Klarissa wird mit der folgenden Nachricht zum Chat aufgefordert.
Hi! Just checking in to see if I can help answer any questions you may have.
Beispielcode
Dieser Beispielcode zeigt, wie Sie die Geolocation-APIs von Bing verwenden können, um die geografische Region des Kunden zu ermitteln und darauf basierend Chatanfragen anzubieten. Weitere Informationen zu den Standort-APIs von Bing finden Sie unter Bing Maps-Standort-API.
//Code to show proactive chat invite if visitor is visiting the page in a particular country or region
<script id="Proactivechattrigger">
// Wait for Chat widget to load completely
window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
var countryNameWhereProactiveChatInviteShouldBeOffered = 'Ruritania';//Country name where proactive chat invite should be offered, if user is visiting webpage from this country
// Get Country name using Bing Geolocation API and proactively offer chat if visitor's country matches with given country name
function GetCountryUsingBingGeoLocationAPIAndOfferProactiveChatIfVisitorCountryMatchesWithGivenCountry( latitude, longitude, bingMapApiKey, countryToMatch) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4)
if(this.status == 200) {
console.log(this.responseText);
var currentCountryName = JSON.parse(this.responseText).resourceSets[0].resources[0].address.countryRegion;
//Check if visitor's country matches with given Country name
if( currentCountryName == countryToMatch){
alert(currentCountryName);
// setting Context variables
Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(function contextProvider(){
return {
'Proactive Chat':{'value':'True','isDisplayable':true},
'Country':{'value': currentCountryName ,'isDisplayable':true},
'Page URL':{'value': window.location.href,'isDisplayable':true},
};
});
//Show proactive chat invite
Microsoft.Omnichannel.LiveChatWidget.SDK.startProactiveChat({message: "Hi! Just checking in to see if I can help answer any questions you may have."}, false);
}
}
else{
console.log("Bing Geolocation API call has failed and returned error: " + this.statusText);
}
};
xhttp.open("GET", 'https://dev.virtualearth.net/REST/v1/Locations/'+ latitude +','+ longitude +'?key='+ bingMapApiKey, true);
xhttp.setRequestHeader("Content-type", "application/json");
xhttp.send();
}
//fetching latitude and longitude is success
function successGetlatLong(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
console.log('Your latitude is :'+latitude+' and longitude is '+longitude);
//convert current loaction to a country/ region via Bing Geolocation APIs
var bingMapApiKey = 'Enter your Bing Map API key';// Get Bing Map API key here : https://learn.microsoft.com/bingmaps/getting-started/bing-maps-dev-center-help/getting-a-bing-maps-key
GetCountryUsingBingGeoLocationAPIAndOfferProactiveChatIfVisitorCountryMatchesWithGivenCountry( latitude, longitude, bingMapApiKey, countryNameWhereProactiveChatInviteShouldBeOffered);// get Country name using Bing Geolocation API and offer proctiveChat if visitor's country matches with Country name where proactive chat invite should be offered
}
//fetching latitude and longitude has failed
function errorGetlatLong() {
console.log('It seems browser was not allowed to access location. Please allow browser to access location.');
}
//fetch latitude and longitude via browser
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(successGetlatLong, errorGetlatLong);
} else {
console.log('It seems like Geolocation, which is required for this page, is not enabled in your browser. Please use a browser which supports it.');
}
});
</script>
Szenario 7: Bieten Sie Kunden innerhalb eines bestimmten Zeitraums proaktiv einen Chat an
Angenommen, Ihr Unternehmen führt zwischen bestimmten Terminen einen Weihnachtsverkauf durch und Sie möchten Kunden proaktiv Chatanfragen anbieten, um zu sehen, ob sie Fragen haben.
Beispielcode
Der folgende Beispielcode zeigt, wie Sie Kunden proaktiv Chateinladungen anbieten können, wenn sie Ihre Website in einem bestimmten Zeitraum besuchen.
//Code to show proactive chat invite if visitor visits webpage between given time period
<script id="Proactivechattrigger">
// Wait for Chat widget to load completely
window.addEventListener("load", function handleLivechatReadyEvent(){//lcw:ready
var startTimeOfTimePeriod = new Date('01 Jan 2019 00:00:00 GMT');//start time of time period in which proactive chat will be shown to webpage visitor
var endTimeOfTimePeriod = new Date('01 Jan 2100 00:00:00 GMT');//end time of time period in which proactive chat will be shown to webpage visitor
var currentDateTime = new Date();//current date and time
//Make sure that endTimeOfTimePeriod is always greater and equal to startTimeOfTimePeriod
if( endTimeOfTimePeriod < startTimeOfTimePeriod)
{
console.log("The time period given for proactive chat has start time: " + startTimeOfTimePeriod.toGMTString() + " more that the end time: " + endTimeOfTimePeriod.toGMTString() + " of time period. So, proactive chat will not be offered.");
return;
}
//Check if current date time is between given time period
if( startTimeOfTimePeriod < currentDateTime && endTimeOfTimePeriod > currentDateTime){
// setting Context variables
Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(function contextProvider(){
return {
'Proactive Chat':{'value':'True','isDisplayable':true},
'Page URL':{'value': window.location.href,'isDisplayable':true},
};
});
//Show proactive chat invite
Microsoft.Omnichannel.LiveChatWidget.SDK.startProactiveChat({message: "Hi! Just checking in to see if I can help answer any questions you may have."}, false);
}
});
</script>
Szenario 8: Proaktives Anbieten eines Chats mit Vorumfrage für Kunden
Angenommen, Ihre Organisation möchte eine Einwilligungsautorisierung, um einen Chat mit einem Kunden zu starten, oder Sie möchte sich zu den Themen im Zusammenhang mit der Kundenanfrage erkundigen, bevor sie die Sitzung an den entsprechenden Agenten weiterleitet.
Beispielcode
Der folgende Beispielcode zeigt, wie Sie Ihren Kunden proaktiv einen Chat mit einer Frage vor der Umfrage anbieten können.
window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
Microsoft.Omnichannel.LiveChatWidget.SDK.startProactiveChat(
"Hi! How are you doing today? Do you wish to start a chat?",
true);
});
Verwandte Informationen
startProactiveChat-API
Benutzerdefinierte Kontext verwalten
Starten eines Chats
Benutzerdefinierten Kontext anzeigen
JavaScript-API-Referenz für Live-Chat