Ga alternatives

Як перейти з Google Analytics на Matomo

Покроковий посібник з міграції з Google Analytics на Matomo: self-hosted і Cloud, встановлення, код і GTM, цілі, імпорт даних, паралельний збір, чеклист.

Автор: Андрій Коваленко 8 хв читання
Зміст

Matomo — це open-source аналітика, яка збирає ті самі дані, що й Google Analytics, але зберігає їх на вашому сервері. Переходять на неї з трьох причин: GDPR і регуляторний тиск у ЄС, право власності на дані без залежності від Google, і відсутність семплювання. Ця стаття — покроковий план переходу від встановлення до чеклиста готовності.

Навіщо мігрувати: приватність і власність даних

Google Analytics збирає дані на серверах Google у США. Для бізнесу в ЄС і Україні, що обслуговує європейських клієнтів, це регуляторна проблема: у 2022-2023 роках низка регуляторів ЄС, зокрема Австрії, Франції, Італії, Данії та Фінляндії, визнала GA несумісним з GDPR через передачу персональних даних у США (норвезький регулятор виніс попереднє рішення в тому ж напрямку).

Matomo вирішує це структурно, а не процедурно:

ПараметрGoogle Analytics 4Matomo self-hostedMatomo Cloud
Де зберігаються даніСервери Google (США/EU)Ваш серверEU дата-центр (Франція)
Хто контролює даніGoogleВиMatomo GmbH
СемплюванняЄ при >1M подій/місяцьНемаєНемає
Потрібна згода за GDPRТак (майже завжди)Часто ні (у Privacy-режимі)Часто ні
ЦінаБезкоштовноБезкоштовноВід €29/місяць
Доступ до сирих данихЛімітованийПовний (SQL)Повний

Ще один аргумент: Universal Analytics зупинив збір даних 1 липня 2023. Якщо ваша організація все ще тримає важливу статистику тільки у UA — перенести її в Matomo через плагін імпорту треба якомога швидше, поки API UA відкритий.

Cloud vs Self-Hosted: що обрати

Matomo Cloud

Matomo Cloud — хостинговий варіант від команди Matomo (InnoCraft). Дані в дата-центрі у Франції, всі оновлення і бекапи автоматичні.

Підходить, якщо:

  • немає технічного ресурсу для адміністрування Linux-сервера
  • потрібен офіційний SLA і підтримка
  • хочете швидкий старт без DevOps

Ціни (на червень 2026):

  • Стартовий план — €29/місяць за 50k хітів/місяць (хіти = перегляди + події)
  • Тарифи для більшого трафіку (Business / Enterprise) — індивідуальні, за запитом у Matomo

Актуальні ціни і калькулятор — на matomo.org. Безкоштовний 21-денний trial без карти.

Matomo Self-Hosted

Безкоштовна версія, розгортається на вашому сервері. Вимоги: PHP 7.2.5+, MySQL 5.7+ або MariaDB 10.3+, nginx або Apache.

Підходить, якщо:

  • є власний VPS або сервер
  • потрібний максимальний контроль і мінімальні витрати
  • ви або ваша команда вміє адмініструвати Linux

Обмеження self-hosted: деякі premium-плагіни (Heatmaps, A/B Testing, Funnels, Session Recordings) продаються окремо через Matomo Marketplace — це розмиває «безкоштовну» перевагу.

Детальний огляд обох варіантів — у огляді Matomo.

Покрокова міграція

Крок 1. Встановлення Matomo

Self-hosted:

# Вимоги: PHP 7.2.5+, MySQL 5.7+
wget https://builds.matomo.org/matomo-latest.zip
unzip matomo-latest.zip -d /var/www/matomo
chown -R www-data:www-data /var/www/matomo

Далі — стандартний інсталятор через браузер: https://analytics.yourdomain.com/. Він перевірить PHP-розширення, створить таблиці в БД і запропонує додати перший сайт.

Nginx-конфіг мінімальний:

server {
    server_name analytics.yourdomain.com;
    root /var/www/matomo;
    index index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Matomo Cloud: реєстрація на matomo.org, вибір плану, автоматичне налаштування.

Крок 2. Додати сайт у Matomo

У Matomo: Administration → Websites → Add a new website. Введіть назву і URL. Matomo видасть унікальний Site ID (ціле число, наприклад 3) і Tracking Code з вашим URL:

var _paq = window._paq = window._paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
  var u="//analytics.yourdomain.com/";
  _paq.push(['setTrackerUrl', u+'matomo.php']);
  _paq.push(['setSiteId', '3']);
  var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
  g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();

Вставте цей код перед </head> на кожній сторінці.

Крок 3. Встановлення через Google Tag Manager

Якщо ваш сайт вже використовує GTM — не треба чіпати код сторінки. Матомо можна підключити через GTM за 5 хвилин.

В GTM: New Tag → Custom HTML. Вставте Matomo Tracking Code (без <script> тегів, або з ними — GTM підтримує обидва формати). Тригер — Initialization - All Pages (щоб Matomo завантажився раніше за інші теги).

<!-- GTM: Matomo tag -->
<script>
  var _paq = window._paq = window._paq || [];
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//analytics.yourdomain.com/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '3']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>

Перевірка — у режимі GTM Preview відкрийте свій сайт. У вкладці Network DevTools знайдіть запит до matomo.php — він має повернути статус 204 No Content. Це підтвердження, що трекінг активний.

Детальніше про роботу з GTM — у розділі Google Tag Manager.

Крок 4. Налаштування цілей (Goals)

У GA4 конверсії називались конверсіями до 2024, з 2024 перейменовані на Key Events. У Matomo аналогічна концепція — Goals.

Administration → Goals → Add a new Goal:

Тип ціліMatomoАналог у GA4
Перехід на URLURL matchDestination goal
ПодіяEvent TrackingKey Event по події
Кількість сторінокVisit Duration / Pages/VisitНемає прямого аналога
E-commerceОкремий модульGA4 E-commerce events

Для e-commerce увімкніть у Matomo Administration → Ecommerce і додайте в GTM або на сторінці JS-виклики:

// Matomo ecommerce: додати товар у кошик
_paq.push(['addEcommerceItem',
  'SKU-001',           // product SKU
  'Назва товару',      // product name
  'Категорія',         // category
  299.00,              // price
  1                    // quantity
]);
_paq.push(['trackEcommerceCartUpdate', 299.00]);

// При оформленні замовлення
_paq.push(['trackEcommerceOrder',
  'ORDER-12345',  // order ID
  299.00,         // revenue
  0,              // subtotal (без доставки)
  0,              // tax
  0               // shipping
]);

Крок 5. Паралельний збір даних

Не вимикайте GA одразу. Запустіть обидва трекери паралельно на 2-4 тижні. Це дозволить:

  1. Переконатися, що Matomo збирає дані коректно.
  2. Порівняти показники і зрозуміти систематичну різницю (зазвичай Matomo показує на 10-30% більше сесій через відсутність consent-виключень і менш агресивну фільтрацію ботів).
  3. Налаштувати порогові значення дашбордів, якщо використовуєте BI-інструменти.
  4. Навчити команду інтерфейсу Matomo до повного вимкнення GA.

Після 2-4 тижнів переконайтеся, що дані в Matomo стабільні, і тільки тоді видаліть GA тег.

Крок 6. Імпорт історичних даних

З Universal Analytics

Використовуйте плагін Google Analytics Importer (доступний безкоштовно в Matomo Marketplace):

  1. Administration → Plugins → Marketplace → Google Analytics Importer → Install.
  2. Налаштуйте OAuth доступ до вашого UA акаунту (потрібен Google сервісний акаунт або OAuth credentials).
  3. Виберіть UA View ID, діапазон дат і почніть імпорт.

Що переноситься: sessions, users, pageviews, bounce rate, source/medium, campaign, goals. Що не переноситься: сирі hit-level дані, custom dimensions, ряд GA-специфічних показників.

Час імпорту: 2-3 роки UA-даних для сайту з 100k сесій/місяць — орієнтовно 4-8 годин. Процес можна зупинити і продовжити.

Важливо: UA API залишається відкритим, але Google вже кілька разів переносив дату закриття. Краще не відкладати.

З GA4

Офіційний GA4 Importer для Matomo вийшов у бета-версії у 2024 році. Він менш повний, ніж UA Importer: частина подій і параметрів не переноситься через структурні відмінності між GA4 і Matomo (GA4 — event-based з вільними параметрами, Matomo — більш структурований).

Практичний підхід: для більшості сайтів достатньо мати GA4-дані у Google у вигляді BigQuery-експорту (якщо налаштовано) або стандартних CSV-звітів, а Matomo використовувати для збору з нуля від дати переходу.

Типові помилки при переході

  1. Вимкнули GA до підтвердження коректного збору в Matomo. Завжди тримайте паралельний збір мінімум 2 тижні і перевіряйте Visitor Log.

  2. Встановили Matomo, але не налаштували Privacy. За замовчуванням Matomo зберігає повну IP-адресу відвідувача. Увімкніть: Administration → Privacy → Anonymize Visitors’ IP addresses (останні 2 октети, або через Hash IP). Без цього self-hosted Matomo теж вимагає consent за GDPR.

  3. Перенесли UA Goals як URL-match у Matomo, але URLs відрізняються. Перевірте точний формат URL: GA часто зберігав без trailing slash, Matomo — з. Тестуйте Goals через Visitor Log після налаштування.

  4. Не налаштували виключення ботів. Administration → General Settings → Exclude common bots → увімкнути. Без цього технічний трафік спотворює метрики.

  5. Не виключили власні IP. Administration → Websites → Excluded IPs. Додайте IP офісу/VPN — інакше власні тести входять у статистику.

  6. Забули про підсайти або субдомени. Для кросс-субдоменного трекінгу потрібний додатковий JS:

    _paq.push(['setCookieDomain', '*.yourdomain.com']);
    _paq.push(['setDomains', ['*.yourdomain.com']]);
    
  7. Очікували, що Matomo покаже ті самі числа, що й GA. Не покаже. Різниця в 15-30% між Matomo і GA4 — норма, особливо для ЄС-аудиторії через Consent Mode.

  8. Self-hosted Matomo без HTTPS. Matomo зберігає трекінг-cookie — без HTTPS він уразливий. Обов’язково: Let’s Encrypt + redirect HTTP → HTTPS.

Чеклист переходу на Matomo

Перед стартом:

  • Обрали тип: self-hosted або Cloud
  • Self-hosted: VPS з PHP 7.2.5+, MySQL, nginx налаштований
  • Cloud: зареєструвались, отримали trial

Встановлення:

  • Matomo встановлений і відкривається у браузері
  • Сайт доданий у Matomo Administration → Websites
  • Tracking Code отримано (Site ID + URL трекера)

Підключення до сайту:

  • Код вставлено напряму або через GTM
  • Перевірено через DevTools: запит matomo.php → статус 204
  • Visitor Log показує ваші тестові відвідування

Privacy налаштування:

  • IP anonymization увімкнено
  • Виключені власні IP і боти
  • Вирішили питання consent (потрібен чи ні у вашому кейсі)

Цілі та конверсії:

  • Goals відтворені з GA (або налаштовані нові)
  • E-commerce підключено (якщо актуально)
  • Goals тестуються через Visitor Log

Паралельний збір:

  • GA і Matomo працюють паралельно 2-4 тижні
  • Дані в Matomo стабільно збираються
  • Порівняли метрики і зрозуміли систематичну різницю

Імпорт:

  • Плагін GA Importer встановлено (для UA-даних)
  • Архівні дані перенесено
  • BigQuery-експорт GA4 збережено (якщо є)

Завершення переходу:

  • GA тег видалений з GTM або коду сторінки
  • Команда навчена роботі з інтерфейсом Matomo
  • Дашборди і звіти перебудовані під Matomo

Порівняння інтерфейсів: що буде по-іншому

Matomo — функціонально насичений інструмент, але інтерфейс відрізняється від GA4.

Що знайдете одразу:

  • Visitors → Overview = Audience Overview у GA
  • Acquisition → Channels = Traffic Sources у GA4
  • Behaviour → Pages = Pages and Screens у GA4
  • Goals → Overview = Conversions → Key Events у GA4

Що знайдете тільки у Matomo:

  • Visitor Log — список кожного відвідувача з повним шляхом на сайті (у GA4 — лише зведена User Explorer)
  • Real-time = Real-time у GA4, але детальніший
  • Heatmaps і Session Recordings (якщо встановлено premium-плагін) — є також у GA4 через Hotjar-інтеграцію, але у Matomo — нативно

Чого немає у базовому Matomo:

  • Атрибуційні моделі (тільки last-click за замовчуванням, інші — через платний плагін)
  • Predictive Audiences і ML-функції (є тільки у GA4)

Детальне порівняння функцій — у огляді Matomo.

Пов’язані ресурси

Якщо вирішили перейти, але ще вибираєте між Matomo і Plausible — ключове питання: чи потрібна вам повна функціональність (події, e-commerce, цілі, сирі дані) — тоді Matomo, чи достатньо простої аналітики трафіку — тоді Plausible буде зручнішим.

Схожі статті

Дивіться також

Цю статтю пише і оновлює Андрій Коваленко — без AI-води і партнерських посилань. Помітив застарілий факт чи неточність — напиши, перепишу того ж тижня.

Хто веде сайт і чому без AI