Динамические UTM-метки в Google Ads из названий кампаний и групп объявлений
В очередной раз сидя и проставляя ручками параметры в UTM (названия кампаний и групп) в Google Ads, вспомнил, что я живу в 2025 году и эпоха ИИ УЖЕ наступила.
За пару часов (на самом деле ШЕСТЬ часов тыкания сверхумного ИИ в документацию) нехитрого вайбкодинга накидал скрипт, который:
👉Парсит названия кампаний и групп в аккаунте
👉Удаляет запрещенные символы
👉Подставляет их в шаблон отслеживания
По сути скрипт просто реализует динамические метки там, где Google уже 1000 лет назад должен был их реализовать.
Скрипт написан на Apps Script (кто не в курсе - Google позволяет автоматизировать просто нереальные вещи с помощью встроенного редактора скриптов).
Сам скрипт можно скачать в моем TG канале👉🏻 Ссылка на пост
📜 Руководство по скрипту динамических UTM-меток
Это полное руководство по установке, настройке и использованию скрипта, который сделает ваши отчеты в Google Analytics понятными и информативными.
🎯 Назначение скрипта
Скрипт решает одну простую задачу: он автоматически добавляет в ваши рекламные ссылки читаемые названия кампаний и групп объявлений.
- Проблема: Без скрипта в отчетах вы видите только цифровые ID (123456789), что делает анализ трафика неудобным.
- Решение: Скрипт работает в фоновом режиме, находит настоящие названия (Поиск_Москва_Ремонт), очищает их и подставляет в ссылки.
⚙ Принцип работы
Скрипт не меняет ваши целевые URL. Весь процесс состоит из трех простых шагов:
1 Находит вашу кампанию и группу объявлений.
2 Записывает их очищенные названия в специальные поля — "Пользовательские параметры".
3 Google Ads в момент клика видит эти параметры и подставляет их в ваш "Шаблон отслеживания".
✅ Совместимость с кампаниями
Скрипт отлично работает с кампаниями, где есть стандартная структура "Кампания -> Группа объявлений".
Полностью совместим:
- 🔎 Поисковые кампании (Search)
- 🖼 Медийные кампании (Display)
Несовместим (будет проигнорирован):
- 🚀 Performance Max (Максимальная эффективность)
- 📱 Кампании для приложений (App Campaigns)
- ✨ Demand Gen / Discovery
- 🎬 Видеокампании (Video)
- 🛒 Торговые кампании (Shopping)
🚫 Что произойдет с неподдерживаемыми кампаниями?
Ничего. Скрипт разработан так, что он полностью их проигнорирует. Он не сломает их, не изменит их настройки и не вызовет ошибок.
🚀 Пошаговая установка и настройка
Шаг 1: Настройка шаблона отслеживания 📝
Это "формула", по которой Google будет строить вашу итоговую ссылку.
- В аккаунте Google Ads перейдите в раздел "Кампании".
- Выберите галочками те кампании, где будет работать скрипт.
- На синей панели сверху нажмите "Редактировать" -> "Изменить шаблоны отслеживания".
- В поле "Новый шаблон отслеживания" вставьте строку ниже:{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign={_campaignname}&utm_content={_adgroupname}&utm_term={keyword}
- Нажмите "Применить".
Шаг 2: Установка и настройка скрипта 🛠
- Перейдите в "Инструменты и настройки" -> "Массовые действия" -> "Скрипты".
- Нажмите синий +, дайте скрипту имя (например, "Динамические UTM-метки") и вставьте в редактор код из файла google ads script.gs.
- Настройте скрипт под себя (редактировать нужно только самый верхний блок):
processEnabledEntitiesOnly: Поставьте true, чтобы работать только с включенными кампаниями, или false, чтобы работать с включенными и приостановленными.
campaignIds: Чтобы протестировать скрипт, впишите сюда ID одной кампании: ['123456789']. Чтобы скрипт работал для всех кампаний, оставьте [].
campaignParamName и adGroupParamName: Оставьте campaignname и adgroupname или впишите собственные переменные. Важно: эти имена не должны содержать нижнего подчеркивания _.
Шаг 3: Запуск и настройка расписания 🗓
- Авторизация: В редакторе скриптов нажмите "Авторизовать" и предоставьте доступ.
- Тестовый запуск: Нажмите "Просмотр". Этот режим не вносит реальных изменений. Убедитесь, что во вкладке "Изменения" стоит статус "Успешно".
- Первый запуск: Нажмите "Выполнить", чтобы скрипт сохранил параметры в аккаунте.
- Настройка расписания:
Вернитесь на главную страницу со списком всех ваших скриптов.
Найдите в таблице колонку "Частота" (Frequency). Напротив вашего скрипта нажмите на иконку карандаша и установите расписание на "Ежечасно".
🔎 Важные нюансы и возможные вопросы
- ❓ Что будет, если в шаблоне не указать один из параметров?
Ошибки не будет. Скрипт запишет оба параметра, но в ссылку попадет только тот, который вы указали в шаблоне. Разметка будет неполной. - ❓ Что будет с русскими названиями, пробелами и спецсимволами?
Скрипт автоматически "очистит" любое название перед использованием:
Пробелы будут заменены на _.
Кириллица, латиница, цифры, _ и - останутся без изменений.
Все остальные спецсимволы (%, &, ?, ¶, ; и т.д.) будут удалены.
⚠ Рекомендации по первому запуску
Настоятельно рекомендуется не запускать скрипт сразу на весь аккаунт.
- Выберите одну-две активные кампании для теста.
- В настройках скрипта впишите их ID в массив campaignIds.
- Выполните скрипт и убедитесь, что он отработал успешно.
- Подождите (несколько часов или день), чтобы накопилась статистика.
- Проверьте отчеты в вашей системе аналитики на корректность меток.
- Только после успешной проверки вернитесь в настройки скрипта и очистите массив campaignIds ([]), чтобы применить его ко всему аккаунту.
📏 Требования к названиям кампаний и групп
Хотя скрипт умеет "чистить" любые названия, соблюдение этих правил сделает вашу работу с данными проще и надежнее.
✅ Разрешено и рекомендуется:
- Русские и латинские буквы (А-Я, a-z)
- Цифры (0-9)
- Нижнее подчеркивание (_)
- Дефис (-)
❌ Не рекомендуется / Будет изменено скриптом:
- Пробелы
Что произойдет: Будут автоматически заменены на _.Рекомендация: Лучше сразу использовать _ или - вместо пробелов для единообразия. - Специальные символы (%, &, ?, ¶, ;, ( , ) и т.д.)
Что произойдет: Будут автоматически удалены скриптом.
Рекомендация: Избегайте их использования, чтобы не терять часть названия.
🏆 Золотое правило
Старайтесь создавать названия, используя только буквы, цифры и, при необходимости, дефисы или подчеркивания. Это самый надежный и профессиональный подход.