Блог

← Усі статті

Як відстежувати завантаження файлів у Google Tag Manager

TL;DR: GA4 відстежує завантаження файлів автоматично через enhanced measurement, але не підтримує кастомні типи файлів, не дає контролю над параметрами подій і не запускає теги конверсій Google Ads. Для повного контролю створіть тригер Click — Just Links у GTM з regex-умовою на Click URL, прикріпіть тег GA4 Event з параметрами file_name, file_extension та link_url, і за потреби додайте тег Google Ads Conversion. GTM Event Helper робить це за секунди — клікніть посилання завантаження, перевірте конфігурацію та створіть усе через GTM API.

Завантаження файлів — це дії з високим рівнем інтересу. Коли хтось завантажує ваш прайс-лист у PDF, специфікацію продукту чи інсталятор програми, це сигнал серйозної зацікавленості. Точне відстеження завантажень дозволяє вимірювати залученість до контенту, атрибутувати ліди до конкретних матеріалів та оптимізувати рекламні витрати на файли, які реально генерують pipeline.

Google Tag Manager пропонує два шляхи: покластися на вбудоване enhanced measurement GA4 або побудувати кастомне налаштування з повним контролем. Цей гайд охоплює обидва підходи, пояснює компроміси та проходить повну кастомну імплементацію крок за кроком.

Чи відстежує GA4 завантаження файлів автоматично?

Так. Enhanced measurement GA4 включає автоматичне відстеження завантажень файлів. Коли користувач клікає посилання, URL якого закінчується поширеним розширенням файлу, GA4 запускає подію file_download без будь-якого налаштування GTM.

Розширення, які відстежуються за замовчуванням:

Щоб перевірити, що enhanced measurement увімкнено, перейдіть до Admin → Data Streams → (ваш потік) → Enhanced measurement. Перемикач "File downloads" має бути увімкнений.

Автоматична подія file_download містить такі параметри: file_extension, file_name, link_classes, link_domain, link_id, link_text та link_url. Для багатьох сайтів цього достатньо. Але є реальні обмеження.

Які обмеження вбудованого відстеження завантажень GA4?

Enhanced measurement добре працює для базового відстеження, але не справляється в кількох сценаріях, важливих для серйозної аналітики.

1. Немає кастомних типів файлів. Якщо ваш сайт роздає файли .sketch, .fig, .ai, .dwg або інших специфічних форматів, GA4 їх не відстежить. Список розширень захардкоджений і не може бути змінений.

2. Немає кастомних параметрів подій. Ви не можете додати бізнес-контекст — document_category, content_group чи download_source — до автоматичної події. Параметри фіксовані.

3. Не запускаються теги конверсій Google Ads. Автоматична подія file_download не активує тег Google Ads Conversion Tracking. Якщо завантаження PDF — це конверсійна дія для ваших рекламних кампаній, вам потрібен тригер GTM.

4. Немає умовної логіки. Ви не можете обмежити відстеження певними директоріями (наприклад, тільки завантаження з /resources/) або виключити певні файли. Це все або нічого.

5. Ризик подвійного підрахунку. Якщо ви створите кастомну подію file_download у GTM, а enhanced measurement теж відстежує завантаження, кожне завантаження рахуватиметься двічі. Потрібно або вимкнути перемикач enhanced measurement, або використати іншу назву події в кастомному налаштуванні.

Якщо ви будуєте кастомне відстеження завантажень файлів у GTM, вимкніть перемикач "File downloads" в enhanced measurement GA4, щоб уникнути дублювання подій.

Як створити кастомний тригер завантаження файлів у GTM?

Завантаження файлу — це по суті клік по посиланню, де URL вказує на файл замість веб-сторінки. Тригер Click — Just Links у GTM — правильний вибір, оскільки посилання на завантаження завжди є елементами <a> з атрибутом href.

Крок 1: Увімкніть вбудовані змінні кліків

Перейдіть до Variables → Configure та увімкніть у розділі "Clicks":

Крок 2: Створіть тригер

  1. Перейдіть до Triggers → New → Click — Just Links
  2. Встановіть "This trigger fires on" на Some Link Clicks
  3. Умова: Click URLmatches RegEx (ignore case) → введіть патерн:
\.(pdf|zip|docx|xlsx|csv|pptx|doc|xls|ppt|dmg|exe)($|\?)

Цей regex збігається з будь-яким URL посилання, що закінчується цими розширеннями файлів, включаючи URL з query-параметрами після розширення (наприклад, report.pdf?v=2). Частина ($|\?) в кінці забезпечує збіг незалежно від того, чи розширення знаходиться в кінці URL, чи після нього йдуть query-параметри.

Крок 3: Дайте зрозумілу назву

Назвіть тригер описово, наприклад "Click — File Downloads (PDF, ZIP, DOCX)". Ви-в-майбутньому, переглядаючи контейнер GTM, будете вдячні за конкретність.

GTM Event Helper визначає посилання на завантаження під час вибору елемента та пропонує відповідний тригер Click — Just Links з готовим regex для розширень файлів.

Як створити тег GA4 Event для завантажень файлів?

Коли тригер готовий, створіть тег GA4 для відправки даних про завантаження до вашого аналітичного ресурсу.

  1. Перейдіть до Tags → New → Google Analytics: GA4 Event
  2. Виберіть ваш тег GA4 Configuration (або введіть Measurement ID напряму, наприклад G-XXXXXXXXXX)
  3. Event Name: file_download (відповідає рекомендованій назві GA4 для сумісності з вбудованими звітами)
  4. Додайте параметри події (див. наступний розділ для створення змінних вилучення):
    • file_name{{DLV - File Name}}
    • file_extension{{DLV - File Extension}}
    • link_url{{Click URL}}
    • link_text{{Click Text}}
  5. Встановіть тригер на тригер завантаження файлів, створений вище

Якщо ви використовуєте ту саму назву події, що й enhanced measurement (file_download), не забудьте вимкнути перемикач enhanced measurement для завантажень файлів у GA4. В іншому випадку використовуйте кастомну назву на кшталт custom_file_download.

Як захопити ім'я, тип та URL файлу?

Змінна {{Click URL}} дає повний URL, наприклад https://example.com/docs/pricing-guide.pdf?v=3. Щоб вилучити ім'я файлу та розширення окремо, створіть дві Custom JavaScript змінні в GTM.

Змінна 1: Ім'я файлу

Перейдіть до Variables → New → Custom JavaScript і назвіть "CJS - File Name":

function() {
  var url = {{Click URL}};
  if (!url) return '';
  // Прибираємо query string та hash
  var clean = url.split('?')[0].split('#')[0];
  // Отримуємо останній сегмент шляху
  var parts = clean.split('/');
  return parts[parts.length - 1] || '';
}

Це поверне pricing-guide.pdf з повного URL.

Змінна 2: Розширення файлу

Створіть ще одну Custom JavaScript змінну з назвою "CJS - File Extension":

function() {
  var url = {{Click URL}};
  if (!url) return '';
  var clean = url.split('?')[0].split('#')[0];
  var filename = clean.split('/').pop();
  var parts = filename.split('.');
  return parts.length > 1 ? parts.pop().toLowerCase() : '';
}

Це поверне pdf з URL.

Альтернатива: Lookup Table для категорій файлів

Якщо хочете групувати завантаження за категоріями у звітах, створіть змінну Lookup Table, яка маппить розширення на категорії:

Input Variable: {{CJS - File Extension}}

pdf       → document
docx      → document
doc       → document
xlsx      → spreadsheet
xls       → spreadsheet
csv       → spreadsheet
pptx      → presentation
zip       → archive
dmg       → installer
exe       → installer

Передайте це як параметр file_category у вашому тезі GA4 для чистіших звітів.

Як відстежувати завантаження тільки конкретних типів файлів?

Іноді не потрібно відстежувати кожне завантаження — тільки PDF з розділу ресурсів або тільки ZIP-файли зі сторінки завантажень. Є два підходи.

Підхід 1: Звузити regex

Модифікуйте regex тригера для збігу тільки з потрібними розширеннями:

// Тільки PDF та таблиці:
\.(pdf|xlsx|csv)($|\?)

// Тільки інсталятори:
\.(exe|dmg|msi|deb|rpm)($|\?)

// Тільки PDF у конкретній директорії:
\/resources\/.*\.pdf($|\?)

Підхід 2: Додати умову Page Path

Залиште широкий regex для розширень, але додайте другу умову тригера:

  1. Умова 1: Click URL matches RegEx \.(pdf|zip|docx)($|\?)
  2. Умова 2: Page Path starts with /resources

Обидві умови повинні бути істинними для спрацювання тригера. Це обмежує відстеження завантаженнями, ініційованими з розділу ресурсів.

Підхід 3: Виключити конкретні файли

Якщо хочете відстежувати всі завантаження, крім певних файлів (наприклад, внутрішніх документів команди), додайте тригер виключення. Створіть другий тригер з тими ж умовами плюс збіг з назвою виключеного файлу, та встановіть його як exception на вашому тезі GA4.

Exception trigger:
  Click URL contains "internal-handbook"
  Click URL matches RegEx \.(pdf|docx)($|\?)

Як відстежувати завантаження файлів як конверсії Google Ads?

Якщо завантаження файлів є значущими конверсіями для вашого бізнесу — прайс-лист, каталог продуктів чи інсталятор пробної версії — їх варто відправляти в Google Ads для оптимізації кампаній.

Варіант A: Прямий тег Google Ads Conversion

  1. У Google Ads перейдіть до Goals → Conversions → New conversion action → Website
  2. Виберіть "Manual setup" та скопіюйте Conversion ID і Conversion Label
  3. У GTM створіть новий тег: Google Ads Conversion Tracking
  4. Вставте Conversion ID та Label
  5. Встановіть значення конверсії за потреби (наприклад, $5 за кожне завантаження PDF на основі середньої вартості ліда)
  6. Прикріпіть той самий тригер завантаження файлів, що й для GA4

Варіант B: Імпорт ключових подій GA4

  1. У GA4 перейдіть до Admin → Events та позначте file_download як ключову подію
  2. Зв'яжіть GA4 з Google Ads (Admin → Google Ads Links)
  3. У Google Ads перейдіть до Goals → Conversions → Import та виберіть ключову подію GA4

Який підхід краще? Використовуйте прямий тег Google Ads, коли потрібен точний підрахунок конверсій і ви хочете, щоб конверсія спрацьовувала тільки для певних типів файлів (наприклад, тільки PDF з прайсом, а не кожен PDF). Використовуйте імпорт GA4, коли хочете послідовну атрибуцію між звітами GA4 та Google Ads. Для більшості B2B-сайтів, де завантаження є основною конверсією, прямий тег дає більше контролю.

Як аналізувати дані завантажень у GA4?

Коли теги спрацьовують, потрібно зареєструвати кастомні параметри та побудувати корисні звіти.

Крок 1: Зареєструйте кастомні dimensions

GA4 автоматично не робить параметри подій доступними у звітах. Перейдіть до Admin → Custom definitions → Create custom dimension для кожного параметра:

Кастомні dimensions починають заповнюватися у звітах протягом 24 годин після реєстрації.

Крок 2: Побудуйте звіт Explore

Створіть Free Form exploration у GA4:

Це покаже, які файли завантажуються найчастіше та з яких сторінок. Додайте Session source / medium як рядок, щоб побачити, які джерела трафіку генерують найбільше завантажень.

Крок 3: Створіть воронку

Використайте Funnel exploration GA4, щоб зрозуміти шлях до завантаження:

  1. Крок 1: page_view (на сторінці ресурсів)
  2. Крок 2: file_download
  3. Крок 3: generate_lead або sign_up (якщо контент за формою)

Це показує відсів між переглядом сторінки та фактичним завантаженням — корисно для оптимізації макету сторінки завантажень та CTA.

Які найпоширеніші помилки відстеження завантажень?

Ці проблеми спричиняють найбільше головного болю при дебазі. Уникайте їх заздалегідь.

1. Подвійний підрахунок з enhanced measurement. Це найпоширеніша помилка. Якщо ви створите кастомну подію file_download у GTM, а enhanced measurement GA4 теж відстежує завантаження, кожне завантаження рахується двічі. Або вимкніть перемикач enhanced measurement для завантажень файлів, або використайте іншу назву події в GTM (наприклад, custom_file_download). Перевіряйте GA4 Realtime, щоб одразу помітити дублікати.

2. Пропущена обробка query-параметрів. URL типу report.pdf?token=abc123 не збігатимуться з regex, що перевіряє розширення тільки в кінці рядка. Завжди додавайте ($|\?) до regex-патерну для обробки query strings.

3. Забутий CDN та зовнішні домени. Якщо файли хостяться на CDN (наприклад, cdn.example.com) або в хмарному сховищі (наприклад, storage.googleapis.com), Click URL вказуватиме на інший домен. Regex тригера збігається з розширенням файлу незалежно від домену, але якщо ви додали умову Page URL, переконайтеся, що вона на URL сторінки, а не на домені посилання.

4. Незареєстровані кастомні dimensions. Ви створюєте тег GA4 з параметрами file_name і file_extension, події з'являються в Realtime, і ви думаєте, що все готово. Але коли намагаєтеся використати ці параметри у звітах Explore, вони порожні. Потрібно явно зареєструвати кожен параметр як custom dimension в GA4 Admin, перш ніж дані стануть доступні для звітів. І реєстрація стосується тільки даних, зібраних після створення dimension — вона не ретроактивна.

5. Використання Click — All Elements замість Just Links. Посилання завантаження — це елементи <a>, тому тригер Click — Just Links більш доречний. All Elements також захоплюватиме кліки на елементи всередині посилання (іконки, spans), що може призвести до порожньої змінної Click URL, якщо клікнутий дочірній елемент не є самим anchor.

6. Відстеження blob: та data: URL. Деякі сайти генерують файли динамічно через JavaScript та роздають їх через blob: або data: URL. Стандартні тригери кліків їх не захоплять, бо URL не містить розширення файлу. Для динамічної генерації файлів використовуйте Custom HTML тег, який слухає подію створення завантаження та пушить у dataLayer.

Чи є швидший спосіб відстежувати завантаження файлів?

Ручне налаштування включає багато кроків: увімкнення змінних, написання regex-патернів, створення Custom JavaScript змінних, побудова тригера, створення тегу GA4, тестування в Tag Assistant та публікація. Це працює, але займає багато часу та схильне до помилок.

GTM Event Helper спрощує весь цей процес:

  1. Клікніть будь-яке посилання завантаження на сторінці
  2. Розширення визначить, що це посилання на файл, і запропонує правильну конфігурацію тригера
  3. Перевірте автоматично згенеровані умови тригера та параметри події
  4. Натисніть "Create in GTM" — тригер, тег GA4 Event та всі змінні створюються через GTM API

Без написання regex. Без налаштування Custom JavaScript змінних. Без перемикання між вкладками. Весь процес відбувається на вашому живому сайті з прямим підключенням до API вашого воркспейсу GTM.

Відстежуйте завантаження PDF, ZIP та документів — без ручного налаштування GTM.

Встановити GTM Event Helper

Зовнішні ресурси

Схожі статті

← Усі статті · Головна · Політика конфіденційності · Контакти