Devět tipů, jak založit kontaktní centrum se vzdáleným přístupem

24. 4. 2020

Sdílet

Autor: Genesys
Práce na dálku poskytuje flexibilitu a udržitelnost podnikání, zvláště v současné době nejistoty. Manažeři přesouvají své zaměstnance mimo společné kanceláře, čímž se snaží dodržovat zásady tzv. social distancing a zajistit jejich bezpečí.

Co je tedy potřeba k založení cloudového kontaktního centra se vzdáleným přístupem? Jak posilnit své zaměstnance a zachovat tak jejich dobré pracovní výsledky i schopnost poskytovat prvotřídní zákaznický servis ve vzdálené kanceláři?

1. Podpořte prostředí práce na dálku a udržujte spojení mezi všemi členy týmu

Buďte ve spojení každý den a používejte aplikace a programy bohaté na takové funkce, které umožní blízkou spolupráci všem členům týmu – sdílení obrazovky či zapojení kamery při online schůzkách.

2. Aktualizujte nástroje pro správu zaměstnanců

Budete potřebovat řešení, které vám umožní sledovat kritické parametry jako vyřešení problémů při prvním kontaktu, průměrný čas strávený čekáním ve frontě, procento odmítnutých hovorů, průměrný čas strávený prací po hovoru samotném, průměrný podíl nevyřešených hovorů či průměrnou rychlost přijetí hovoru.

3. Zaveďte flexibilní plánování

Rozptýlený tým znamená rozptýlené harmonogramy. Pro správu flexibilních rozvrhů svých zaměstnanců budete potřebovat výkonný nástroj, který vám umožní splňovat potřeby zaměstnanců i s velmi proměnlivou pracovní zátěží.

4. Využívejte monitoring a nástroje hodnocení kvality

K řízení vzdáleného týmu potřebujete pokročilé nástroje pro monitoring a hodnocení kvality odvedené práce, které vám pomohou dosáhnout požadovaný výkon, odhalit snížení účinnosti, docílit vysoké spokojenosti u zákazníků a pomůžou vám splnit všechny vaše obchodní cíle.

5. Poskytněte supervizorům nástěnky, které se zobrazují v reálném čase

Dostatek dat zobrazujících se v reálném čase poskytuje praktický náhled do každého procesu, který mají supervizoři na starost. Jsou to údaje jako výkon zaměstnance, počet spravovaných interakcí nebo počet zákazníků, kteří právě čekají na vyřízení.

6. Snažte se co nejvíc využít dotazníky spokojenosti zákazníků s kontaktním centrem

Dotazníky spokojenosti zákazníků s hovorem odhalí, co si ve skutečnosti zákazník myslí a umožní kontaktním centrům učinit potřebné kroky k doladění svých strategií směrem ke zlepšení spokojenosti zákazníků. Sledujte spokojenost zákazníků, výkon zaměstnanců, vyřešení problémů při prvním kontaktu a další cenná data.

7. Vylepšete možnosti směrování

Nástroje pro prediktivní směrování pracuje s vašimi daty a na jejich základě vytváří chytřejší model směrování hovorů zákazníka k vhodnému zaměstnanci. Umožňují tak vašim zákazníkům dostat se k nejlepšímu zdroji i přes skutečnost, že jsou vaši zaměstnanci rozptýlení na více místech.

8. Sdílejte denní statistické údaje

Při režimu práce na dálku je zapotřebí denně sdílet statistiky výkonu se svými zaměstnanci. Vy potřebujete vědět, co oni dělají ve své domácí kanceláři a oni potřebují vědět, zda celý tým drží krok a zda dobře pracuje.

9. Sbírejte zpětnou vazbu

Zpětná vazba je v momentální situaci potřebná víc než kdy předtím, když vaše kontaktní centrum bylo léta pohromadě v jedné kanceláři. Potřebujete vědět, co se děje, i když s nimi nejste v osobním kontaktu. Proto se snažte získat zpětnou vazbu všude tam, kde je to možné.

linux_sprava_tip

Nezapomeňte od svých zaměstnanců získat zpětnou vazbu týkající se způsobů práce z domova a taky pracovních postupů. Pokud to bude nutné, zlepšete a doplňte pravidla. Zhodnoťte neefektivní postupy, odstraníte tím překážky a udržíte produktivitu.

Se správnými nástroji lze snadno proměnit své kontaktní centrum v pružný, globální a čilý tým zaměstnanců pracujících ze svých domovů a poskytovat tak vysokou úroveň služeb zákazníkům a zároveň vykazovat vynikající obchodní výsledky.

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
OSZAR »