На ноде тоже быстренько можно делать, модуль модулем погоняет, можно чего хочешь собрать даже без особого кодинга по сути.
Да лучше оставить, но если на край прям как хочется закешировать, их можно на сервере выкачивать и отдавать как статистку с кешированием. Сам такой метод не пробовал, вполне возможно камней много будет.
Для таких целей лучше localStorage. Куки для связки с сервером лучше использовать.
Ума не приложу, тематика женская, большинство трафика мобильная, еще часто всплывают браузеры которые я вообще первый раз в жизни вижу.
MSIE Mobile
UCWEB и т.д.
Мое предположение, что по скольку основная аудитория домохозяки им походу вообще пофигу чем пользоваться, поэтому если стоит предустановленный браузер какой нить фиг пойми, то они им пользуются)
Вам еще везет, у меня Opera mini 10 процентов, это жесть, в этом браузере половина всего не работает)
В первом случае вы динамично подгрузили скрипт с атрибутом. Во втором, атрибут вставили прямо в html, вот и вся разница. При динамичной погрузке можно еще использовать:
s.setAttribute("async", "");
А по правильному при динамичной подгрузке этот атрибут по сути и не нужен, просто подгружайте скрипт к примеру с помощью Promise. Ну с Promise аккуратней, лучше использовать polyfill, ибо не все браузеры его поддерживают.
А у вас сколько кликов?) Просто при 1 ctr клик выходит нереально маленький.
А сколько у вас кликов то с этого трафика?)
Это как скрывать свое имя от людей которые знают ваши паспортные данные)
Налоговая и так в курсе, что вы работали в серую, как мне кажется)