Внимание! Данное решение работает только для https-сайтов, но вам уже давно пора перейти на https-протокол.

Около двух лет назад интернет-маркетологам активно начала продвигаться тема браузерных уведомлений (browser push notifications) для сайта. Сами уведомления существовали значительно дольше, но имели ограниченную поддержку браузерами.



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

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



Итак, вы либо пользуетесь Yandex Metrica, либо Google Analytics, либо Google Analytics + Google Tag Manager.

Смотрим JS код, приведенный ниже:

Notification.requestPermission().then(function(result) {
     console.log(result);
 })


Если мы вставим этот код на всех страницах сайта, он просто-напросто будет выводить в консоль результат взаимодействия пользователя с окном подписки на уведомления: granted, denied, default.

  • granted — пользователь подписался на ваши уведомления
  • denied — пользователь запретил пуш уведомления от вас
  • default — пользователь закрыл запрос на разрешение уведомлений, нажав крестик


Смысла, конечно, от этого мало — нам необходимо заменить
console.log(result)
на код события той системы аналитики, которую мы используем.

Если мы работаем со стандартным кодом Google Analytics, делаем приблизительно следующее:

Notification.requestPermission().then(function(result) {
    ga('send', {
        hitType: 'event',
        eventCategory: 'Push Notification Request',
        eventAction: result,
    });
})


Соответственно, в отчете о событиях в Google Analytics мы видимо что-то вроде этого:



Если вы используете Google Tag Manager — здесь уж вам необходимо сделать необходимый DataLayer.push и сконфигурировать сам Google Tag Manager для передачи цели в Google Analytics. (Надеюсь, вы понимаете о чем я, если нет — пишите мне лично, может помогу).

Естественно, в конечном итоге мы хотим получить как можно больший процент событий с меткой granted и минимизировать количество событий с меткой denied.

Как мы это делаем? Экспериментируем с временем и местом вывода запроса на подписку на уведомления и смотрим результат.

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

Для Yandex Metrica все выглядит несколько иначе:

Notification.requestPermission().then(function(result) {
  if(result == "granted")
      yaCounter452346.reachGoal('notification-permission-granted');
 })


Поскольку Yandex Metrica оперирует только целями и не имеет событий, я воздерживаюсь от создания цели «уведомления заблокированы», поскольку в разрезе аналитики «цель» всегда считалась чем-то хорошим, чего нужно достичь. Но вы вправе понимать их по своему и создавать любые цели, даже такие как «пользователь послал нас на х*й».

Не забываем создавать цель типа «Javascript событие» в Yandex Metrica для ее учета.

А вообще, я не люблю Яндекс Метрику, поэтому здесь больше о ней говорить не буду.

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

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

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

Комментарии (0)