Если вы работаете в хорошем perfomance агентстве подобно мне, то наверняка сталкивались с задачей актуализации ретаргетинговых и прочих тегов в GTM. Чтобы тратить на это меньше времени, я написал небольшой скрипт выгрузки.
Но для его работы важно следовать простому правилу:
Называйте теги так, чтобы было понятно, что в них
Выгружаем теги
Итак, сначала заходим в контейнер GTM в интересующую рабочую область и копируем из url путь к ней, например:
accounts/909705892/containers/6146797/workspaces/53
Привычным движением создаем табличку в Google Spreadsheets, затем Инструменты - Редактор скриптов и вставляем следующий код, заменив путь в начале на нужный:
function getTags() {
// здесь лучше бы поменять путь на свой, настоящий
var tags = TagManager.Accounts.Containers.Workspaces.Tags.list(
'accounts/401792/containers/875225/workspaces/437'
)
var arr = [['Tags', 'Type', 'Active', 'Last modified']]
var ss = SpreadsheetApp.getActiveSheet()
ss.clear()
if (tags.tag && tags.tag.length) {
for (var i = 0; i < tags.tag.length; i++) {
var ct = new Date().getTime()
var Prop = [
tags.tag[i].name,
tags.tag[i].type,
!!(
tags.tag[i].firingTriggerId ||
tags.tag[i].setupTag ||
tags.tag[i].teardownTag
),
Math.round((ct - tags.tag[i].fingerprint) / 86400000) + ' days',
]
arr.push(Prop)
}
}
ss.getDataRange().clear()
ss.getRange(1, 1, arr.length, 4).setValues(arr)
}
По умолчанию объект TagManager
не определен, потому что не подключена нужная библиотека. Поэтому в редакторе скриптов переходим в Ресурсы - Дополнительные функции Google.. и включаем Tag Manager API. В том же окошке Google попросит включить их и в консоли. Жмём ссылку на консоль, ВКЛЮЧИТЬ API И СЕРВИСЫ, в поиске находим tag manager и ВКЛЮЧИТЬ.
Теперь обратно в редактор скриптов - в панели инструментов выберите функцию getTags
и нажмите треугольник.
Разбираемся
В результате выгрузки в табличке появятся следующие столбцы:
- Tags - название тега
- Type - тип тега
- Active - проверка на наличие активирующих триггеров
- Last Modified - дней с последней правки
Отдаем эту выгрузку коллегам из рекламного отдела, и пусть смотрят, что им нужно. 😆
Для другого контейнера достаточно будет просто смениить путь.
Стоит упомянуть, что если у тега нет запускающих его триггеров, это еще не означает, что он не используется. Тег так же может вызываться в другом, в условиях До или После.