Как передавать данные о погоде в Google Analytics (бесплатно)


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

В отчетах это может выглядеть так:



Так же, имея такие данные можно понять, как именно нужно настроить управление ставками для объявлений в контекстной рекламе в зависимости от погодных условий, чтобы максимизировать прибыль. Можно это сделать даже автоматически, благодаря готовым решениям на AdWords Scripts.


Ну и вообще это можно сделать чисто ради фана :)


Как настроить сбор данных о погоде в своем GA (знаменитая 5-ти минутная установка):
  1. Скачайте JSON-конфигурацию.
  2. Импортируйте конфигурацию в свой Google Tag Manager.
  3. Задайте собственный ключ к API сервиса OpenWeatherMap в переменную «APPID from openweathermap.org» (нужно зарегистрироваться здесь).
  4. Задайте свой Google Analytics Tracking ID в переменную «GAID».
  5. Опубликуйте изменения.


Примечание: решение работает только для сайтов на HTTPS.


Результат:
В результате работы скрипта, в Google Analytics отправляет событие с категорией Weather, в которое передается характеристика погодных условий (в Действие) и температура воздуха (в Ярлык). Так же, в этом событии задаются параметры
уровня сессии в Custom Dimension 6 и 7 (вы можете использовать свои слоты, для этого нужно поправить индексы в настройках тега), для того, чтобы данные о погоде относились ко всем действиям на сайте в рамках сессии.


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


Описание работы скрипта: За основу решения взят код Simo Ahava. Но он почти
полностью переделан для того, чтобы использовать открытые сервисы, которые
предоставляют лучшие условия использования в бесплатном тарифе.
Так же, скрипт работает без зависимостей jQuery.


Кратко процесс выглядит так: когда пользователь заходит на сайт — у него
запрашивается доступ к данным о геолокации. Если он предоставляет этот
доступ — скрипт считывает GPS-координаты посетителя и для этих координат
возвращает данные о погоде. Если пользователь запрещает доступ к данным
о геолокации — координаты определяются по IP-адресу посетителя сайта.
Этот вариант является менее точным, но тем не менее погода будет определяться
у всех посетителей сайта. Конечно же, если пользователи используют VPN — данные
о погоде будут вообще не точными.


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

OpenWeatherMap в бесплатном тарифе позволяет делать 60 запросов в минуту (3600 в час). Этого вполне должно хватить для проектов с маленькой и средней посещаемостью. Если вам будет нужно делать больше запросов — можно просто изменить тариф на платный (подробно о ценах здесь). Что касается freegeoip.net, то он позволяет делать 15 000 запросов в час. Если вы достигнете этого ограничения — есть открытый исходный код проекта на GitHub, который позволит развернуть такую же систему на своих серверах.

Комментарии

Популярные сообщения из этого блога

Как незаметно поломать систему аналитики для сайта на базе SPA

Настройка Conversions API (Server-Side API) для Facebook Pixel

Как автоматически добавить метку fbclid в исключения параметров запроса URL во все представления Google Analytics