Веб аналитика, достижение целей и основной функционал сайта.

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

<span class="calc-btn btn-submit" onclick="yaCounter26117928.reachGoal('calc_pip_done');submit_calc(); return false;">Рассчитать</span>

* код взят с сайта одной из ведущих курьерских служб России

На другой стороне монитора существуют люди типа меня, у которых по тем или иным причинам не грузятся метрики, аналикики и прочие трекеры. Причины этому разные, но результат один. Человек нажимает кнопку и... Ничего не происходит... Точнее происходит следующее:
<img src="http://v2u-agency.ru/public/images/blog/202008121805001.png" alt="image"/>
И, как мы, знаем на этом выполнение скрипта заканчивается, форма не отправляется, человек результата не получает и грустный уходит к конкурентам.
На мой взгляд гораздо правильнее использовать простую и всем известную конструкцию для отлова ошибок:

<span class="calc-btn btn-submit" onclick="try{yaCounter26117928.reachGoal('calc_pip_done');}catch(e){} submit_calc(); return false;">Рассчитать</span>

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