Расширенная Ecommerce со специальной переменной JavaScript
15
785

Расширенная Ecommerce Universal Analytics – это большой шаг вперед по сравнению с очень плохим отслеживанием Электронной Торговли на основании произведенных денежных операций. В отличие от него Расширенная Электронная Торговля вовсе не предполагает, что вы лишь будете отрешенно взирать на страницы-подтверждения оформления заказа. Она превращает весь ваш интернет магазин в одну большую последовательность, под названием Поведение Покупателей. Кроме того, теперь вы без проблем можете сосредоточиться на последовательности Оформления Покупки. Добавленная опция отслеживания по области доступа «товар» тоже очень полезна. Она позволяет отследить при помощи отчетов Расширенной Электронной Торговли состояние всех «нематериальных активов» вашего сайта.

Отслеживать Расширенную Ecommerce  с помощью Менеджера Тегов Гугл (Google Tag Manager) вовсе несложно. Достаточно просто правильно отформатировать Уровень Данных, а затем с его помощью Менеджер Тегов отправит хиты в Google Analytics.

Обычно все стараются сделать Уровень Данных максимально универсальным и совместимым с разными платформами. И это вполне логично. Нет никакого смысла кодировать объекты в Уровень Данных лишь для одной платформы, поскольку синтаксис сложного объекта делает очень трудным повторное использование тех же самых данных для платформ с абсолютно другим синтаксисом.

У Расширенной Ecommerce очень специфический синтаксис в объекте Уровня Данных. Кроме того, если вы действительно хотите с выгодой для себя использовать Уровень Данных для Расширенной Электронной Торговли, то вам придется иметь дело с некоторыми очень плохими специальными настройками, предназначенными исключительно для Google Analytics. Добавление специальных параметров и/или показателей с областью доступа «товар» к полезной нагрузке - это один из примеров таких настроек.

Использование специальных определений с областью доступа «товар» по правилам Менеджера Тегов Google

Вот пример подобного использования. Отправляем Специальный Параметр с областью доступа «товар» вместе с нашим действием «Добавить в Корзину». После этого Специальный Параметр покажет, обычный ли это товар или же акционный. В вашем Уровне Данных вам понадобится код следующего содержания:

window.dataLayer = window.dataLayer || [];

window.dataLayer.push({

  'event' : 'addToCart',

  'ecommerce' : {

    'add' : {

      'products' : [{

        'id' : '12345',

        'name' : 'ACME Flame Thrower',

        'dimension2' : 'Promotion'

      }]

    }

  }

});

Этот хит подготовит Уровень Данных к действию «Добавить В Корзину», то есть отсылки значения «Акционный» в Специальный Параметр с индексом 2 в Google Analytics.

Все это было бы просто замечательно, если бы не было всего лишь мечтой, в которой вы идеально взаимодействуете с вашими прямыми и сторонними разработчиками платформ вашего сайта. Тогда вам бы было достаточно просто попросить их обновить Уровень Данных при помощи метода push и таким образом заменить двойку в dimension2 (параметр2) следующим индексом, изменив Специальный Параметр.

Однако в реальности так бывает редко. Все остальные части вышеописанного объекта Уровня Данных можно без проблем повторно использовать на других платформах, а ключевые имена (“id” (идентификатор), “name” (имя) и т. д.) самоочевидны и не требуют дополнительных разъяснений. Но беда в том, что “dimension2” (параметр2) не «дружит» с теми платформами, где просто отсутствует понятие параметров. Так что мы должны превратить Уровень Данных, который подходит для многих платформ, в такой, который верой и правдой служит одной единственной платформе (в данном случае Google Analytics). И мы делаем это.

 

Лучше используйте Специальную Переменную JavaScript

Вы также можете использовать Специальную Переменную JavaScript, чтобы, используя метод push, отправлять полезную нагрузку (то есть информацию о товаре) в Google analytics.

Таким образом, мы можем использовать Специальную Переменную JavaScript, чтобы производить все специфические настройки, которые подходят лишь для конкретной платформы, и при этом наш Уровень Данных будет оставаться максимально совместимым с разнообразными платформами.

Так давайте допустим, что состояние нашего Уровня Данных вполне нормальное, несмотря на отсутствие в нем ключа «параметр 2»:

window.dataLayer = window.dataLayer || [];

window.dataLayer.push({

  'event' : 'addToCart',

  'ecommerce' : {

    'add' : {

      'products' : [{

        'id' : '12345',

        'name' : 'ACME Flame Thrower'

      }]

    }

  }

});

Мы хотим запускать Тег Google Analytics, отправляющий действие Положить В Корзину в Google Analytics, когда полезная нагрузка попадает в Уровень Данных при помощи метода push. Но мы также стремимся добавить Специальный Параметр в полезную нагрузку и при этом не вносить никаких изменений в метод dataLayer.push() (уровень Данных.push).

Для этого нам нужно сначала создать новую Переменную Уровня Данных, которая возвращает полезную нагрузку «электронная торговля».

Эта переменная возвращает значения ключа «электронная торговля» в модель данных. Обратите внимание, что здесь используется Версия 1 Уровня Данных. Это делается, потому что именно ее использует Менеджер Тегов Google для Расширенной Ecommerce. Она защищает объекты вашей Расширенной Электронной Торговли от так называемого рекурсивного слияния. Из-за него полезная нагрузка «электронная торговля» существует дольше всех предыдущих объектов (то есть «акционных товаров» и «показов») в каждом хите. Это создает кучу дополнительной неверной информации, отсылаемой в Google Analytics.

После создания вышеописанной Переменной, вам понадобится настоящая Специальная Переменная JavaScript. Переменная, которую можно назвать {{JSAddToCart With Dimension}} (JS (javascript) – ДобавитьВКорзину C Критерием).

function() {

  var dIndx = '2'; // This is the Custom Dimension Index

  var ecomAddProducts = {{DLV - ecommerce}}['add']['products'];

  ecomAddProducts[0]['dimension' + dIndx] = ecomAddProducts[0]['id'] === '12345' ? 'Promotion' : 'Regular';

  return {'ecommerce' : {'add' : {'products' : ecomAddProducts}}};

}

В первой строке вы определяете индекс Специального Параметра. Далее вы создаете небольшую переменную-заполнитель для ключа «товары» в объекте {'ecommerce' : {'add' : {}} }.

В третьей строке вы проверяете, имеет ли первый (и единственный) товар Массива «товары» идентификатор «12345». Если имеет, то вы добавляете ключ Специального Параметра «параметр2» в объект товара со значением «Акционный». Если же у товара другой идентификатор, то тогда этот параметр будет иметь значение «Обычный товар».

Здесь большое поле для фантазии – к примеру, вы можете взять подходящие идентификаторы с таблицы поиска. Главное возвратить целый объект «электронная торговля» в Специальную Переменную JavaScript. Именно так работает Менеджер Тегов Гугла. Если вы не возвратите синтаксически допустимый объект «электронная торговля», то тогда Расширенная Электронная Торговля не будет работать.

И еще пару слов для того, чтобы стало понятнее: допустимый объект «электронная торговля» означает, что полезная нагрузка должна создаваться в соответствии с тем, как вы создаете объект Уровня Данных. Подробнее обо всем этом можно разузнать в руководстве разработчика для Уровня Данных Расширенной Электронной Торговли.

 

Важные замечания

       

Чтобы метод Специальной Переменной JavaScript без проблем работал с Менеджером Тегов Google, не забывайте делать следующее:

1.      Используйте Специальную Переменную JavaScript, которая возвращает допустимый объект {'ecommerce' : {}} 

2.      Отключите опцию (сняв флажок) «Использовать Уровень Данных» в ваших настройках Тега Google Analytics

3.      Выберите созданную вами переменную (о которой речь шла в пункте 1) в выпадающем меню «Прочитать данные из переменной»

Вот и все, что вам нужно изменить. Ваш Тег должен начинать действовать при запуске Триггера Специального События для Имени События: добавитьВКорзину. Однако на этот раз вместо объекта “электронная коммерция” Уровня Данных, Тег использует объект “электронная коммерция”, который возвращается вашей Специальной Переменной JavaScript.

 

Применяйте сценарии использования

В этой статье уже несколько раз упоминалось о том, как наиболее оптимально использовать Специальную Переменную JavaScript. Используйте эту Переменную, чтобы превратить не привязанный к конкретной платформе объект Уровня Данных в полезную нагрузку, предназначенную исключительно для Google Analytics. Просто попросите ваших веб-мастеров внедрить действие «Добавить в Корзину» в не имеющую никаких определенных признаков полезную нагрузку Ecommerce. Благодаря этому проще добиться того, чтобы другие платформы могли использовать данные Google Analytics, поскольку вам не обязательно знать, как работает Google Analytics, чтобы понимать, как создается объект.

Еще одним хорошим сценарием использования являются Специальные Параметры и Показатели специфичные для конкретного товара. Пример подобного сценария приводился в этой статье. Нет никакой надобности добавлять его в Уровень Данных, поскольку параметры и показатели могут изменяться. Также неразумно добавлять ключи, которые может использовать лишь одна платформа.

Я добавляю метод Специальная Переменная JavaScript в почти все реализации, с какими мне приходится работать. Я делаю это даже тогда, когда объект “электронная торговля” Уровня Данных хорошо структурирован. Мне приятно осознавать, что я могу легко изменить полезную нагрузку, когда мне заблагорассудится. И мне для этого не придется обновлять Уровень Данных.

Конечно, если изменения носят коренной характер (например, если меняется имя продукта или формат идентификаторов), то вполне разумно обновлять Уровень Данных на каждой странице, а не кодировать эти изменения в вашу Специальную Переменную JavaScript. Однако эта Переменная идеально подходит для внедрения синтаксиса полезной нагрузки, предназначенного для конкретной платформы, в ваше отслеживание Электронной Торговли.

Источник