Запускать пользовательские события без использования GTM dataLayer, чтобы активировать Google Optimize

КОНТЕКСТ

Я использую Google Optimize в приложении Angular 2. Я обнаружил множество ресурсов, в которых говорится, что оптимизация должна запускаться при настраиваемых событиях (например, http://blog.stack.foundation/2017/06/02/using-google-optimize-with-angular/).

Это связано с тем, что Angular2 должен сначала выполнить рендеринг на стороне клиента, прежде чем Optimize сможет применить варианты, поэтому загрузка страницы не является подходящим триггером. Это делается с помощью следующего фрагмента:

window['dataLayer'].push({'event': 'optimize.activate'});

и указав Evaluate on custom event: optimize.activate в Google Optimize.

Проблема

Datalayer - это функция Диспетчера тегов Google, и в настоящее время мой веб-сайт не поддерживает и, желательно, не будет реализовывать Диспетчер тегов Google. Есть ли альтернативный способ запуска пользовательских событий, не требующий GTM? Могу ли я отформатировать события GA для активации Оптимизации вместо событий уровня данных GTM?


person Jack Dalton    schedule 20.08.2018    source источник


Ответы (2)


Несмотря на то, что dataLayer является функцией Диспетчера тегов, Optimize использует переменную для отправки информации, и вам НЕ нужно добавлять GTM для использования Google Optimize.

Вам просто нужно будет создать переменную dataLayer, которая просто соответствует уровню данных - спецификациям GTM вместо простой переменной javascript. Остальное подойдет.

Также убедитесь, что вы не переопределяете переменную dataLayer и не объявляете ее над кодом оптимизации.

person AnkDasCo    schedule 20.08.2018

Можете ли вы одновременно поместить в dataLayer несколько событий? спросить, потому что это было бы полезно для меня, так как эти значения можно использовать для разных триггеров. Я использую это для отслеживания двух разных событий и идентификатора пользователя.

<script>
    var dataLayer = window.dataLayer = window.dataLayer || [];
    dataLayer.push({'event': 'Click Map Event'});
    dataLayer.push({'event': '5Sec Event'}); 
    dataLayer.push({'event':'UserID Event','userID': '12483'});
</script>
person Meenakshi Negi    schedule 20.10.2018