Блог

← Усі статті

Як відстежувати кліки по зовнішніх посиланнях у Google Tag Manager

TL;DR: Щоб відстежувати кліки по зовнішніх посиланнях у GTM, створіть тригер Click — Just Links, де Click URL не містить ваш домен, потім прикріпіть тег GA4 Event з назвою події outbound_click та параметрами для URL і тексту посилання. Увімкніть "Wait for Tags", щоб запит встиг відправитись до переходу на зовнішній сайт. GTM Event Helper може виявити зовнішні посилання та автоматично створити тригер + тег через GTM API.

Кожен клік по зовнішньому посиланню — це сигнал. Коли відвідувач залишає ваш сайт заради партнерського ресурсу, сторінки документації чи прайсу конкурента, цей клік говорить про те, що йому потрібно і чи ваш сайт це дав. Відстеження зовнішніх посилань у Google Tag Manager (GTM) дає видимість того, куди йде ваш трафік після потрапляння на ваші сторінки.

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

Що таке зовнішні посилання і навіщо їх відстежувати?

Зовнішнє посилання (outbound link, exit link) — це будь-яке гіперпосилання, яке веде на інший домен, ніж той, на якому зараз знаходиться відвідувач. Якщо хтось переглядає yourdomain.com і натискає посилання на partner.com — це зовнішній клік.

Чому це важливо для аналітики? Є кілька причин:

Без явного відстеження GA4 показує вам перегляди сторінок та внутрішні події, але нічого не каже про те, що відбувається в точці виходу. Відстеження outbound кліків закриває цю прогалину.

Чи відстежує GA4 Enhanced Measurement зовнішні кліки автоматично?

Так, частково. Enhanced Measurement у GA4 містить перемикач "Outbound clicks", який автоматично відправляє подію click з параметром outbound: true щоразу, коли користувач натискає на посилання, що веде на інший домен. Це увімкнено за замовчуванням у нових GA4 properties.

Щоб перевірити, чи це активно: перейдіть до Admin → Data Streams → ваш web stream → Enhanced measurement. Ви побачите "Outbound clicks" з перемикачем.

Коли увімкнено, GA4 автоматично збирає:

Для базової звітності по outbound кліках Enhanced Measurement працює з коробки. Але він має суттєві обмеження, які штовхають більшість аналітичних налаштувань до кастомної імплементації через GTM.

Які обмеження має вбудоване відстеження outbound кліків у GA4?

Відстеження outbound кліків через Enhanced Measurement зручне, але негнучке. Ось конкретні обмеження, які мають значення:

1. Немає врахування субдоменів. GA4 за замовчуванням вважає субдомени частиною того ж домену. Кліки з www.yourdomain.com на blog.yourdomain.com не рахуються як зовнішні. Але якщо у вас окремі properties або потрібно відстежувати крос-субдоменну навігацію, налаштувати це через Enhanced Measurement неможливо.

2. Немає захоплення тексту посилання. Enhanced Measurement записує link_url, link_domain, link_classes та link_id, але не захоплює видимий текст посилання. Якщо у вас десять посилань на один домен на сторінці, ви не зможете визначити, яке саме було натиснуте, лише за стандартними параметрами.

3. Немає кастомної назви події. Усі outbound кліки з'являються як загальна подія click з outbound: true. Перейменувати її на щось більш описове, як-от outbound_click або exit_link, неможливо. Це ускладнює фільтрацію у звітах GA4, бо подія click може також охоплювати інші взаємодії.

4. Немає умовної логіки. Не можна виключити конкретні зовнішні домени (як домен вашого SaaS-додатку або платіжного провайдера) з підрахунку outbound кліків. Або все, або нічого.

5. Обмежений контроль параметрів. Не можна додати кастомні параметри на кшталт link_position (header, footer, body) або link_category (affiliate, documentation, social) до автоматично зібраної події.

6. Конфлікти з GTM. Якщо ви вже використовуєте GTM для іншого відстеження, Enhanced Measurement зі своїми подіями click поряд з вашими GTM-тегами створює дублювання даних. Google рекомендує вимикати ті події Enhanced Measurement, які ви обробляєте через GTM.

Для будь-чого складнішого за "скільки outbound кліків було" кастомне налаштування GTM дає вам потрібний контроль.

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

Основа відстеження outbound посилань — тригер, який спрацьовує тільки коли користувач натискає на посилання за межі вашого домену. Ось покрокове налаштування:

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

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

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

  1. Перейдіть до Triggers → New
  2. Оберіть Click — Just Links (спрацьовує тільки на елементах <a>)
  3. Поставте галочку "Wait for Tags" і встановіть максимальний час очікування 2000 мілісекунд (це гарантує, що запит GA4 відправиться до переходу браузера на зовнішню сторінку)
  4. Поставте галочку "Check Validation", щоб тригер спрацьовував тільки на валідних кліках по посиланнях
  5. Встановіть "This trigger fires on" на Some Link Clicks
  6. Додайте умову: Click URLdoes not containyourdomain.com

Замініть yourdomain.com на ваш реальний домен. Ця умова означає, що тригер спрацює на кожному кліку по посиланню, де URL призначення не на вашому домені.

Чому "Just Links", а не "All Elements"?

Тип тригера "Just Links" пропонує дві функції, критичні для відстеження зовнішніх посилань: "Wait for Tags" та "Check Validation". Ці опції недоступні для тригерів "All Elements". "Wait for Tags" критично важливий, бо outbound кліки перенаправляють браузер з вашої сторінки. Без цієї опції запит GA4 може не встигнути завершитись до того, як браузер вивантажить сторінку і почне завантажувати зовнішній URL.

GTM Event Helper визначає, чи посилання веде на зовнішній домен, під час вибору елемента і автоматично налаштовує тригер як "Just Links" з увімкненим Wait for Tags.

Як створити тег GA4 Event для зовнішніх посилань?

Коли тригер готовий, створіть тег, що відправляє подію в GA4:

  1. Перейдіть до Tags → New
  2. Оберіть Google Analytics: GA4 Event
  3. Виберіть ваш тег GA4 Configuration або введіть Measurement ID напряму
  4. Event Name: outbound_click
  5. Додайте параметри події:
    • link_url{{Click URL}}
    • link_text{{Click Text}}
  6. Встановіть тригер спрацювання — тригер зовнішніх посилань з попереднього кроку

Назва події: чому не просто "click"?

Enhanced Measurement у GA4 використовує загальну назву click для outbound кліків. Якщо ви використаєте ту саму назву, ваші кастомні події змішаються з автоматично зібраними, що ускладнить звітність. Використання окремої назви на кшталт outbound_click тримає дані чистими і дозволяє фільтрувати саме ваші кастомно відстежені зовнішні події.

Пам'ятайте: GA4 має ліміт 500 унікальних назв подій на property і 40 символів на назву події. outbound_click вписується в обидва обмеження.

Як захопити URL призначення та текст посилання?

Вбудована змінна {{Click URL}} дає повний URL призначення. Змінна {{Click Text}} — видимий текст всередині тега <a>. Але є ситуації, коли цих стандартних значень недостатньо.

Витягування домену з URL

Якщо ви хочете звітувати по outbound кліках за доменом призначення (наприклад, "50 кліків на github.com, 30 кліків на docs.stripe.com"), створіть Custom JavaScript variable:

Variable Name: cjs - Link Domain
Type: Custom JavaScript

function() {
  var url = {{Click URL}};
  if (!url) return '';
  try {
    return new URL(url).hostname;
  } catch(e) {
    return '';
  }
}

Потім додайте link_domain як параметр події у вашому тезі GA4 зі значенням {{cjs - Link Domain}}.

Захоплення позиції посилання

Знати, що хтось натиснув на зовнішнє посилання — корисно. Знати, що він натиснув його в header, а не у footer чи тілі статті — набагато ціннішe. Створіть ще одну Custom JavaScript variable:

Variable Name: cjs - Link Position
Type: Custom JavaScript

function() {
  var el = {{Click Element}};
  if (!el) return 'unknown';
  if (el.closest('header, nav')) return 'header';
  if (el.closest('footer')) return 'footer';
  if (el.closest('.sidebar, aside')) return 'sidebar';
  if (el.closest('article, .post-content, .article-body')) return 'content';
  return 'other';
}

Додайте link_position як параметр події. Тепер ваші звіти GA4 можуть розбивати outbound кліки за позицією на сторінці — неймовірно корисно для розуміння, які розміщення генерують виходи.

Посилання із зображеннями замість тексту

Коли посилання обгортає зображення (типово для банерної реклами або логотипів партнерів), {{Click Text}} повертає порожній рядок. Для обробки цього створіть змінну з fallback на атрибут alt зображення або сам URL:

Variable Name: cjs - Link Label
Type: Custom JavaScript

function() {
  var text = {{Click Text}};
  if (text && text.trim()) return text.trim();
  var el = {{Click Element}};
  if (!el) return {{Click URL}};
  var img = el.querySelector('img');
  if (img && img.alt) return img.alt;
  return el.getAttribute('aria-label') || {{Click URL}};
}

Як виключити внутрішні субдомени з відстеження outbound кліків?

Проста умова "does not contain yourdomain.com" працює, якщо у вас один домен. Але багато бізнесів використовують субдомени: app.yourdomain.com, blog.yourdomain.com, docs.yourdomain.com, shop.yourdomain.com. Кліки на ці субдомени не повинні рахуватись як зовнішні.

Варіант 1: Regex-умова

Змініть умову тригера з "does not contain" на "does not match RegEx":

Click URL does not match RegEx (ignore case):
^https?://(www\.|app\.|blog\.|docs\.|shop\.)?yourdomain\.com

Це матчить будь-який URL, що починається з вашого домену або будь-якого з ваших субдоменів. Будь-який URL, що не матчить, вважається зовнішнім.

Варіант 2: Lookup Table Variable

Для більш підтримуваного підходу створіть Lookup Table variable, яка перевіряє домен:

Variable Name: lu - Is Outbound
Input Variable: {{cjs - Link Domain}}

Lookup Table:
  yourdomain.com        → false
  www.yourdomain.com    → false
  app.yourdomain.com    → false
  blog.yourdomain.com   → false
  docs.yourdomain.com   → false

Default Value: true

Потім встановіть умову тригера: {{lu - Is Outbound}} equals true. Цей підхід простіше оновлювати — додавання нового субдомену означає додавання одного рядка до lookup table замість зміни regex-паттерна.

А що з cross-domain tracking?

Якщо ви використовуєте GA4 cross-domain tracking (наприклад, користувачі переходять між yourdomain.com та checkout.partnerdomain.com), ви, ймовірно, не хочете рахувати кліки на домен партнерського checkout як outbound. Додайте ці домени до вашого списку виключень будь-яким з вищеописаних методів.

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

Це найпоширеніша причина втрати даних про outbound кліки. Коли посилання має target="_blank", оригінальна сторінка залишається відкритою і запит GA4 встигає завершитись. Але коли посилання відкривається в тій самій вкладці (без атрибута target або target="_self"), браузер одразу починає навігацію, і запит GA4 може бути перервано.

Wait for Tags

Опція "Wait for Tags" у тригері "Just Links" — це основне рішення. Коли увімкнено, GTM призупиняє навігацію на вказаний час (до 2000 мс), щоб теги встигли спрацювати. Це працює для більшості сценаріїв, але має обмеження:

Fallback через Navigator.sendBeacon

GA4 за замовчуванням використовує navigator.sendBeacon() для своїх запитів, який спроектований для переживання вивантаження сторінки. Це означає, що більшість сучасних браузерів завершать запит GA4 навіть під час навігації. Однак sendBeacon не гарантований на всіх браузерах і може не спрацювати при високому навантаженні на пам'ять. "Wait for Tags" додає страховку поверх sendBeacon.

Налаштування Transport URL

У вашому тезі GA4 Configuration переконайтесь, що механізм відправки налаштований правильно. Якщо ви використовуєте server-side GTM, запит іде спочатку на ваш власний сервер, який зазвичай швидший за endpoint збору Google, і зменшує ризик втрати хітів під час переходів між сторінками.

Як аналізувати дані про outbound кліки в GA4?

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

Стандартні звіти

Перейдіть до Reports → Engagement → Events і знайдіть вашу подію outbound_click. Натисніть на неї, щоб побачити кількість подій у часі. Щоб побачити розбивку за URL призначення або текстом посилання, потрібно спочатку зареєструвати ваші кастомні параметри як custom dimensions.

Реєстрація Custom Dimensions

Перейдіть до Admin → Custom definitions → Create custom dimension:

GA4 дозволяє до 50 event-scoped custom dimensions, тому це не суттєво вичерпає вашу квоту.

Exploration Reports

Для глибшого аналізу використовуйте Explore → Free form:

Це показує, які саме зовнішні посилання натискають, як часто і скільки унікальних користувачів. Сортуйте за event count, щоб знайти найпопулярніші зовнішні напрямки.

Аналіз на рівні сторінок

Додайте Page path як вторинний dimension, щоб побачити, які ваші сторінки генерують найбільше outbound кліків. Високий рівень outbound кліків на лендінгах може свідчити про те, що відвідувачі не знаходять потрібного, тоді як високий рівень на сторінках ресурсів — це очікувана і здорова поведінка.

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

Ось проблеми, через які дані про outbound кліки зникають, дублюються або стають неточними. Уникнення їх зекономить години дебагу.

1. Не увімкнено "Wait for Tags." Це причина номер один втрати даних про outbound кліки. Без цієї опції посилання, що відкриваються в тій самій вкладці, перенаправляють браузер до завершення запиту GA4. Завжди вмикайте цю опцію на тригерах "Just Links" для відстеження outbound кліків, з максимальним часом очікування 2000 мс.

2. Використання "All Elements" замість "Just Links." Тип тригера "All Elements" не підтримує "Wait for Tags." Якщо ви використаєте його для відстеження outbound посилань, кліки в тій самій вкладці будуть втрачені. Використовуйте "Just Links" для будь-якого відстеження посилань, де задіяна навігація.

3. Не вимкнено Enhanced Measurement outbound clicks. Якщо у вас є кастомне налаштування GTM, а Enhanced Measurement все ще відстежує outbound кліки, ви отримаєте дублювання подій. Перейдіть до налаштувань data stream GA4 і вимкніть "Outbound clicks" у Enhanced Measurement при використанні кастомної GTM-імплементації.

4. Субдомени рахуються як outbound. Умова "does not contain" з кореневим доменом зазвичай обробляє субдомени. Але якщо у вас окремий домен для додатку (наприклад, app.differentdomain.com), потрібно явно виключити його в умовах тригера.

5. Не зареєстровано custom dimensions. Ви відправляєте link_url та link_text як параметри події, але вони не з'являться у звітах GA4, поки ви не зареєструєте їх як custom dimensions. Це найпоширеніша проблема "все налаштував, але даних не бачу".

6. Забуті посилання mailto: та tel:. Посилання з протоколами mailto: або tel: — не зовнішні посилання, але вони також не містять ваш домен. Ваш тригер спрацює на них, якщо ви не додасте умову: Click URLstarts withhttp. Це гарантує, що тільки реальні веб-URL активують подію.

7. Ігнорування JavaScript-навігації. Деякі сайти використовують JavaScript для обробки кліків по посиланнях (window.open(), window.location.href або SPA-маршрутизація). Стандартні тригери кліків їх не перехоплять. Вам знадобиться Custom HTML tag з event listeners або Custom Event trigger, якщо сайт пушить події в dataLayer.

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

Ручне налаштування вище включає увімкнення змінних, створення тригерів, побудову тегів, налаштування умов і тестування в Tag Assistant. Для одного налаштування outbound посилань це терпимо. Але якщо потрібно відстежувати зовнішні посилання на кількох сторінках з різними правилами виключень або додати відстеження позиції посилання, ручний підхід швидко стає нудним.

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

  1. Натисніть на будь-яке посилання на вашій сторінці
  2. Розширення визначає, чи воно зовнішнє, і показує домен призначення
  3. Оберіть назву події та параметри
  4. Натисніть "Create in GTM" — тригер (з Wait for Tags), тег GA4 та всі параметри створюються через GTM API за один крок

Без ручного налаштування змінних. Без перемикання між вкладками. Без забутого "Wait for Tags." Розширення обробляє весь workflow від вибору елемента до опублікованого тега.

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

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

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

Пов'язані статті

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