Подключение пикселя партнерки через GTM

Недавно столкнулся с задачей интеграции партнерки на сайт, используя Google Tag Manager. По сути ничего сложного — нужно загрузить один пиксель на всех страницах сайта и второй пиксель на целевое действие пользователя, в данном случае на отправку формы. Нюанс лишь в том, что нужно учитывать атрибуцию трафика: партнерка работает по модели «Last Paid Click». Это означает что при повторных посещениях с бесплатных источников трафика, пиксель партнерки все равно должен сработать при отправке формы. Решения не нагуглилось, поэтому опишу подробнее. 

  1. Создаем переменную в которую будет записываться значение метки utm_source                                                     
  2. Аналогично созадим переменнную с идентификатором партнерки, в данном случае это click_id 
  3. Создаем тег типа Custom HTML в котором запишем в куку значением из utm_source 
    <script>
    var cookieName = "utm_source";
    var cookieValue = {{utm_source}};
    var cookiePath = "/";
    var expirationTime = 2592000; // 1 месяц в секундах
    expirationTime = expirationTime * 1000; // конвертация в миллисекунды
    var date = new Date();
    var dateTimeNow = date.getTime();
    date.setTime(dateTimeNow + expirationTime);
    var expirationTime = date.toUTCString();
    document.cookie = cookieName+"="+cookieValue+"; expires="+expirationTime+"; path="+cookiePath;
    </script>
    В качестве триггера выбираем pageview с дополнительным условием utm_source не должно быть равно значению undefined
  4. Создаю аналогичный тег с идентификатором партнерки 
    <script>
    var cookieName = "click_id";

    var cookieValue = {{click_id cityads url}};
    var cookiePath = "/";
    var expirationTime = 2592000; // 1 месяц в секундах
    expirationTime = expirationTime * 1000; // конвертация в миллисекунды
    var date = new Date();
    var dateTimeNow = date.getTime();
    date.setTime(dateTimeNow + expirationTime);
    var expirationTime = date.toUTCString();
    document.cookie = cookieName+"="+cookieValue+"; expires="+expirationTime+"; path="+cookiePath;
    </script>
    Триггер pageview с дополнительным условием что переменная utm_source равна cityads.
  5. Теперь нам нужно создать еще две переменные click_id и utm_source только значения они должны брать не из url а из созданных нами кук. Переменная типа 1st-Party Cookie ставим имена созданных нами кук
  6. Остается загрузить пиксель на целевое действие. Тег также Custom HTML. Код пикселя даст ваш менеджер в партнерке. В этот код подставляется значение переменной из предыдущего шага с идентификатором партнерки. Триггером служит pageview с дополнительными условиями Page URL равно посадочной странице куда пользователь попадает после успешной отправки формы, и значение utm_source из переменной из куки равно cityads

Таким образом получается что при первом входе на сайт с метками партнерки, их значение запишется в куки. Если пользователь впоследствии придет с другого источника с иными метками, то значение utm_source в куке обновится и тогда при отправке формы пиксель не загрузится. Тоже самое произойдет если срок действия куки истечет.

Если же пользователь придет на сайт без меток, то кука utm_source не будет перезаписана и тогда при отправке формы пиксель будет загружен.

В следующем посте расскажу как аналогичную задачу для ecom магазина решал через отправку postback запросов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *