Я пишу, чтобы поделиться некоторыми вещами, которые я узнал, которые недостаточно велики, чтобы оправдать их собственный пост. И, как всегда, для себя. Если у вас есть какие-либо советы или рекомендации по этому поводу, пожалуйста, поделитесь ими со мной!

Метаданные библиотеки

Мне часто бывает полезно знать некоторые метаданные о реализации DTM при устранении неполадок. Это особенно верно, если я использую код пользовательской библиотеки. Мне нравится хранить эту информацию в переменной _satellite (и отправлять ее как реквизит, потому что я могу). Примечание. Это требует использования s.doPlugins в коде пользовательской страницы Adobe для доступа к объекту s.

Внутри функции s.doPlugins в разделе Пользовательский код страницы Adobe Tool:

var DTMmetadata = "Lib:" + s.version + "|DTM:" + _satellite.settings.libraryName + "|Pub:" + _satellite.publishDate.split(" ")[0];
_satellite.setVar("DTM Metadata", DTMmetadata);
s.prop50 = DTMmetadata

Теперь, когда я занимаюсь отладкой и мне нужна краткая справка…

А опора в Омнибуге…

Использование Try/Catch в пользовательском Javascript

Некоторые из моих реализаций имеют множество пользовательских javascript в виде кода поставщика и/или функций, которые я написал сам. Сайты, над которыми я работаю, как правило, привлекают много внимания разработчиков. Когда я работаю над собственным кодом или размещаю код незнакомого поставщика, я не хочу, чтобы _satellite выдавал ошибки на всех консолях (в наших более низких средах используется промежуточная обработка). Я также не хочу, чтобы мне звонили, пока я в баре, и говорили, что Adobe ломает сайт прямо сейчас. Введите попытку/поймать.

Проще говоря, try/catch позволяет вам явно обрабатывать ошибки в вашем javascript. Я широко использую его по нескольким причинам: я могу экспериментировать, ничего не ломая и не предупреждая об ошибках, я могу регистрировать ошибки как _satelliteуведомления, я могу отслеживать ошибки в своих отчетах (т.е. отправлять в виде prop), и я могу спать спокойно, зная, что мой пользовательский код не приведет к сбою сайта. Простой пример:

try { 
    // reference a non existent value, this would throw a js error      
    _satellite.setVar(idontexist);
} catch (e) {
    //Log out errors
    _satellite.notify("CUSTOM CODE ERROR: " + e)
    // send error data to Adobe here if you want
}

Теперь только люди в режиме отладки (то есть я) увидят ошибки. Этот метод работает даже лучше в Launch с разными уровнями логирования.

Автоматически анализировать временную метку Unix

Это, вероятно, где-то в официальных документах, но я наткнулся на это в полевых условиях. DTM автоматически преобразует временные метки unix в удобочитаемую форму.

Плагин Google Sheets от ObservePoint

ObservePoint выпускает плагин Google Sheets под названием ObservePoint Labs, который позволяет вам использовать ваш ключ Adobe API для создания подробной рабочей книги со всеми данными, которые вы собираете на уровне набора отчетов. В Google Sheets нажмите ДополненияПолучить дополнения. Затем найдите ObservePoint

Откройте надстройку ObservePoint Labs и введите свои учетные данные (я не уверен, что ваш ключ Adobe API отличается от вашего общегообщего секрета). Вам не нужен ключ API ObservePoint. После аутентификации у вас будет несколько вариантов, нажмите Digital SDR Adobe.

В Digital SDR, если вы начинаете с чистого листа, вам сначала нужно сгенерировать шаблон, чтобы плагин мог заполнить данные. Вам нужно будет сделать это только один раз. После создания шаблона выберите набор отчетов, нажмите «Получить переменные» и наблюдайте, как он работает.

У вас есть 5 электронных таблиц, в которых перечислено все, что нужно знать об этом наборе отчетов. Очень полезно, когда вы хотите получить обзор набора отчетов.

Вы можете использовать этот плагин точно так же, как и Report Suite Manager. Допустим, вы хотели добавить описание к событию. Вы можете написать описание в электронной таблице, вернуться к инструменту Digital SDR и нажать «Обновить настройки в Adobe», и описание будет добавлено к вашему событию. Действительно удобный способ обновить сразу несколько настроек.

Чтобы продвинуть этот инструмент еще на один шаг, я использую основную электронную таблицу, которая объединяет данные из этих сгенерированных электронных таблиц. Это стало бесценным. Я смотрю на это каждый день. Я могу посмотреть, что такое eVar30 в каждом из моих наборов отчетов (надеюсь, он везде одинаков) в одной электронной таблице с данными, которые поступают прямо из источника. Подробнее о ссылках на данные с одного листа на другой здесь.

Это все на данный момент. Надеюсь, скоро смогу сделать вторую часть. Как всегда, спасибо за чтение.