Обратный звонок с сайта за 30 секунд: виджет форма с функцией callback — сервис Callibri

Содержание

Обратный звонок: полезный инструмент или раздражитель?

Несмотря на то, что в последние годы переписка между компанией и клиентами является основным методом коммуникации, некоторые люди по-прежнему отдают предпочтение общению с менеджерами в телефонном режиме. Им наверняка не понравится, если попытки дозвониться в организацию не увенчаются успехом. Решить проблему можно, используя виджет обратного звонка. Потенциальные покупатели хотят, чтобы вы звонили им, а не они − вам.

Отказ от использования такого инструмента на сайте может повлечь за собой упущение лидов и потерю денег. При этом нужно помнить о том, что многие пользователи негативно реагируют на коллбек, поскольку он их раздражает. Так что же делать владельцу бизнеса − отказаться от виджета обратного звонка или использовать его? Рассмотрим особенности инструмента, чтобы принять взвешенное решение.

Что такое обратный звонок?

Обратный звонок − один из вариантов поддержания связи с клиентом. По сути, посетитель вашего сайта просит менеджеров позвонить ему и оставляет контактный номер. Компания в свою очередь даёт обещание сделать звонок в течение конкретного временного промежутка. Плюсы этого инструмента:

  • повышение конверсии;
  • улучшение скоростных показателей коммуникации;
  • рост уровня лояльности.

Функция обратного звонка может быть представлена в разнообразном исполнении. Наиболее популярные варианты − интерактивная кнопка и всплывающее окно.

Каждый из вариантов можно трансформировать под себя (анимация, текст, цветовое оформление и т. д.). Важный момент − правильность расположения виджета. Иногда компания стремится дать пользователям возможность использовать большое количество каналов связи. Это, несомненно, хорошо, однако иконки и кнопки нужно размещать осознанно, а не делать из них гремучую смесь.

Стоит использовать продукты, позволяющие в один виджет вместить все каналы связи. Так и клиентам удобно, и дизайн сайта не страдает.

Актуальность использования обратного звонка

Нужен ли обратный звонок? С поиском ответа на этот вопрос рано или поздно сталкиваются владельцы онлайн-бизнеса. В некоторых случаях без него просто не обойтись. Наибольшую эффективность инструмент демонстрирует в сферах, которые предполагают подробное и длительное консультирование. Виджет стоит установить на сайтах, имеющих отношение к:

  • продаже, аренде недвижимости;
  • услугам юристов или финансистов;
  • медицине;
  • туризму;
  • образованию и т. д.

Если ваша аудитория взрослые люди, которые перед оформлением заказа уточняют все детали, то функция обратного звонка должна быть доступна на сайте вашей компании.

В сферах, где ЦА сформирована из молодёжи, от инструмента можно отказаться. Он будет не особо эффективным для салона красоты, пекарни, барбершопа, цветочного магазина. Эти направления бизнеса связаны с предоставлением конкретных услуг, подробная консультация просто не требуется.

Отметим, что на иностранных интернет-площадках виджет обратного звонка используется крайне редко.

Это связано с тем, что зарубежная аудитория не особо приемлет такой формат связи. Звонки поступают только в случае претензий.

Что касается России, то у нас обратный звонок всё ещё популярен.

Поисковые системы и callback

Некоторые предприниматели боятся, что после установки обратного звонка поисковые системы понизят их позицию в выдаче. На самом деле официального подтверждения того, что сайт просядет, нет. Теоретически пессимизация возможна, если форма появляется сразу после входа на ресурс. Решение вопроса − показ окна или кнопки с отсрочкой в 20-30 секунд.

В каких случаях обратный звонок становится раздражающим фактором?

Часто на просторах сети можно найти информацию о том, что callback раздражает пользователей. В основном это связано с неправильным оформлением и использованием инструмента. Например, интерактивные кнопки делаются излишне анимированными, преследуют гостя, отвлекают от изучения информации.

Иногда окно расположено так неудачно, что частично перекрывает контент и путает пользователя. В этой ситуации сайт будет закрыт с большой долей вероятности.

Ещё один вариант неправильной установки виджета − прямо на тексте, ваш гость просто не имеет возможности прочитать интересующие его сведения.

Популярная ошибка − несвоевременность показа обратного звонка. Если окно появится слишком рано, то гость ещё не успеет сориентироваться. Задержка может привести к уходу пользователя со страницы.

Повысить число отказов могут слишком большие окна, которые закрывают весь материал. А если ещё и крестик для закрытия будет слишком мелким, то пользователь просто уйдёт и больше не вернётся.

Таким образом, раздражающее воздействие оказывает не сам обратный звонок, а его реализация на сайте.

Как правильно настроить callback?

Основные правила подготовки обратного звонка:

  • адекватное размещение кнопки, она не должна мешать, лучший вариант − левый нижний угол экрана;
  • умеренная заметность, виджет должен выделяться на фоне, но не отпугивать излишней анимированностью;

  • своевременность показа, пользователю нужно предложить обратный звонок через 20-30 с после входа на сайт;
  • использование компактных окон, нельзя делать так, чтобы они перекрывали контент, появление pop-up актуально при длительном бездействии пользователя на странице или при его намерении уйти;
  • продуманность дизайна, кнопки и другие виджеты нужно гармонично связать общим цветом, оформлением, идеей;
  • быстрый ответ, менеджер должен перезвонить клиенту в течение 30 с или в то время, которое указал клиент.

Подводя итоги

Итак, нужен ли обратный звонок? Всё зависит от сферы вашей деятельности и особенностей целевой аудитории. В умелых руках этот инструмент может принести немало пользы, а при неправильном подходе − серьёзно навредить бизнесу. Раздражает пользователей не callback, а его плохая настройка. Если вы хотите, чтобы функция обратного звонка была реализована на вашем сайте правильно, обращайтесь к нашим специалистам.

Статьи по теме

  • Подвал сайта (футер) относится к элементам навигации. Он расположен в самом низу страницы, из-за чего некоторые владельцы веб-ресурсов пр…

    2021-08-02

  • Число брендов на мировом рынке постоянно увеличивается. Чтобы выделиться среди конкурентов, вам необходимо разработать фирменный стил…

    2021-03-19

  • Онлайн-консультанты − помощники, которые встречают гостей сайта практически сразу после визита на интернет-площадку. Эти виджеты позво…

    2021-02-24

  • Вопросы юзабилити: на что обратить внимание в 2021 году? Начало года − время для подготовки плана работы над сайтом. В зоне внимания в…

    2021-01-19

  • Два года тому назад компания Яндекс представила новую платформу, которая дала возможность эффективно работать с потенциальными покупа…

    2020-09-15

  • Если ваш интернет-магазин занимается продажей товаров, то для каждой из позиций предстоит подготовить красивый, уникальный, грамотный т…

    2020-08-21

  • Понятие «онбординг» используется для обозначения знакомства пользователя с интернет-магазином, информационным порталом, другим сайто…

    2020-07-30

  • Главная страница − лицо вашего сайта, а значит, она должна быть выстроена и оформлена идеально. По одёжке встречают − на онлайн-простора…

    2019-06-26

  • Поведенческие факторы (ПФ) − это всевозможные действия, которые совершают на интернет-сайте посетители. Их набор меняется с течением вр…

    2019-06-18

  • Онлайн-коммерция − высококонкурентная сфера. Чтобы побудить пользователей к приобретению, мало просто добавить активную кнопку «Купит…

    2019-05-15

  • Важность текстового контента для интернет-ресурсов трудно переоценить. Мы уже неоднократно говорили о том, что материалы должны быть ин…

    2019-01-09

  • ЗДРАВСТВУЙТЕ! Нам все чаще за последнее время стали поступать заявки с вопросами: как привлечь клиентов, какие рекламные каналы работ…

    2017-03-01

  •   С каждым годом популярность интернет-магазинов растёт. Если раньше люди предпочитали делать приобретения в стационарных точках про…

    2016-12-08

  •   В последнее время вопросам корректного отображения сайтов в разных браузерах уделяется немало внимания. Это связано с тем фактом, чт…

    2016-10-06

  • Юзабилити-тест при ограниченном бюджете: как его провести?   В том, что проводить экспертизу интернет-ресурсов на предмет юзабилити не…

    2016-04-19

Кнопка обратного звонка для вашего сайта

Представляем Вашему вниманию

Он приносит до 50% больше звонков!

Без каких либо изменений в сайте и увеличения рекламы Это виджет, который вы устанавливаете на свой сайт. Он ловит тех, кто сам не позвонит и перезванивает за 30 секунд.
Система звонит вам и клиенту, соединяя вас на линии.

Клиенты не звонят из-за того, что не хотят платить за звонок

Клиенты оставляют заявку в разных компаниях и заказывают у того, кто быстрее перезвонил

Клиенты оставляют заявки, но менеджеры перезванивают не сразу

Преимущества обратного звонка:

Это бесплатный входящий звонок для клиента.

Система перезванивает клиенту за 30 секунд.

Система автоматически соединяет клиента с вами

Сразу после подключения виджета, на сайте появляется кнопка обратного звонка, которая предлагает перезвонить вам за 30 секунд

Клиент вводит свой номер телефона в поле формы обратного вызова и нажимает на кнопку «Жду звонка»

Сервис автоматически звонит на ваш номер телефона. При этом вы слышите голосовое уведомлением о том, что вы получили звонок с сайта.


Как только вы взяли трубку, сервис звонит клиенту. Примите заказ, пока он готов совершить покупку!

  • «Легкий обратный звонок»

    Разговоров в месяц…………….30 мин.

    Уведомления о звонках………… да

    8 ₽ в день

  • «Обратный звонок»

    Разговоров в месяц…………….60 мин.

    Уведомления о звонках………… да

    16 ₽ в день

C чего начать?


Выберите и активируйте тариф, написав нам в чат, который подойдет для вашего бизнеса.

Настройте чат через личный кабинет на платформе.


Установите код на ваш сайт и принимайте звонки.

Возникли трудности на любом из этих этапов? Напишите нам в чат. Поможем!
  1. Как менеджер поймет, что это звонок с сайта?
  2. Когда менеджер поднимает трубку, система голосом оповестит его «Ожидайте соединения». Это сигнал на то, что этот звонок с сайта.

  3. Как правильно отвечать на звонки с сайта?
  4. Мы рекомендуем следующий ответ: Добрый день! Компания …. Меня зовут … Вы заказывали звонок с сайта … Я готов ответить на Ваши вопросы, задавайте!

  5. Можно ли эту штуку привязать к моему CMS / «движку» сайта?
  6. Наш чат возможно интегрировать практический на любой сайт. Для этого необходимо вставить небольшой html-код. Так же есть готовый плагин для CMS WordPress

  7. Это повышает конверсию?
  8. Так как это бесплатный входящий звонок, посетители более охотно соглашаются, чтобы им перезвонили. Значит и обращений будет больше, при условии, что сайт посещаем.

  9. Возможно ли менять визуализацию чата под стиль нашего сайта?
  10. Да, основную кнопку чата можно окрасить в произвольный цвет и перемещать в нужное место.

  11. Как тарифицируется время разговора?
  12. Отсчет времени начинается с того момента как система дозвонилась до вас. Тарификация разговора поминутная. Секунды округляются в большую сторону до минут. Например, если продолжительность разговора составила 2 минуты 37 секунд, то списываются 3 минуты.

  13. Что будет, если закончится время, отведенное для разговоров в месяц?
  14. Кнопка просто больше не будет показываться на вашем сайте. Однако не стоит забывать, что каждый пропущенный звонок от потенциального клиента — это упущенная выгода. Возможно, вам стоит задуматься о приобретении одного из более «продвинутых» тарифов.

Бесплатный обратный звонок RedConnect Free

Обновлено 18 сентября 2021 Просмотров: 40 539 Автор: Дмитрий Петров

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Не раз уже затрагивал на страницах блога тему оптимизации воронки продаж и в качестве одного из инструментов часто упоминал варианты виджетов обратного звонка. Вот… А сегодня хочу поговорить об уникальном (просто аттракцион невиданной щедрости) в своем роде проекте на отечественном рынке инструментов для маркетологов и продажников. Речь пойдет опять же об обратном звонке, но… Не спешите кидать в меня тяжелыми предметами — я расскажу вам о первом абсолютно бесплатном обратном звонке (вроде как и без подводных камней).

RedConnect Free — это новый продукт от давно присутствующей на этом рынке компании RedHelper, которая уже собаку съела на различных облачных коммерческих сервисах. Вполне ожидаемо, что бесплатный обратный звонок работает на базе своего “старшего брата” — платного сервиса RedConnect. Главных отличий ровно два, причем оба они касаются исключительно владельца сайта:

  1. До 1000 соединений в месяц — абсолютно бесплатно
  2. Сервис работает в полуавтоматическом режиме.

Если с первым ограничением все понятно (для многих оно вообще и не ограничение вовсе, ибо объемы бизнеса до этого показателя не дотягивают), то вот об втором пункте (полуавтоматическом режиме) я и расскажу подробнее. На самом деле, там тоже ограничение не ахти какое, поэтому, собственно, и появился этот пост (всегда приятно поделиться чем то бесплатным и одновременно дюже полезным).

Бесплатный виджет обратного звонка — впервые на арене

Хотя для начала лучше — покажу видео:

Поначалу я сомневался в эффективности подобного подхода. Идея разработчика понятна — сделать ставший уже привычным обратный звонок абсолютно бесплатным нельзя. Всегда будут как минимум затраты на телефонию (причем в две стороны — для посетителя и владельца сайта). А еще ведь есть зарплата сотрудникам, аренда офиса, серверов, и так далее. Но ребята из RedHelper решили и рыбку съесть, и сковородку не помыть. И у них это, на мой взгляд, получилось.

В случае с RedConnect Free прямые затраты разработчика — только те 10 секунд, что робот сообщает об обратном звонке. И это решение гораздо удобнее, нежели отправка СМС или e-mail с информацией об заказе звонка. Об это споткнулись все обратные звонки предыдущего поколения.На то, чтобы прочитать СМС или e-mail иногда уходили даже не минуты, а часы — оператор, обычно, не сразу читал сообщение. Не редки были и случаи, когда заказ обратного звонка игнорировался полностью. Естественно, что клиент не готов ждать звонка больше минуты, поэтому такие формы связи очень быстро перестали пользоваться популярностью.

Современные платные обратные звонки автоматически звонят оператору, и когда тот берет трубку начинают звонить посетителю. Это удобно — т.к. практически невозможно пропустить такой звонок. Даже если телефон был занят, или оператор не взял трубку — умные виджеты автоматически перезванивали через какое-то время. И клиент не терялся. Но все это было только за деньги.


В случае, если оператор не ответил на обратный звонок, посетитель может оставить свой отзыв

RedConnect Free совмещает в себе принципы бесплатности и эффективности. Ведь оператор все так же получает входящий обратный звонок — пропустить его сложно. В качестве номера абонента автоматически подставляется номер посетителя, заказавшего звонок. И все, что остается оператору — всего лишь нажать кнопку “Перезвонить”. Удобно? Мне кажется да. Эффективно? Несомненно. Выгодно? Конечно, ведь за это не нужно платить!

Конечно же, вы наверняка вспомнили поговорку про бесплатный сыр. В данном случае мышеловкой, покушающейся на ваш бюджет, будет старшая, платная версия RedConnect.

Все дело в том, что старшая, платная версия, имеет значительно больше функций. Для RedConnect Free возможно настроить только один номер телефона и нельзя выбрать дизайн виджета. Только стандартная версия. Кроме того, у старшей версии значительно лучше сделаны отчеты — из них можно почерпнуть много полезной информации, например увидеть — посетители из каких источников чаще заказывают обратный звонок.

Но лично мне кажется, что эти функции нужны крупным и быстро развивающимся компаниям, которые давно и просто стоят на ногах. А вот для небольшого интернет-магазина или начинающего коммерческого сайта бесплатная версия будет отличным подспорьем в бизнесе. Интернет буквально пестрит сообщениями, что установка обратного звонка на сайт увеличивает конверсию на 40% и более! Я всегда с недоверием относился к подобным заявлением, но теперь есть возможность проверить это абсолютно бесплатно.

Ведь по сути для посетителя Вашего сайта бесплатная версия практически ничем не отличается от платной. Я проверял, с какой скоростью работает RedConnect Free — и на то, чтобы найти звонящий телефон, ответить, послушать сообщение робота и перезвонить на появившийся на экране номер у меня уходило в среднем 25-30 секунд — то есть посетитель получит обратный звонок менее, чем за минуту, а именно это время клиент остается “горячим”.

Ну, как бы, у RedHelper получилось создать практически оптимальный бесплатный продукт для решения задач оптимизации воронки продаж — он не стоит ни копейки, при этом неплохо выглядит и отлично справляется с поставленной задачей — быстро и эффективно уведомляет менеджера или оператора сайта о том, что потенциальный клиент хочет задать свои вопросы и перейти в разряд реальных. Всенепременно рекомендую к ознакомлению и дальнейшему использованию.

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Эта статья относится к рубрикам:

5 причин добавить виджет обратного звонка на сайт

Согласно опросу Google, 60% клиентов не готовы ожидать на линии даже 1 минуту. Никто не любит звонить в компанию и ждать на линии, пока ему ответят. Приходится искать контакты и тратить деньги на звонок. Но хорошей новостью является то, что обратный вызов можно организовать всего за 30 секунд, что позволит клиенту сэкономить.

В статье мы рассмотрим 5 основных преимуществ функции обратного звонка для бизнеса.

 

Польза обратного звонка для бизнеса

Внедрение виджета обратного звонка на ваш сайт поможет:

1. Улучшить сервис

75% клиентов предпочитают, чтобы компания перезванивала сама.

Когда вы предоставляете возможность запросить обратный вызов вместо ожидания на линии, вы показываете, что цените их время.

Общение с участливым менеджером улучшает впечатление клиентов о вашем обслуживании и делает их более удовлетворенными.

А чтобы уменьшить количество тех, кто не нашел нужную информацию на сайте, предложите перезвонить, когда посетитель покидает сайт.

2. Увеличить продажи

Когда клиент сталкивается с удержанием на линии, как правило, он сбрасывает и, в лучшем случае, звонит в компанию позже, а в худшем – предпочтет конкурента. Это приводит к высокому уровню отказов и повторным звонкам.

Исследования показывают, что услуга обратного вызова поможет снизить количество таких отказов на 32%. Поэтому ваши клиенты смогут связаться со специалистами без откладываний и увеличения объемов вызовов.

Как это работает?

  • Если вы не смогли дозвониться клиенту, вы сможете набрать его в другое время, так как к вам на почту придут его контакты;
  • Если клиент хочет связаться с вами в нерабочее время, он сможет выбрать, когда ему удобнее перезвонить в рабочее время;
  • Если в процессе разговора выяснилось, что интересуемый товар не подходит клиенту, консультант может предложить более подходящие варианты.

3. Грамотно управлять звонками

Большинство людей не против немного подождать обратного звонка в отличие от ожидания на линии.

Для вас это означает, что ваша команда может использовать обратный вызов, чтобы распределить поступающие вызовы без привлечения большего количества менеджеров.

Если один специалист будет занят или недоступен, клиент будет соединен с тем, который первым возьмет трубку.

4. Оценить уровень менеджеров

Благодаря записи звонков вы можете прослушать разговоры и проанализировать качество работы сотрудников.

Новичкам это поможет проводить работу над ошибками, а лучшим сотрудникам — совершенствоваться еще больше.

Также запись разговора может стать основой системы обучения персонала.

5. Повысить моральный дух сотрудников

Если звонящему не пришлось долго ждать, чтобы дозвониться до специалиста, он, скорее всего, будет в лучшем настроении при разговоре с консультантом.

Это снижает нагрузку на ваших сотрудников и помогает улучшить другие важные показатели, такие как среднее время обработки звонка и т.д.

 

Начните использовать преимущества от функции обратного звонка, протестировав наш виджет. Оставьте заявку и получите 10 минут общения с клиентами в подарок!

Обратный звонок: особенности виджета и преимущества

Технологии постоянно усовершенствуются, тем самым на рынке появляется множество новых виджетов, которые значительно упрощают жизнь.

Виджет обратного звонка — это современное устройство, с помощью которого компании налаживают лучший процесс общения с клиентами. На сайте Ringostat.com можно найти и узнать про эту функцию больше.

Особенности функционала

Виджет обратного звонка — это популярная и востребованная технология на рынке, с помощью которой обеспечивается быстрая связь посетителей сайта с менеджерами. Как правило, в среднем, на соединение с оператором уходит не больше 20–30 секунд.

Сам виджет представляет собой кнопку, с нарисованным телефоном на ней. Располагается данный функционал в нижнем правом углу.

Принцип работы обратного звонка достаточно прост, и состоит из следующих этапов:

  • Посетитель видит кнопку виджета и кликает по ней.
  • После нажатия, на экране появляется форма заказа звонка. Зачастую она сопровождается текстом «Хотите мы позвоним вам в течение 30 секунд?».
  • Такие надписи положительно сказываются на посетителях, поэтому большинство пользователей заказывают обратный звонок.
  • Для того чтобы получить звонок, клиент оставляет свой номер телефона в сплывающем поле, после чело нажимает кнопку «Заказать».
  • После отправки данных виджет направляет звонок менеджеру, и как только тот берет трубку, автоматически набирает клиенту.
  • Как только пользователей берет трубку, создается конференция между клиентом и менеджером.

Где заказать виджет

Обратный звонок увеличивает количество звонков от клиентов, поэтому также положительно влияет на продажи. Обратный звонок от Ringostat — это полезный инструмент, с помощью которого клиенты смогут получить быстрое соединение с менеджером.

Данный виджет отличается следующими преимуществами:

  • Улучшение лояльности клиентов. Как только клиент видит, что компания заинтересована в нем и быстро перезванивает, лояльность сразу повышается. Кроме того, звонок ровно через 30 секунд представляет компанию, как ответственного и пунктуального поставщика.
  • Быстрая скорость обработки. Менеджерам не требуется тратить свое время на звонки, ведь все выполняется в автоматическом режиме.
Хочешь чаще читать новости Om1.ru? Нажми «Добавить в избранные источники Яндекс.Новостей».

Нашли опечатку? Выделите ее и нажмите Ctrl+Enter

Типы форм обратного звонка на сайте — Айтроник

Итак, все формы обратного звонка можно разделять по следующим параметрам:

  1. Отображение
  2. Тип появления
  3. Логика работы

Отображение формы на сайте может быть различным, например:

1. Стандартное окно в центре экрана
Будет красиво смотреться практически на любом сайте за счет своей универсальности. Не забудьте настроить внешний вид формы: добавьте логотип, отредактируйте цвета кнопок.

2. Если хотите, можете добавить изображение в форму обратной связи

3. «Мультивиджет»
Если у вас на сайте стоит консультант, обратный звонок с сайта и кнопка «Отправить заявку», то будет логично, если вы объедините эти способы связи в один блок.

4. Кастомная форма в дизайне сайта
Если вы хотите, чтобы ваши клиенты связывались с вами, используя формы на вашем сайте, вы можете сделать это с помощью API Ньютона.

 

По типу появления формы обратного звонка можно разделить на два типа:

  1. Автоматически всплывающая форма. Это форма, которая появляется на сайте в зависимости от поведения пользователей: время на сайте, просмотр конкретных страниц и т.д.
  2. Форма, вызываемая при клике на кнопку.

Эти формы могут не отличаться друг от друга по дизайну. Разница в содержимом: если в первом случае главная задача формы – вовлечь пользователя в диалог, заинтересовать предложением, чтобы он перезвонил, то во втором достаточно общей фразы от том, что вы перезвоните пользователю. Например:

 

Хотите мы перезвоним вам за 30 секунд и расскажем об акции «Цены пополам»? — текст в автоматически всплывающей форме

Мы свяжемся с вами в течении 30 секунд. Засекайте! — текст  в форме, вызванной по кнопке

 

!! Вы можете отключить автоматически всплывающую форму, но мы настоятельно советуем вам этого не делать, по статистике до 40% общих звонков приходится именно с нее.

 

По логике работы автоматически всплывающие формы делят на два типа:

  1. Диалог. В этом случае пользователь вашего сайта увидит окно с закрытым вопросом, например, «Вы нашли тот товар, который искали?». После того, как пользователь ответит на вопрос, виджет «Ньютон» предложит перезвонить и помочь с выбором. Преимущества такого режима в том, что Ньютон ненавязчиво вовлекает пользователя в диалог, задавая вводный вопрос. Далее вы можете придумать два предложения для пользователя в зависимости от его ответа: да или нет.
  2. Вопрос. В этом случае пользователь сразу увидит окно с предложением ввести номер телефона. Преимущества этого варианта в том, что пользователь сразу может заказать обратный звонок, минуя промежуточное окно.

Мгновенный обратный звонок RedConnect

Выпущена первая коммерческая версия нового продукта — виджета мгновенных обратных звонков с совместным браузером RedConnect.

Виджет позволяет посетителю сайта быстро заказать обратный звонок, просто вписав свой номер телефона. Система RedConnect автоматически дозванивается до оператора и соединяет его с клиентом по телефону, а также дает возможность взаимодейтвовать посредством совместного браузера.

Особенности:

  • отличный дизайн, делающий виджет заметным, но не раздражающим посетителя

  • соединение c клиентом происходит автоматически и мгновенно, что с легкостью позволяет посетителю получить быструю обратную связь менее чем за 30 секунд

  • интегрированная технология CoBrowse позволяет в режиме онлайн наблюдать за посетителем, подсвечивать ему необходимую информацию и помогать с навигацией по сайту
  • тарификация по числу звонков, а не времени разговора

RedConnect делает возможным проведение полноценных презентаций товаров и услуг с помощью сайта и телефона.

Презентация.

Как подключить:

  • Настройка RedConnect производится в соответствующем разделе личного кабинета.

    Вы можете установить виджет звонка сразу на все сайты и страницы, где установлен консультант от RedHelper, или выбрать конкретные сайты или страницы из списка.
    Добавить сайт или страницу в список можно в разделе Отделы и сайты.

  • Укажите номер телефона оператора, с которым система будет связывать клиентов, дни и время работы этого номера, а также логины операторов, которым в приложение должно приходить уведомление о заказе звонка.

    Вы можете подключить уведомления о звонках к вашей электронной почте. получаемые сообщения будут содержать информацию о номере телефона клиента, времени и длительности звонка.

  • Чтобы иметь возможность использовать функцию наблюдения в реальном времени за действиями посетителя, заказавшего звонок, установите приложение оператора.

    Если в настройках указано, что оператор должен получать уведомление о заказе звонка, то в приложении автоматически откроется вкладка нужного посетителя. В ней будет доступна информация о клиенте и оставленном им номере телефона, а также доступна вкладка наблюдения за посетителем.

  • Записи успешных звонков c возможность прослушивания доступны, а также информация о времени, продолжительности звонка и номерах клиента и обработавшего его менеджера доступна в раздленном по датам списке в разделе История.

Будем рады, если вы найдете новую функцию полезной для себя. Подробный рассказ и помощь в настройке можно получить у наших менеджеров в чате и по телефону +7 (495) 221-77-57.

Автоматический обратный звонок через веб-форму для привлечения потенциальных клиентов — больше не будет потерянных потенциальных клиентов

Один из наиболее эффективных способов, которыми потенциальные клиенты часто выбирают для выражения своего интереса к услугам или продуктам компании, — это использование различных форм на веб-сайте. Как только они заполнят форму и нажмут «Отправить», мяч окажется на вашей площадке. От того, насколько быстро и эффективно ваша компания может ответить на запрос лида, может быть разница между получением нового лояльного клиента и потерей потенциального клиента навсегда.

К сожалению, последний сценарий более распространен: около 70% всех новых потенциальных клиентов теряются просто потому, что менеджеру по продажам или специалисту службы поддержки может потребоваться до двух дней, чтобы связаться с клиентом. Какой смысл вкладывать средства в многочисленные кампании по привлечению потенциальных клиентов и маркетинговые мероприятия, если вы теряете более половины потенциальных клиентов, прежде чем они когда-либо получат шанс конвертироваться?

Что такое автоматический обратный вызов веб-формы от CallGear?

CallGear разработала специализированный инструмент автоматического обратного вызова, который инициирует исходящий звонок с клиентом, как только он проявляет интерес, заполнив форму на сайте.Эта функция называется автоматическим обратным вызовом через веб-форму для генерации лидов и является мощным инструментом для автоматизации процесса взаимодействия вашей команды с лидом.

Если вашим менеджерам нужно немного больше времени, чтобы подготовиться к звонку и прочитать информацию о клиенте, чтобы предложить им более индивидуальное внимание и обслуживание, эта функция позволяет вам записать автоматическое голосовое сообщение, которое клиент услышит до того, как вызов пройдет. . Информация, записанная в голосовой подсказке, содержит сведения о вашем бизнесе или любых его аспектах, которые могут быть полезны для клиента и побудить его заключить сделку.

Кроме того, поскольку она связана с функцией отслеживания вызовов CallGear, функция автоматического обратного вызова веб-формы может помочь вам собрать и проанализировать всю важную информацию о вызове. Сам разговор и все связанные с ним данные будут храниться в вашей учетной записи CallGear и синхронизироваться с CRM, которую использует ваша команда.

В любое время, когда вам нужно знать, кто и когда инициировал звонок, какова была причина звонка, по какому каналу он поступил или какая рекламная кампания помогла привлечь лида, детали будут немедленно доступны и легко доступны для всестороннего анализа. вашими специалистами.Благодаря надежным возможностям отслеживания форм в решении CallGear вам никогда не придется иметь дело с запросом веб-формы, который снова теряется, остается без ответа или без ответа.

Как автоматический обратный вызов через веб-форму от CallGear может помочь вашему бизнесу?

Функция автоматического обратного вызова через веб-форму может помочь вашему бизнесу сохранить потенциальных клиентов из веб-форм, оптимизировать общие бизнес-процессы и сократить расходы бюджета несколькими уникальными способами:

Снижение расходов на связь .Уменьшите количество вызывающих абонентов, стоящих в очереди, чтобы поговорить с вашими менеджерами, включив автоматический обратный вызов в дни наибольшей нагрузки. Объем входящих звонков будет ниже, если ваши потенциальные клиенты и клиенты будут знать, что их интересы в веб-форме будут удовлетворены быстро и правильно.

Уменьшить процент отказа от лида. Перестаньте терять потенциальных клиентов, потому что некому вовремя ответить на их запрос через веб-форму

Упростите форму и отслеживание звонков . Храните всю статистику исходящих вызовов, созданную с помощью веб-форм, в одном месте для удобного поиска и анализа.

Повысьте продуктивность сотрудников . Снизьте стресс для сотрудников и менеджеров колл-центра, распределяя рабочую нагрузку более равномерно и справедливо.

Повысьте удовлетворенность клиентов . Сделайте так, чтобы ваши клиенты почувствовали себя ценными и важными, попросив одного из ваших менеджеров позвонить им в течение нескольких секунд после того, как они отправят запрос через веб-форму.

Настройка обратных вызовов в Amazon Connect

При настройке взаимодействия с центром обработки вызовов администраторы должны помнить, что длительное время ожидания неизбежно приведет к прерыванию вызовов и разочарованию клиентов.Простой способ убедиться, что вашим абонентам не придется долго ждать на удержании, когда нет доступных агентов, — это использовать функцию обратного вызова. Это сохранит позицию вызывающего абонента в очереди даже после того, как он повесит трубку, а доступный агент автоматически наберет номер вызывающего абонента, когда подойдет их очередь.

В Amazon Connect есть два примера потоков контактов, использующих обратные вызовы, но между разными типами IVR, узлами ветвления и настройками очереди все может немного запутаться.Это сообщение в блоге проведет вас через все шаги, необходимые для создания удобного для клиентов и простого в управлении потока обратной связи.

Первый шаг перед погружением в редактор потока контактов — решить, что должно запускать опцию обратного вызова. Принуждать абонентов к обратному вызову, если они предпочитают подождать, — не лучший вариант, поэтому мы всегда будем предлагать меню с несколькими вариантами. Однако при выборе пункта меню вы хотите убедиться, что у вызывающих абонентов достаточно информации об очереди, в которой они ждут, чтобы принять обоснованное решение.

Вот некоторые из узлов, которые мы можем использовать для сбора текущего статуса центра обработки вызовов, чтобы сообщить нашим абонентам, сколько времени может длиться их ожидание:

Проверить статус очереди: Этот узел может проверить, заполнена ли очередь или время ожидания в очереди в настоящее время превышает определенный порог (миллисекунды, секунды, минуты или часы).

На сегодняшний день лучший способ использовать этот узел для обратного вызова — это переходить в зависимости от времени нахождения в очереди. Например, на скриншоте ниже мы проверяем статус очереди, и если время ожидания превышает 30 секунд, мы сообщаем вызывающему абоненту и даем ему возможность запросить обратный вызов или быть помещенным в очередь для ожидания 30+. секунд.На что следует обратить внимание: убедитесь, что вы настроили ветвь для времени ожидания в очереди меньше 30, иначе ветка будет идти по пути без совпадения в течение короткого времени ожидания.

Также следует учитывать возможность ожидания в течение нескольких минут. В этот момент вы можете предложить вызывающему абоненту вариант обратного вызова или перевода на голосовую почту, поскольку в очереди явно что-то не так.

Проверить штат: Этот узел будет проверять, сколько агентов доступно или укомплектовано (доступны, по вызову, после вызова или настраиваемый статус) в очереди.Этот узел может быть более полезным при захвате текущего состояния очереди по сравнению с узлом состояния очереди проверки, поскольку время ожидания очереди может быть меньше 30 секунд, но только потому, что в очереди, которая только что закрылась, нет никого, ожидающего день.

Проверяя, есть ли доступные агенты, вы можете убедиться, что вызывающий абонент сможет немедленно поговорить с агентом, в противном случае вы можете предложить меню с выбором для обратного вызова.

Проверка часов работы: Этот узел будет искать текущие часы работы для очереди или может быть настроен для проверки того, находится ли вызывающий абонент в определенных временных рамках.Этот второй вариант может быть полезен в особенно загруженное время дня. Если вы знаете, что в ваш колл-центр поступает много звонков каждый день с 12 до 1 дня, вы можете настроить специальную проверку, чтобы предложить всем звонящим в обеденное время возможность обратного звонка.

Передача в очередь (при максимальной емкости): Еще одно хорошее место для предложения обратных вызовов — передача в узел очереди. Хотя вы можете проверить емкость очереди в узле состояния очереди проверки, передача в очередь является последним узлом в IVR и будет содержать самые последние данные очереди.В зависимости от того, насколько сложен ваш поток вызовов, это может быть лучшим моментом в процессе вызова для перенаправления вызывающих абонентов в пункт меню обратного вызова.

После того, как мы используем узел ветвления для оценки состояния и вызывающий абонент узнает, что в данный момент нет доступных агентов, имеет смысл предложить им вариант обратного вызова через узел ввода данных о клиенте. Вот пример того, как это может выглядеть. В потоке контактов, показанном ниже, мы проверяем, находятся ли какие-либо агенты в основной очереди, и, если никто не доступен сразу, мы сообщаем вызывающему абоненту, что у него есть опция обратного вызова (это будет путь 1, который не связан ни с какими опциями ниже) .

Пришло время наконец настроить обратный вызов.

Самым важным компонентом потока обратного вызова будет узел «Передача в очередь». В самом простом случае вы можете настроить весь поток обратного вызова только вокруг этого узла. Попробуйте создать новый поток контактов, настройте его, как показано ниже, и подключите его напрямую к входящему номеру телефона. Убедитесь, что вы выбрали передачу в очередь обратного вызова внутри узла передачи в очередь и проиграли приглашение после успеха, иначе вызывающий абонент ничего не услышит.

Когда вы набираете номер, Amazon Connect сохраняет ваш номер телефона и автоматически использует его для обратного вызова, как только агент в настроенной вами очереди (в нашем случае — маркетинг) становится доступным.

Если у вас очень простой вариант использования, это должно быть все, что вам нужно для начала работы с обратными вызовами, просто перейдите в очередь обратных вызовов вместо обычной очереди, и вызывающий абонент будет автоматически перезвонить по номеру, который они использовали для набора в систему. .Если вы хотите, чтобы вызывающий абонент услышал сообщение перед подключением к агенту, создайте новый поток исходящего шепота и установите его в дополнительных параметрах очереди.

В этом случае вызывающий абонент, получивший обратный вызов из маркетинговой очереди, услышит исходящий шепот по умолчанию «Этот вызов не записывается».

Следует иметь в виду, что сегодня нет готового способа убедиться, что вызывающий абонент все еще хочет обратный вызов, прежде чем уже назначить агента для вызова.Система работает следующим образом:

  1. Он назначает доступного агента с навыками для соответствующей очереди для обратного вызова
  2. Агент должен принять обратный вызов в CCP, иначе он будет перенаправлен другому доступному агенту
  3. Как только агент примет обратный вызов, Amazon Connect позвонит клиенту, используя исходящие настройки очереди
  4. Amazon Connect будет воспроизводить любой поток шепотом, настроенный для исходящей очереди
  5. Вызывающий абонент и агент подключены (даже если мы достигли только голосовой почты вызывающего абонента)

Ваши агенты должны ожидать, что им, возможно, придется оставить голосовую почту и перезвонить позже.Они должны записать номер обратного вызова, если возможно, или, по крайней мере, время звонка, чтобы супервизор мог найти сеанс позже.

Конечно, неплохим вариантом было бы получить от вызывающего абонента предпочтительный номер телефона для обратного вызова, если он звонит из офиса, но хочет, чтобы перезвонили на свой мобильный телефон.

Чтобы улучшить основной процесс обратного вызова, первым шагом должен быть сбор телефонного номера вызывающего абонента. Это можно сделать с помощью узла ввода покупателя магазина.Убедитесь, что вы выбрали формат номера телефона и добавили задержку между записями, чтобы у вызывающего абонента было время ввести каждую цифру. Это сохранит предпочтительный номер телефона для обратного вызова в качестве входной переменной клиента.

После того, как предпочтительный номер вызывающего абонента сохранен, вы можете использовать узел набора номера обратного вызова. Этот узел проверит номер и сохранит его для обратного вызова. Убедитесь, что недопустимые и «недоступные» пути позволяют вызывающему абоненту знать, что их ввод не будет работать, а затем вернитесь к узлу сбора телефонных номеров.Если все в порядке, воспроизведите приглашение, чтобы звонящий знал, что мы перезвоним ему и добавим перевод в узел очереди.

Убедитесь, что после добавления передачи в узел очереди вы выбрали опцию передачи в очередь обратного вызова. Это откроет несколько опций, актуальных только для обратных вызовов. Вы можете выбрать начальную задержку и максимальное количество попыток обратного вызова.

Последняя конфигурация — выбор очереди для использования для обратного вызова. Это необязательный параметр, поскольку передовой опыт рекомендует устанавливать очередь в начале потока вызовов, используя заданный узел очереди.В любом случае вам необходимо убедиться, что для обратного вызова установлена ​​очередь, поскольку системе нужны настройки очереди для правильной обработки обратных вызовов.

После того, как передача в узел очереди настроена должным образом, последний шаг — убедиться, что все узлы с ошибками обработаны, и вы повесили узел передачи. Поток вызовов должен выглядеть примерно так.

Опубликуйте поток контактов и выполните тестовый звонок с запросом обратного вызова. После того, как поток контактов зависает, может показаться, что ничего не произошло, вам нужно будет войти в систему как агент, связанный с очередью, содержащей обратный вызов, и сделать себя доступным.

CCP должен показать, что выполняется обратный вызов, и любой поток шепота, настроенный для очереди, будет активирован. Обратите внимание, что этот поток шепота будет воспроизводиться для вызывающего абонента, а не агента. Это может быть хорошей возможностью напомнить им, что они просили перезвонить, и сообщить, что агент поговорит с ними сейчас.

Так и должно быть, вы настроили поток обратного вызова, который легко обновить и который улучшит качество обслуживания ваших абонентов. Есть несколько способов, которыми вы можете расширить этот поток, например, вы можете использовать системную переменную Customer Number, чтобы прочитать номер телефона вызывающего абонента и спросить его, хотят ли они ввести новый номер телефона или предпочитают использовать номер по умолчанию.

Надеюсь, этот пост дал вам несколько идей о том, как вы можете ввести обратные вызовы в свой собственный колл-центр. Хотите узнать больше о решениях Amazon Connect с нашими экспертами? Обратитесь к Крейгу Рейшусу.

Об авторе

Алекс Моиси (Alex Moisi) — старший технический консультант Perficient, специализирующийся на решениях для колл-центров, включая Amazon Connect.

Больше от этого автора

дополнительных действий | Скрипт приложений | Разработчики Google

Дополнительные действия обеспечивают интерактивное поведение виджеты. Создавая действие, вы определяете, что происходит, когда пользователь выбирает или обновляет виджет.

В большинстве случаев вы можете определить дополнительные действия, используя Действие объекты, предоставляемые службой Apps Script Card.Каждое действие связано с функция обратного вызова при ее создании. Вы реализуете функцию обратного вызова предпринимать желаемые шаги при взаимодействии пользователя с виджетом. Вы также должны свяжите Action с виджетом используя соответствующую функцию обработчика виджетов, которая определяет, какое взаимодействие вызывает Действие обратный вызов.

Настроить виджет с помощью действия используя этот общий процесс:

  1. Создайте объект Action , указав функцию обратного вызова, которую она должна выполнить вместе с любыми параметрами, которые ему требуются.
  2. Вызов соответствующей функции обработчика виджета на виджете с помощью действия Action объект.
  3. Реализуйте функцию обратного вызова, чтобы активировать требуемое поведение.
Примечание: Не путайте Action объекты с CardAction объекты. CardAction объектов являются элементами меню заголовка карты, а Action объекты определяют ответы на взаимодействия пользователя с пользовательским интерфейсом.

Чтобы связать виджет с конкретным действием или другое поведение, вы используете виджет функция обработчика.Функция-обработчик определяет, какое взаимодействие (например, щелчок по виджету или редактирование текстового поля) запускает действие поведение. Функция обработчика также определяет, какие шаги выполняет пользовательский интерфейс, если есть, после завершения действия.

В следующей таблице перечислены различные типы обработчиков для виджетов и виджеты, с которыми они используются:

Функции обратного вызова

Функции обратного вызова выполняются, когда выполняется действие триггеры. Поскольку функция обратного вызова является функциями скрипта приложений, вы можете использовать их делать почти все, что может сделать любая другая функция скрипта.

Предупреждение: Служба карты сценариев приложений. ограничивает время выполнения функций обратного вызова максимум 30 секундами. Если выполнение занимает больше времени, пользовательский интерфейс надстройки может не обновлять карта отображается правильно в ответ на Действие .

Функция обратного вызова иногда возвращает определенный объект ответа. Эти типы ответов указывают на дополнительные операции, которые необходимо выполнить после обратный вызов завершает выполнение, например, отображение новой карты или представление предложения автозаполнения.Когда ваша функция обратного вызова должна возвращать конкретный объект ответа, вы используете класс построителя в сервисе Card построить этот объект.

В следующей таблице показано, когда ваши функции обратного вызова должны возвращать конкретный объект ответа для определенных действий. Все эти действия независимо от конкретного хост-приложения, надстройка расширяется:

В дополнение к этим действиям каждое хост-приложение имеет свой собственный набор действия, которые могут быть выполнены только на этом хосте. Для получения дополнительной информации см. Следующие гидов:

Примечание: При использовании классов построителя ответов обязательно вызовите build () , чтобы создавать объекты ответа.В противном случае возникает ошибка. Примечание: Определены универсальные действия в манифесте проекта и не требуется Action объекты, но их функции обратного вызова должны возвращать UniversalActionResponse .

Объекты событий действия

Когда надстройка запускает действие , пользовательский интерфейс автоматически создает объект события JSON и передает его как аргумент для обратного вызова Action функция. Этот объект события содержит информацию о текущем клиентский контекст, такой как текущие значения всех интерактивных виджеты в отображаемой карточке.

Объекты событий действия имеют определенную структуру JSON, которая организует информация, которую они содержат. Такая же структура используется, когда триггер домашней страницы запускается для создания домашней страницы, или когда контекстный триггер срабатывает для обновления дисплея надстройки.

См. Объекты событий для полной объяснение структуры объекта события.

Примечание. В надстройках Gmail использовалась упрощенная версия этой структуры объекта события, который теперь устарел. Для обратной совместимости все оригинальные Поля объекта события надстройки Gmail по-прежнему содержатся в новом событии структура объекта (см. структуру объекта события).Однако та же информация воспроизводится в общее событие и мероприятие Gmail объектные подструктуры. Если вы обновляете надстройку Gmail до Надстройка Google Workspace, вам следует скорректировать свой код использовать обновленные поля объекта события — в конечном итоге исходный Gmail Поля объекта события будут удалены.

Кооперативный асинхронный JavaScript: таймауты и интервалы — Изучите веб-разработку

В этом руководстве рассматриваются традиционные методы, доступные JavaScript для асинхронного выполнения кода по истечении заданного периода времени или через регулярные интервалы (например.грамм. установленное количество раз в секунду), обсуждает, для чего они полезны, и рассматривает присущие им проблемы.

Предварительные требования: Базовая компьютерная грамотность, разумное понимание JavaScript основы.
Цель: Чтобы понять асинхронные циклы и интервалы и их полезность для.

В течение долгого времени веб-платформа предлагала программистам JavaScript ряд функций, которые позволяют им асинхронно выполнять код по истечении определенного временного интервала и повторно выполнять блок кода асинхронно, пока вы не скажете, чтобы он остановился. .

Эти функции:

setTimeout ()

Выполнить указанный блок кода один раз по истечении указанного времени.

setInterval ()

Выполнять указанный блок кода несколько раз с фиксированной временной задержкой между каждым вызовом.

requestAnimationFrame ()

Современная версия setInterval () . Выполняет указанный блок кода до того, как браузер в следующий раз перерисовывает отображение, позволяя запускать анимацию с подходящей частотой кадров независимо от среды, в которой она выполняется.

Асинхронный код, установленный этими функциями, выполняется в основном потоке (по истечении указанного таймера).

Важно знать, что вы можете (и часто будете) запускать другой код до выполнения вызова setTimeout () или между итерациями setInterval () . В зависимости от того, насколько интенсивно используются эти операции для процессора, они могут еще больше задержать выполнение асинхронного кода, поскольку любой асинхронный код будет выполняться только через после того, как станет доступным для основного потока.(Другими словами, когда стек пуст.) Вы узнаете больше по этому вопросу по мере прохождения этой статьи.

В любом случае эти функции используются для запуска постоянной анимации и другой фоновой обработки на веб-сайте или в приложении. В следующих разделах мы покажем вам, как их можно использовать.

Как мы уже говорили, setTimeout () выполняет конкретный блок кода один раз по истечении заданного времени. Принимает следующие параметры:

  • Функция для запуска или ссылка на функцию, определенную в другом месте.
  • Число, представляющее интервал времени в миллисекундах (1000 миллисекунд равняется 1 секунде) ожидания перед выполнением кода. Если вы укажете значение 0 (или опустите значение), функция запустится как можно скорее. (См. Примечание ниже о том, почему он запускается «как можно скорее», а не «немедленно».) Подробнее о том, почему вы, возможно, захотите сделать это позже.
  • Ноль или более значений, представляющих любые параметры, которые вы хотите передать функции при ее запуске.

Примечание: Указанное время (или задержка) составляет , а не как гарантированное время до выполнения, а скорее минимальное время до выполнения.Обратные вызовы, которые вы передаете этим функциям, не могут выполняться, пока стек в основном потоке не станет пустым.

Как следствие, код типа setTimeout (fn, 0) будет выполняться, как только стек опустеет, а , а не сразу. Если вы выполните код типа setTimeout (fn, 0) , но сразу после запуска цикла, который насчитывает от 1 до 10 миллиардов, ваш обратный вызов будет выполнен через несколько секунд.

В следующем примере браузер будет ждать две секунды перед выполнением анонимной функции, затем отобразит предупреждающее сообщение (посмотрите, как оно работает в реальном времени, и посмотрите исходный код):

  let myGreeting = setTimeout (() => {
  alert ('Здравствуйте, мистерВселенная! ');
}, 2000);
  

Указанные вами функции не обязательно должны быть анонимными. Вы можете дать своей функции имя и даже определить ее где-нибудь еще и передать ссылку на функцию в setTimeout () . Следующие две версии фрагмента кода эквивалентны первой:

 
let myGreeting = setTimeout (function sayHi () {
  alert ('Здравствуйте, мистер Вселенная!');
}, 2000);


function sayHi () {
  alert («Привет, мистер Вселенная!»);
}

let myGreeting = setTimeout (sayHi, 2000);
  

Это может быть полезно, если у вас есть функция, которую нужно вызывать как по таймауту, так и в ответ на событие, например.Но это также может просто помочь сохранить ваш код в чистоте, особенно если обратный вызов тайм-аута - это больше, чем несколько строк кода.

setTimeout () возвращает значение идентификатора, которое можно использовать для ссылки на тайм-аут позже, например, когда вы хотите его остановить. См. Раздел «Очистка тайм-аутов» (ниже), чтобы узнать, как это сделать.

Передача параметров в функцию setTimeout ()

Любые параметры, которые вы хотите передать функции, выполняемой внутри setTimeout () , должны быть переданы ей как дополнительные параметры в конце списка.

Например, вы можете реорганизовать предыдущую функцию, чтобы она передавала привет любому переданному ей имени:

  function sayHi (who) {
  alert (`Привет, $ {who}!`);
}
  

Теперь вы можете передать имя человека в вызов setTimeout () в качестве третьего параметра:

  let myGreeting = setTimeout (sayHi, 2000, «Мистер Вселенная»);
  

Очистка тайм-аутов

Наконец, если тайм-аут был создан, вы можете отменить его до истечения указанного времени, вызвав clearTimeout () , передав ему идентификатор вызова setTimeout () в качестве параметра.Итак, чтобы отменить указанный выше тайм-аут, вы должны сделать это:

  clearTimeout (myGreeting);
  

Примечание: См. greeter-app.html для более сложной демонстрации, которая позволяет вам установить имя человека, с которым можно поздороваться в форме, и отменить приветствие с помощью отдельной кнопки (см. Исходный код также).

setTimeout () отлично работает, когда вам нужно запустить код один раз через заданный период времени. Но что происходит, когда вам нужно запускать код снова и снова - например, в случае анимации?

Здесь на помощь приходит setInterval () .Это работает очень похоже на setTimeout () , за исключением того, что функция, которую вы передаете в качестве первого параметра, выполняется многократно с интервалом не меньше, чем количество миллисекунд, заданных вторым параметром отдельно, а не один раз. Вы также можете передать любые параметры, необходимые для выполняемой функции, в качестве последующих параметров вызова setInterval () .

Рассмотрим пример. Следующая функция создает новый объект Date () , извлекает из него строку времени с помощью toLocaleTimeString () и затем отображает ее в пользовательском интерфейсе.Затем он запускает функцию один раз в секунду, используя setInterval () , создавая эффект цифровых часов, которые обновляются один раз в секунду (см. Это в прямом эфире, а также см. Источник):

  function displayTime () {
   пусть дата = новая дата ();
   let time = date.toLocaleTimeString ();
   document.getElementById ('демонстрация'). textContent = время;
}

const createClock = setInterval (displayTime, 1000);
  

Так же, как setTimeout () , setInterval () возвращает идентифицирующее значение, которое вы можете использовать позже, когда вам нужно очистить интервал.

Очистка интервалов

setInterval () продолжает выполнять задачу вечно, если вы что-то с ней не сделаете. Возможно, вам понадобится способ остановить такие задачи, иначе вы можете получить ошибки, когда браузер не сможет выполнить какие-либо другие версии задачи или если анимация, обрабатываемая задачей, завершилась. Вы можете сделать это так же, как останавливаете таймауты - передавая идентификатор, возвращаемый вызовом setInterval () , в функцию clearInterval () :

  const myInterval = setInterval (myFunction, 2000);

clearInterval (myInterval);
  
Активное обучение: Создание собственного секундомера!

С учетом всего сказанного, у нас есть для вас вызов.Возьмите копию нашего примера setInterval-clock.html и измените ее, чтобы создать свой собственный простой секундомер.

Вам нужно отображать время, как и раньше, но в этом примере вам нужно:

  • Кнопка «Пуск» для запуска секундомера.
  • Кнопка «Стоп», чтобы приостановить / остановить его.
  • Кнопка «Сброс» для сброса времени на 0 .
  • Отображение времени, показывающее количество прошедших секунд, а не фактическое время.

Вот вам несколько советов:

  • Вы можете структурировать и стилизовать разметку кнопок по своему усмотрению; просто убедитесь, что вы используете семантический HTML с хуками, позволяющими захватывать ссылки на кнопки с помощью JavaScript.
  • Вероятно, вы захотите создать переменную, которая начинается с 0 , а затем увеличивается на единицу каждую секунду с использованием постоянного цикла.
  • Этот пример проще создать без использования объекта Date () , как мы это делали в нашей версии, но с меньшей точностью - вы не можете гарантировать, что обратный вызов сработает ровно через 1000 мс. Более точным способом было бы запустить startTime = Date.now () , чтобы получить точную метку времени, когда пользователь щелкнул кнопку запуска, а затем выполнить Date.now () - startTime , чтобы получить количество миллисекунд после нажатия кнопки запуска.
  • Вы также хотите вычислить количество часов, минут и секунд как отдельные значения, а затем отображать их вместе в строке после каждой итерации цикла. На втором счетчике вы можете отработать каждую из них.
  • Как бы вы их рассчитали? Подумайте об этом:
    • Количество секунд в часе: 3600 .
    • Количество минут - это количество секунд, оставшееся после удаления всех часов, разделенное на 60 .
    • Количество секунд - это количество секунд, оставшееся после удаления всех минут.
  • Вы захотите включить начальный ноль в отображаемые значения, если сумма меньше 10 , чтобы они больше походили на традиционные часы / часы.
  • Чтобы приостановить секундомер, вам нужно очистить интервал. Чтобы сбросить его, вам нужно установить счетчик обратно на 0 , очистить интервал, а затем немедленно обновить отображение.
  • Вероятно, вам следует отключить кнопку запуска после ее однократного нажатия и включить ее снова после того, как вы остановили / сбросили ее. В противном случае многократное нажатие кнопки запуска применит к часам несколько секунд setInterval () , что приведет к неправильному поведению.

При работе с setTimeout () и setInterval () следует помнить о нескольких моментах. Давайте рассмотрим их сейчас.

Рекурсивные таймауты

Есть еще один способ использования setTimeout () : вы можете вызвать его рекурсивно для повторного выполнения одного и того же кода вместо использования setInterval () .

В приведенном ниже примере используется рекурсивный setTimeout () для запуска переданной функции каждые 100 миллисекунд:

  пусть я = 1;

setTimeout (function run () {
  console.log (я);
  i ++;
  setTimeout (запустить, 100);
}, 100);
  

Сравните приведенный выше пример со следующим - здесь используется setInterval () для достижения того же эффекта:

  пусть я = 1;

setInterval (function run () {
  console.log (я);
  i ++;
}, 100);
  
Чем отличаются рекурсивные
setTimeout () и setInterval () ?

Разница между двумя версиями приведенного выше кода невелика.

  • Рекурсивный setTimeout () гарантирует заданную задержку между завершением выполнения кода и следующим вызовом. Отсчет задержки для следующего выполнения начнется только после завершения выполнения кода, поэтому за исключением времени, затраченного на выполнение кода. В этом примере 100 миллисекунд будут задержкой между завершением выполнения кода и следующим вызовом выполнения .
  • Пример с использованием setInterval () работает несколько иначе.Интервал, который вы выбрали , включает время, необходимое для выполнения кода, который вы хотите запустить. Допустим, для выполнения кода требуется 40 миллисекунд - тогда интервал составит всего 60 миллисекунд.
  • При рекурсивном использовании setTimeout () каждая итерация может вычислять различную задержку перед запуском следующей итерации. Другими словами, значение второго параметра может указывать другое время в миллисекундах для ожидания перед повторным запуском кода.

Когда ваш код может занять больше времени, чем заданный вами интервал времени, лучше использовать рекурсивный setTimeout () - это сохранит постоянный временной интервал между выполнениями независимо от того, сколько времени потребуется для выполнения кода. выполнить, и вы не получите ошибок.

Немедленные таймауты

Использование 0 в качестве значения для setTimeout () планирует выполнение указанной функции обратного вызова как можно скорее, но только после того, как будет запущен основной поток кода.

Например, приведенный ниже код (см. Его в реальном времени) выводит предупреждение, содержащее «Hello», , а затем предупреждение, содержащее «World» , как только вы нажимаете OK в первом предупреждении.

  setTimeout (function () {
  alert ('Мир');
}, 0);

alert ('Привет');
  

Это может быть полезно в тех случаях, когда вы хотите установить блок кода для запуска, как только весь основной поток завершит работу - поместите его в цикл событий async, чтобы он запускался сразу после этого.

Очистка с помощью clearTimeout () или clearInterval ()

clearTimeout () и clearInterval () оба используют один и тот же список записей для очистки. Интересно, что это означает, что вы можете использовать любой метод для очистки setTimeout () или setInterval () .

Для согласованности следует использовать clearTimeout () для очистки записей setTimeout () и clearInterval () для очистки записей setInterval () .Это поможет избежать путаницы.

requestAnimationFrame () - это специализированная функция постановки в очередь, созданная для эффективного запуска анимации в браузере. Он запускает указанный блок кода до того, как браузер в следующий раз перерисовывает дисплей, что позволяет согласовать выполнение с частотой кадров дисплея устройства.

Он был создан в ответ на предполагаемые проблемы с предыдущими асинхронными функциями, такими как setInterval () , который, например, не работает с частотой кадров, оптимизированной для устройства, в некоторых случаях отбрасывая кадры.Им также не хватало некоторых оптимизаций, подходящих для анимации, таких как остановка выполнения, если вкладка не активна или анимация прокручивается со страницы, среди прочего.

(Подробнее об этом читайте в CreativeJS.)

Метод принимает в качестве аргумента обратный вызов, который должен быть вызван перед перерисовкой. Это общий шаблон, который вы увидите в его использовании:

  function draw () {
   
   requestAnimationFrame (рисовать);
}

рисовать();
  

Идея состоит в том, чтобы определить функцию, в которой обновляется ваша анимация (например,грамм. ваши спрайты перемещаются, счет обновляется, данные обновляются или что-то еще). Затем вы вызываете его, чтобы запустить процесс. В конце функционального блока вы вызываете requestAnimationFrame () со ссылкой на функцию, переданную в качестве параметра, и это дает браузеру команду вызвать функцию снова при следующей перерисовке дисплея. Затем он выполняется непрерывно, поскольку код рекурсивно вызывает requestAnimationFrame () .

Примечание: Если вы хотите выполнить какую-то простую постоянную DOM-анимацию, CSS-анимация, вероятно, будет быстрее.Они рассчитываются непосредственно внутренним кодом браузера, а не JavaScript.

Если, однако, вы делаете что-то более сложное и вовлекаете объекты, которые не доступны напрямую внутри DOM (например, 2D Canvas API или объекты WebGL), requestAnimationFrame () - лучший вариант в большинстве случаев.

Как быстро движется ваша анимация?

Плавность анимации напрямую зависит от частоты кадров анимации и измеряется в кадрах в секунду (fps).Чем выше это число, тем плавнее будет выглядеть ваша анимация до определенной точки.

Поскольку большинство экранов имеют частоту обновления 60 Гц, максимальная частота кадров, к которой вы можете стремиться, составляет 60 кадров в секунду (FPS) при работе с веб-браузерами. Однако большее количество кадров означает больше обработки, которая часто может вызывать заикание и пропуски, также известные как пропущенных кадров или jank .

Если у вас есть монитор с частотой обновления 60 Гц и вы хотите достичь 60 FPS, у вас будет около 16.7 миллисекунд ( 1000/60 ) на выполнение кода анимации для рендеринга каждого кадра. Это напоминание о том, что вам нужно помнить об объеме кода, который вы пытаетесь запустить во время каждого прохождения цикла анимации.

requestAnimationFrame () всегда пытается приблизиться к этому магическому значению 60 FPS, насколько это возможно. Иногда это невозможно - если у вас действительно сложная анимация и вы запускаете ее на медленном компьютере, частота кадров будет меньше. Во всех случаях requestAnimationFrame () всегда будет делать все возможное с тем, что у него есть.

Чем requestAnimationFrame () отличается от setInterval () и setTimeout ()?

Давайте поговорим немного подробнее о том, чем метод requestAnimationFrame () отличается от других методов, используемых ранее. Глядя на наш код сверху:

  function draw () {
   
   requestAnimationFrame (рисовать);
}

рисовать();
  

Давайте теперь посмотрим, как сделать то же самое с помощью setInterval () :

  function draw () {
   
}

setInterval (ничья, 17);
  

Как мы уже говорили ранее, вы не указываете временной интервал для requestAnimationFrame () .Просто он работает максимально быстро и плавно в текущих условиях. Браузер также не тратит время на запуск, если анимация по какой-то причине не отображается на экране и т. Д.

setInterval () , с другой стороны, требует, чтобы был указан интервал . Мы пришли к нашему окончательному значению 17 по формуле 1000 миллисекунд / 60 Гц , а затем округлили его в большую сторону. Округление - хорошая идея; если вы округлите в меньшую сторону, браузер может попытаться запустить анимацию со скоростью, превышающей 60 кадров в секунду, и в любом случае это не повлияет на плавность анимации.Как мы уже говорили, стандартная частота обновления - 60 Гц.

Включение отметки времени

Фактическому обратному вызову, переданному в функцию requestAnimationFrame () , также может быть задан параметр: значение отметки времени , которое представляет время, прошедшее с момента начала работы requestAnimationFrame () .

Это полезно, поскольку позволяет запускать вещи в определенное время и с постоянным темпом, независимо от того, насколько быстрым или медленным может быть ваше устройство. Общий шаблон, который вы бы использовали, выглядит примерно так:

  пусть startTime = null;

function draw (timestamp) {
    if (! startTime) {
      startTime = отметка времени;
    }

   currentTime = отметка времени - startTime;

   

   requestAnimationFrame (рисовать);
}

рисовать();
  

Поддержка браузера

requestAnimationFrame () поддерживается в более поздних версиях браузеров, чем setInterval () / setTimeout () .Интересно, что он доступен в Internet Explorer 10 и выше.

Итак, если вам не нужна поддержка более старых версий IE, нет особых причин не использовать requestAnimationFrame () .

Простой пример

Довольно теории! Создадим ваш собственный пример requestAnimationFrame () . Вы собираетесь создать простую «анимацию прядильщика» - такую, которую вы можете увидеть в приложении, когда оно подключено к серверу и т. Д.

Примечание: В реальном примере вам, вероятно, следует использовать анимацию CSS для запуска такой простой анимации.Однако такой пример очень полезен для демонстрации использования requestAnimationFrame () , и вы с большей вероятностью воспользуетесь такой техникой при выполнении чего-то более сложного, например, обновления отображения игры в каждом кадре.

  1. Возьмите базовый шаблон HTML (например, этот).
  2. Поместите пустой элемент
    внутри , затем добавьте внутри него символ ↻. Этот символ круговой стрелки будет действовать как наш счетчик для этого примера.
  3. Примените следующий CSS к шаблону HTML (любым способом). Это устанавливает красный фон на странице, устанавливает высоту на 100% высоты и центрирует
    внутри по горизонтали и вертикали. .
      html {
      цвет фона: белый;
      высота: 100%;
    }
    
    тело {
      рост: наследовать;
      цвет фона: красный;
      маржа: 0;
      дисплей: гибкий;
      justify-content: center;
      align-items: center;
    }
    
    div {
      дисплей: встроенный блок;
      размер шрифта: 10rem;
    }
      
  4. Вставьте элемент