Кроссдоменное отслеживание Iframe (новый способ)

Вам приходилось настраивать кросдоменное отслеживание? Это просто, правда? А для iframe? Вот тут задача обстоит уже посложнее, требуется написать еще немного JavaScript кода, вызывать hitCallback, долго тестировать, шаманить… но это уже в прошлом. Есть новый способ от мастера GTM — Simo Ahava. Оригинальная статья на английском про новый способ с customTask по ссылке.

Кросдоменный трекинг iframe с customTask

Если вы читали Симо, то знаете, что он обожает customTask и ненавидит iframe. И в этом его можно понять 🙂
В новом способе полностью изменился подход, в котором обходятся проблемы, когда не учитывался статус загрузки iframe на странице, а также ошибку, когда срабатывал линкер первого загруженного трекера на странице. Новый скрипт пытается найти iframe несколько раз с определенным интервалом, чтобы все прошло удачно.

Вот сам код:

Внимание, если вы не уверены, что делаете — не вставляйте этот код продакшен просто так.

Настройка

В начале кода объявлен объект iframeDecorator, со свойствами:

selector — строка CSS селектора для выбора iframe, например «#decorateMe»,

attempts — количество попыток «найти iframe»,

intervalMs — интервал, между попытками (указывается в миллистекундах),

useAnchor — использовать anchor (# решетку) вместо query (?) для добавления в src iframe (true или false).

После настройки вам необходимо добавить код в customTask вашего трекера.

Добавляем cutomTask

1. Если вы используете Google Tag Manager — вам необходимо:

— создать Custom JavaScript переменную, и вставить в нее код написанный выше, предварительно удалив в начале var _customTask =  чтобы строка начиналась просто со слова function() {

— добавить поле с именем customTask в главный тег Google Analytics, а в значение вставить Custom JavaScript переменную созданную выше.

2. Если Google Analytics установлен стандарным кодом analytics.js — необходимо:

— вставить скрипт customTask в страницу как обычный JS;

— добавить настройку customTask, для этого находим ваш код аналитикса на странице, и дописываем строчку:

Что в итоге

Обязательно протестируйте, и отрегулируйте настройки, чтобы iframe успешно находился и обаратывался скриптом. При успешной работе скрипта — вы должны увидеть, что iframe загрузился по url с дописанными GA параметрами.

Если внутри iframe происходят редиректы, которые обрезают GA параметры, то попробуйте включить useAnchor, чтобы использовать анкор вместо query параметра, есть вероятность, что тогда параметры могут сохранится.

Оставить отклик

Ваш адрес эл.почты не будет опубликован.