Аналіз Rage Clicks (багаторазові кліки по непрацюючих елементах)

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Аналіз Rage Clicks (багаторазові кліки по непрацюючих елементах)
Проста
від 1 робочого дня до 3 робочих днів
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Аналіз Rage Clicks

Rage click — це 3+ клікі в одну точку за короткий час (зазвичай < 1 секунди). Сигналізує про розчарування користувача: він очікує реакції від елемента, але її немає.

Типові причини Rage Clicks

  • Кнопка або посилання виглядає кликабельною, але не реагує
  • Помилка JavaScript зломала обробник кліку
  • Анімація кнопки не дає зворотного зв'язку (немає cursor:pointer, немає стану hover)
  • Повільне завантаження — користувач клікає повторно, думаючи що клік не пройшов
  • Декоративний елемент виглядає як функціональний

Налаштування в Microsoft Clarity

Clarity автоматично виявляє rage clicks та показує:

  • Сторінки з найбільшою кількістю сесій rage click
  • Конкретні координати на сторінці
  • Записи сесій з rage clicks для перегляду

Користувацький детектор Rage Clicks

class RageClickDetector {
  constructor(threshold = 3, timeWindow = 500) {
    this.threshold = threshold
    this.timeWindow = timeWindow
    this.clicks = []
    this.maxDistance = 30  // пікселі

    document.addEventListener('click', this.handleClick.bind(this))
  }

  handleClick(event) {
    const now = Date.now()
    const { clientX, clientY, target } = event

    // Очистіть старі клікі
    this.clicks = this.clicks.filter(c => now - c.time < this.timeWindow)

    // Перевірте близькість до попередніх кліків
    const nearbyClicks = this.clicks.filter(c =>
      Math.abs(c.x - clientX) < this.maxDistance &&
      Math.abs(c.y - clientY) < this.maxDistance
    )

    nearbyClicks.push({ x: clientX, y: clientY, time: now })
    this.clicks.push({ x: clientX, y: clientY, time: now })

    if (nearbyClicks.length >= this.threshold) {
      this.onRageClick(event, nearbyClicks.length)
    }
  }

  onRageClick(event, clickCount) {
    const element = event.target
    const selector = this.getSelector(element)

    console.warn(`Rage click detected: ${selector} (${clickCount} clicks)`)

    // Відправте в аналітику
    gtag('event', 'rage_click', {
      element_selector: selector,
      click_count: clickCount,
      page_path: window.location.pathname,
      element_text: element.textContent?.trim().slice(0, 50)
    })

    // Перевірте, чи немає cursor:pointer — можлива проблема
    const cursor = window.getComputedStyle(element).cursor
    if (cursor !== 'pointer' && element.tagName !== 'A' && element.tagName !== 'BUTTON') {
      gtag('event', 'non_pointer_rage_click', {
        element_selector: selector,
        computed_cursor: cursor
      })
    }
  }

  getSelector(el) {
    if (el.id) return `#${el.id}`
    if (el.className) return `.${el.className.split(' ')[0]}`
    return el.tagName.toLowerCase()
  }
}

new RageClickDetector()

Виправлення елементів Rage Click

  • Додайте cursor: pointer до всіх кликабельних елементів
  • Переконайтеся, що стани hover/active дають чітке зворотне зв'язування
  • Протестуйте обробники кліків на помилки JavaScript
  • Додайте стани завантаження для повільних дій
  • Переглядайте стиль декоративних та функціональних елементів

Час виконання

Налаштування виявлення та аналізу rage clicks — 1 робочий день.