Я использую Matomo для отслеживания пользователей на онлайн-панели; это стандартная плата за проезд, ничего необычного, и я использую только две пользовательские переменные. Два значения пользовательских переменных, так сказать, stati c, так как они заполняются, когда страница генерируется с именем пользователя и их ролью. Что-то, что стоит c и не изменяется до тех пор, пока они вошли в систему.
Теперь я хочу также отследить некоторые действия, которые они выполняют, которые не включают загрузку страницы. Чтобы быть более точным, основная навигация может быть динамически переключена между тонкой / свернутой версией и полностью расширенной версией. Я хочу отслеживать, если у пользователя есть расширенное меню или нет. Проблема в том, что пользователь может изменить это на лету.
У меня есть два метода проверки, если пользователь расширил навигацию или нет: проверка класса на элементе или повар ie. Когда пользователь переключается между расширенной навигацией, настройки сохраняются в Cook ie, поэтому выбор сохраняется при загрузке страницы.
Как отследить что-то, что может быть динамически изменено? Я не опытный пользователь Matomo, поэтому я не знаю очевидных ответов. Я также заметил нечто, называемое пользовательскими размерами, может быть, это может помочь?
Если это поможет, вот код, хотя это довольно стандартный тариф:
<script type="text/javascript">
var _paq = window._paq || [];
_paq.push(["setCustomVariable", 1, "UserName", "value set on page generation", "visit"]);
_paq.push(["setCustomVariable", 2, "RoleTemplate", "value set on page generation", "visit"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function () {
var u = "https://myanalyticsurl.com/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
Веб-сайт asp. net mvc 5 на основе.