Проведення аналізу точок виходу користувачів на сайті

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

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

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

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

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Проведення аналізу точок виходу користувачів на сайті
Середня
~2-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

Проведення аналізу точок виходу користувачів на веб-сайті

Точки виходу (Exit Points) — сторінки або елементи, після взаємодії з якими користувачі покидають сайт. Exit Rate відрізняється від Bounce Rate: bounce — ушов з першої сторінки без взаємодії, exit — ушов з будь-якої сторінки після відвідування кількох.

Аналіз Exit Rate у GA4

-- BigQuery: топ сторінок за exit rate
WITH page_views AS (
  SELECT
    user_pseudo_id,
    session_id,
    event_name,
    page_location,
    event_timestamp,
    LEAD(event_name) OVER (
      PARTITION BY user_pseudo_id, session_id
      ORDER BY event_timestamp
    ) AS next_event
  FROM `project.analytics.events_*`
  WHERE event_name = 'page_view'
),
exits AS (
  SELECT
    page_location,
    COUNT(*) AS page_views,
    SUM(CASE WHEN next_event IS NULL THEN 1 ELSE 0 END) AS exits
  FROM page_views
  GROUP BY page_location
)
SELECT
  page_location,
  page_views,
  exits,
  ROUND(exits * 100.0 / page_views, 1) AS exit_rate
FROM exits
WHERE page_views > 100
ORDER BY exit_rate DESC
LIMIT 50;

Різниця нормальних та аномальних виходів

Не кожен високий exit rate — проблема:

  • /thank-you — 95% exit rate = нормально (конверсія завершена)
  • /contacts — 70% exit rate = нормально (користувач знайшов контакти)
  • /checkout/step-2 — 60% exit rate = проблема (брошений чекаут)
  • /pricing — 50% exit rate = потребує аналізу
def classify_exit_pages(pages_with_exit_rate):
    for page in pages_with_exit_rate:
        # Нормальні кінцеві сторінки
        if any(p in page['url'] for p in ['thank-you', 'success', 'confirmation']):
            page['exit_expected'] = True
        # Сторінки з контентом, які потребують аналізу
        elif page['exit_rate'] > 40 and page['is_funnel_page']:
            page['exit_priority'] = 'HIGH'
        else:
            page['exit_expected'] = False

Запис сесій на exit-сторінках

// Hotjar/Clarity: фільтр по exit на конкретних сторінках
// У дашборді: Recordings → Filter: Exit page = /checkout

// Microsoft Clarity API для програмного аналізу
fetch('https://api.clarity.ms/export/1.0/sessions', {
  method: 'POST',
  headers: { Authorization: `Bearer ${token}` },
  body: JSON.stringify({
    projectId: 'xxx',
    filters: [{
      field: 'exitPage',
      operator: 'contains',
      value: '/checkout'
    }],
    startDate: '2024-03-01',
    endDate: '2024-03-31'
  })
})

Аналіз scroll depth на exit-сторінках

// Відслідкування глибини скролу при виході
let maxScroll = 0
let lastScrollTime = Date.now()

window.addEventListener('scroll', () => {
  const scrollPercent = Math.round(
    (window.scrollY / (document.body.scrollHeight - window.innerHeight)) * 100
  )
  maxScroll = Math.max(maxScroll, scrollPercent)
  lastScrollTime = Date.now()
})

window.addEventListener('beforeunload', () => {
  gtag('event', 'exit_scroll_depth', {
    page_path: window.location.pathname,
    max_scroll_percent: maxScroll,
    time_on_page: Math.round((Date.now() - pageLoadTime) / 1000)
  })
})

Exit Intent popup

Для утримання користувачів, які збираються піти:

let exitIntentShown = false

document.addEventListener('mouseleave', (e) => {
  if (e.clientY <= 0 && !exitIntentShown) {
    exitIntentShown = true
    showExitPopup()

    gtag('event', 'exit_intent_triggered', {
      page_path: window.location.pathname
    })
  }
})

function showExitPopup() {
  document.getElementById('exit-popup').classList.remove('hidden')
}

Шлях користувача до виходу

-- Що відвідували користувачі перед виходом з /checkout
SELECT
  prev_page,
  COUNT(*) as sessions,
  ROUND(COUNT(*) * 100.0 / SUM(COUNT(*)) OVER(), 1) AS pct
FROM (
  SELECT
    page_location as exit_page,
    LAG(page_location) OVER (
      PARTITION BY user_pseudo_id, session_id
      ORDER BY event_timestamp
    ) AS prev_page
  FROM page_views
  WHERE page_location LIKE '%/checkout%'
)
WHERE exit_page IS NOT NULL AND prev_page IS NOT NULL
GROUP BY prev_page
ORDER BY sessions DESC
LIMIT 20;

Графік

Аналіз точок виходу із сегментацією та рекомендаціями: 2-3 робочих дні.