Внимание! Данное решение работает только для https-сайтов, но вам уже давно пора перейти на https-протокол.
Около двух лет назад интернет-маркетологам активно начала продвигаться тема браузерных уведомлений (browser push notifications) для сайта. Сами уведомления существовали значительно дольше, но имели ограниченную поддержку браузерами.
![](https://habrastorage.org/files/1c2/724/1a0/1c27241a03a44cb9b56b274ecf149746.png)
Как бы то ни было, за последнее время эти уведомления успели изрядно достать, и многие простые смертные их возненавидели благодаря интернет-маркетологам и владельцам онлайн-бизнеса, которые агрессивно их используют на своих сайтах. Профит же для самих интернет-маркетологов от подобных уведомлений очевиден.
Поскольку я немножко веб-аналитик, я хочу показать вам простой и элегантный способ того, как измерить степень неуместности ваших запросов на разрешение отправлять уведомления и оптимизировать время и место их показа, тем самым сделав ваших посетителей немножко менее злыми на вас. Это хорошо, не так ли?
Итак, вы либо пользуетесь Yandex Metrica, либо Google Analytics, либо Google Analytics + Google Tag Manager.
Смотрим JS код, приведенный ниже:
Если мы вставим этот код на всех страницах сайта, он просто-напросто будет выводить в консоль результат взаимодействия пользователя с окном подписки на уведомления: granted, denied, default.
Смысла, конечно, от этого мало — нам необходимо заменить
Если мы работаем со стандартным кодом Google Analytics, делаем приблизительно следующее:
Соответственно, в отчете о событиях в Google Analytics мы видимо что-то вроде этого:
![](https://habrastorage.org/files/f1a/3b1/d92/f1a3b1d92a8b404d87ccc7fb7ebaba87.png)
Если вы используете Google Tag Manager — здесь уж вам необходимо сделать необходимый DataLayer.push и сконфигурировать сам Google Tag Manager для передачи цели в Google Analytics. (Надеюсь, вы понимаете о чем я, если нет — пишите мне лично, может помогу).
Естественно, в конечном итоге мы хотим получить как можно больший процент событий с меткой granted и минимизировать количество событий с меткой denied.
Как мы это делаем? Экспериментируем с временем и местом вывода запроса на подписку на уведомления и смотрим результат.
Все мы знаем, что такое аналитика, поэтому можем получить много другой полезной информации о эффективности запроса на подписку, посмотрев другие отчеты. На основании этой же информации мы можем принять решение о том, что следует изменить, и провести эксперимент.
Для Yandex Metrica все выглядит несколько иначе:
Поскольку Yandex Metrica оперирует только целями и не имеет событий, я воздерживаюсь от создания цели «уведомления заблокированы», поскольку в разрезе аналитики «цель» всегда считалась чем-то хорошим, чего нужно достичь. Но вы вправе понимать их по своему и создавать любые цели, даже такие как «пользователь послал нас на х*й».
Не забываем создавать цель типа «Javascript событие» в Yandex Metrica для ее учета.
А вообще, я не люблю Яндекс Метрику, поэтому здесь больше о ней говорить не буду.
Так же я хочу разоблачить себя и сказать, что в настоящий момент я занимаюсь веб-аналитикой в компании Sendpulse, которая позволяет бесплатно отсылать неограниченное количество push-уведомлений.
На данный момент мы не имеем встроенного функционала, который бы позволял автоматически отсылать в системы веб-аналитики события, связанные с push-уведомлениями, но если вы случайно являетесь клиентами Sendpulse-а, отпишитесь в комментариях, интересен ли он вам — реализуем!
Так же не стесняйтесь задавать ваши вопросы — буду отвечать по мере возможности.
Около двух лет назад интернет-маркетологам активно начала продвигаться тема браузерных уведомлений (browser push notifications) для сайта. Сами уведомления существовали значительно дольше, но имели ограниченную поддержку браузерами.
![](https://habrastorage.org/files/1c2/724/1a0/1c27241a03a44cb9b56b274ecf149746.png)
Как бы то ни было, за последнее время эти уведомления успели изрядно достать, и многие простые смертные их возненавидели благодаря интернет-маркетологам и владельцам онлайн-бизнеса, которые агрессивно их используют на своих сайтах. Профит же для самих интернет-маркетологов от подобных уведомлений очевиден.
Поскольку я немножко веб-аналитик, я хочу показать вам простой и элегантный способ того, как измерить степень неуместности ваших запросов на разрешение отправлять уведомления и оптимизировать время и место их показа, тем самым сделав ваших посетителей немножко менее злыми на вас. Это хорошо, не так ли?
Итак, вы либо пользуетесь 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 мы видимо что-то вроде этого:
![](https://habrastorage.org/files/f1a/3b1/d92/f1a3b1d92a8b404d87ccc7fb7ebaba87.png)
Если вы используете 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-а, отпишитесь в комментариях, интересен ли он вам — реализуем!
Так же не стесняйтесь задавать ваши вопросы — буду отвечать по мере возможности.
Поделиться с друзьями