File: /var/www/innodrive/src/js/modules/yandexCounter.js
import {$$} from './../utils/utils';
const GoogleGoals = {
'ClikMailPhone': {
category: 'Clil',
action: 'MailPhone'
},
'CallBackPhone': {
category: 'Call',
action: 'BackPhone'
},
'AddGoodsCart': {
category: 'Add',
action: 'GoodsCart'
},
'OpenCart': {
category: 'Open',
action: 'Cart'
},
'SendBuyOrder': {
category: 'Send',
action: 'BuyOrder'
},
'SendSaveOrder': {
category: 'Send',
action: 'SaveOrder'
},
'MailContact': {
category: 'Mail',
action: 'Contact'
},
};
export const reachGoal = (goal) => {
if (typeof ym !== 'undefined') {
ym(53865700, 'reachGoal', goal, {URL: document.location.origin});
} else {
console.error('ym object is not initialized.');
}
if (typeof ga !== 'undefined') {
const event = GoogleGoals[goal];
const tracker = ga.getAll()[0];
if (tracker) {
tracker.send('event', event.category, event.action);
} else {
console.error('tracker object is not initialized.');
}
} else {
console.error('ga object is not initialized.');
}
};
export const initGoals = () => {
const mailPhones = $$('.js-phone-trigger');
if (mailPhones) {
[...mailPhones].forEach((item) => {
item.addEventListener('click', () => {
reachGoal('ClikMailPhone');
return true;
});
});
}
};