Данный код добавляйте в HEAD и тут без разницы на какой платформе сделан сайт. Только вместо '****' подставьте свой номер счетчика и создайте JavaScript событие с названием copy_phone.
<script>
document.addEventListener('copy', function(event) {
var selectedText = window.getSelection().toString().trim();
console.log('Selected text:', selectedText);
// Проверка на наличие букв (русских или английских)
var hasLetters = /[a-zA-Zа-яА-Я]/.test(selectedText);
if (hasLetters) {
console.log('Text contains letters. Event not sent.');
return; // Прекращаем выполнение, если текст содержит буквы
}
// Удаляем все символы, кроме цифр
var phoneNumber = selectedText.replace(/\D/g, '');
console.log('Processed phone number:', phoneNumber);
// Проверяем, содержит ли телефонный номер 10 или 11 цифр
if (phoneNumber.length === 10 || phoneNumber.length === 11) {
console.log('Valid phone number detected. Sending event to Yandex Metrica.');
if (typeof ym !== 'undefined') {
ym(****, 'reachGoal', 'copy_phone'); // Замените 12345678 на ваш идентификатор счетчика Яндекс Метрики
} else {
console.warn('Яндекс Метрика не инициализирована');
}
} else {
console.log('Phone number not valid. Event not sent.');
}
});
</script>
Цель в Яндекс Метрику отправляется в следующих случаях:
Цель в Яндекс Метрику не отправляется если:
Полезное
Портфолио