Подключаем события (метки яндекс, гугл ).
// события
// Пример использования:
seo_events({
category: 'button',
action: 'ostavil_otziv',
label: '',
ya_label: 'ostavil_otziv'
});
function seo_events(params) {
/* Включить вывод события в консоль */
var seo_events_debug = true;
var seo_events_counters = [];
/* Массив с ID метрики */
var seo_mertic_ids = ['22753825'];
/* Проверяем на существование параметров переданных в функцию */
if (typeof params !== 'undefined') {
/* Проверяем на существование всех необходимых параметров */
if (
typeof params.category !== 'undefined' &&
typeof params.action !== 'undefined' &&
typeof params.label !== 'undefined'
) {
/* Ищем счетчик ga.js */
if (typeof _gaq !== 'undefined') {
_gaq.push([
'_trackEvent',
params.category,
params.action,
params.label
]);
seo_events_counters.push('_gaq');
}
/* Ищем счетчик analytics.js */
if (typeof ga !== 'undefined') {
ga(
'send',
'event',
params.category,
params.action,
params.label
);
seo_events_counters.push('ga');
}
/* Ищем счетчик pageTracker */
if (typeof pageTracker !== 'undefined') {
pageTracker._trackEvent(
params.category,
params.action,
params.label
);
seo_events_counters.push('pageTracker');
}
/* Перебираем ID метрики */
for (i = 0; i < seo_mertic_ids.length; i++) {
/* Если существует функция с текущем ID */
if (
typeof window['yaCounter' + seo_mertic_ids[i]] !==
'undefined'
) {
if (typeof params.mp !== 'undefined') {
/* Вызываем событие метрики с параметрами */
if (typeof params.ya_label !== 'undefined') {
window['yaCounter' + seo_mertic_ids[i]].reachGoal(
params.ya_label,
params.mp
);
} else {
window['yaCounter' + seo_mertic_ids[i]].reachGoal(
params.label,
params.mp
);
}
} else {
/* Вызываем событие метрики без параметров */
if (typeof params.ya_label !== 'undefined') {
window['yaCounter' + seo_mertic_ids[i]].reachGoal(
params.ya_label
);
} else {
window['yaCounter' + seo_mertic_ids[i]].reachGoal(
params.label
);
}
}
seo_events_counters.push('yaCounter' + seo_mertic_ids[i]);
}
}
if (seo_events_counters.length === 0) {
seo_events_counters.push('none');
}
if (seo_events_debug === true) {
if (typeof params.ya_label !== 'undefined') {
console.log(
'event reached:\n\t[category:' +
params.category +
']\n\t[action :' +
params.action +
']\n\t[label :' +
params.label +
'\n\t[ya_label :' +
params.ya_label +
']\nevent counters:\n\t' +
seo_events_counters
);
} else {
console.log(
'event reached:\n\t[category:' +
params.category +
']\n\t[action :' +
params.action +
']\n\t[label :' +
params.label +
']\nevent counters:\n\t' +
seo_events_counters
);
}
}
}
}
}