Интеграция через трекинг-код с помощью Google Tag Manager

  • Обновлено

Интеграция — процесс, в рамках которого вы настраиваете отправку данных о целевых действиях на вашем сайте в систему Admitad.

Целевое действие — это покупка, регистрация, заполненная заявка или другое необходимое вам действие, выполненное пользователем, которого веб-мастер Admitad привлек на ваш сайт.

Общая информация: особенности и рекомендации

  • Приступить к интеграции можно только, если в вашей программе:
    • уже сформирована трекинг-ссылка в разделе «Общие настройки»;
    • уже добавлено целевое действие и настроен тариф для него в разделе «Действия».

Если у вас нет менеджера, то вам нужно самостоятельно сформировать трекинг-ссылку (инструкция), а также добавить хотя бы одно действие и хотя бы один тариф (инструкция).
Если у вас есть личный менеджер, он выполнит все эти настройки за вас.

  • Интеграция — обязательный этап для продолжения работы. Без нее невозможно запустить партнерскую программу в Admitad.

  • Чтобы ускорить интеграцию, рекомендуем привлечь к ее выполнению вашего собственного технического специалиста и передать ему эту инструкцию.

Когда интеграция будет завершена, все данные о целевых действиях — дата действия, ID заказа и его сумма и пр. — будут отправляться в Admitad автоматически.

Что такое трекинг-код и как он работает через Google Tag Manager

Трекинг-код (код отслеживания) — это JavaScript-код, который позволяет регистрировать целевые действия, выполненные пользователями на вашем сайте, и передавать данные по ним на сервер Admitad.

В рамках интеграции через трекинг-код с помощью сервиса Google Tag Manager код интеграции размещается в специальном контейнере этого сервиса, а не на вашем сайте.
Так как Google Tag Manager не является продуктом Admitad и может блокироваться браузерными расширениями, мы рекомендуем установить трекинг-код непосредственно на ваш сайт по этой инструкции.

Как это работает: когда пользователь совершает целевое действие на вашем сайте, в сервисе Google Tag Manager запускается трекинг-код. В этот момент на сервер Admitad отправляется GET-запрос с информацией о целевом действии (номер заказа, сумма заказа, валюта оплаты и другие данные).

В результате полученная информация фиксируется и отображается в разделе «Статистика» в аккаунте Admitad.

Как выполнить интеграцию через трекинг-код с помощью Google Tag Manager

Чтобы интегрировать свой сайт через трекинг-код с помощью Google Tag Manager (GTM), выполните следующие шаги (инструкция по каждому из них представлена ниже):

Как выполнить подготовку для установки трекинг-кода с помощью GTM

Перед установкой трекинг-кода убедитесь, что GTM (https://tagmanager.google.com/) настроен и готов к работе:

  • вы зарегистрировались, настроили аккаунт и установили диспетчер тегов GTM (инструкция);
  • настроили переменные уровня данных (DataLayer), чтобы передавать информацию о целевых действиях (инструкция);
  • вы инициализировали уровень данных (DataLayer) на странице «Спасибо за покупку» (инструкция).

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

  • В примере используется расширенный формат Google Analytics ecommerce.

    <script>
       window.dataLayer = window.dataLayer || [];
       dataLayer.push({
           "transactionId": "sk1006",   // внутренний номер заказа (не более 100 символов)
           "transactionAction": "1",    // код целевого действия (определяется при интеграции)
           "transactionProducts": [{
               "sku": "1354471145550",  // внутренний код продукта (не более 100 символов)
               "tariff": "2",           // код тарифа (определяется при интеграции)
               "price": "300.00",       // цена товара
               "priceCurrency": "RUB",  // код валюты ISO-4217 alfa-3
               "quantity": "2"         // количество товара
           }, {
               "sku": "1354471047246",
               "tariff": "2",
               "price": "500.00",
               "priceCurrency": "USD",
               "quantity": "1"
           }]
       });
    </script>
        

Как установить трекинг-код в GTM

Трекинг-код условно делится на две части: первая отвечает за разметку трафика по модели атрибуции Last Paid Click, который веб-мастера Admitad привлекли на ваш сайт. Вторая — непосредственно за отправку данных о заказе на сервер Admitad.

Эти части размещены в двух тегах:

  • TagTag common — содержит первую часть трекинг-кода и вызывается на всех страницах сайта, кроме страницы «Спасибо за покупку».

  • TagTag conversion — включает в себя обе части трекинг-кода и размещается на странице «Спасибо за покупку».

Чтобы интегрировать свой сайт через трекинг-код с помощью GTM, нужно настроить:

После этого вы сможете опубликовать внесенные изменения.

Настройка триггеров

Чтобы настроить триггеры:

1. На главной странице GTM в боковом меню выберите «Triggers» и на открывшейся странице нажмите «New».

2. В правом верхнем углу нажмите  edit-icon.png и выберите тип триггера — в блоке «Page View» нажмите «DOM Ready».

dom-ready.jpg

3. Выберите опцию «Some DOM Ready Events».

Определите признак страницы «Спасибо за покупку» — укажите следующие условия для активирования триггера:

  • «Page URL»;
  • «contains»;
  • «thank_you» — примерное значение признака, вы можете использовать свой вариант.

trigger-conditions.jpg

В примере на скриншоте признак страницы «Спасибо за покупку» — наличие в URL подстроки «thank_you». Задайте подходящий признак, чтобы триггер срабатывал на странице «Спасибо за покупку» на вашем сайте.

4. В левом верхнем углу окна укажите название триггера — «TagTag conversion». Затем сохраните изменения.

5. После этого создайте еще один триггер — в правом верхнем углу нажмите «New» → edit-icon.png → «DOM Ready» → «Some DOM Ready Events».

6. Укажите следующие условия для активирования триггера — все страницы, кроме страницы «Спасибо за покупку»:

  • «Page URL»;
  • «does not contain»
  • «thank_you» — примерное значение признака, вы можете использовать свой вариант.
    Важно: используйте то же значение, что и при настройке триггера TagTag сonversion.

trigger-conditions2.jpg

7. В левом верхнем углу окна укажите название триггера — «TagTag common». Затем сохраните изменения.

У вас должен получиться следующий список триггеров:

  • TagTag common;
  • TagTag conversion.

Для удобства триггеры имеют те же названия, что и теги, для которых они создаются.

Настройка переменных в GTM

Перед тем как приступить к настройке тегов, добавьте переменные для передачи информации о заказе.

Если у вас уже есть добавленные переменные, убедитесь, что у вас настроены все необходимые переменные. Для этого перейдите к списку рекомендуемых переменных.

Чтобы добавить переменные:

1. На главной странице GTM в боковом меню выберите «Variables» и на открывшейся странице в блоке «User-Defined Variables» нажмите «New».

2. В правом верхнем углу нажмите  edit-icon.png и выберите тип переменных — в блоке «Page Variables» нажмите «Data Layer Variable».

choose-variable.jpg

3. Добавьте переменные в зависимости от вашей категории партнерской программы и условий сотрудничества.

Количество и содержание переменных, которые вам нужно добавить, зависит от набора данных, необходимых для передачи через трекинг-код.

Ниже вы найдете рекомендуемые наборы переменных.

  • Переменная в трекинг-коде Функция переменной
    ADMITAD.Invoice.category

    Код действия.

    Пример:

    • код «1» — для заказа существующего пользователя;
    • код «2» — для заказа нового пользователя.
    positions Массив с информацией о товарах в заказе: ID товара, цена, валюта, количество товаров в заказе.
    orderNumber Номер заказа.
  • Переменная в трекинг-коде Функция переменной
    positions Массив с информацией о товарах в заказе: ID товара, цена, валюта, количество товаров в заказе.
    orderNumber Номер заказа.
  • Под упрощенной схемой подразумевается единоразовая настройка передачи данных через dataLayer с общей суммой и номером заказа без других подробностей о его содержании.

    Переменная в трекинг-коде Функция переменной
    price Сумма заказа.
    orderNumber Номер заказа.
  • Переменная в трекинг-коде Функция переменной
    orderNumber Номер заказа.
    ADMITAD.Invoice.category (действие)

    Код действия.

    Пример:

    • код «1» — заявка на кредит существующего клиента;
    • код «2» — заявка на кредит нового клиента.
    category

    Код тарифа.

    Пример:

    • код «1» — заявка на сумму меньше 100$;
    • код «2» — заявка на сумму от 100$.
  • Если на вашем сайте есть форма заказа в один клик, обязательно убедитесь, что вы выполнили все настройки, необходимые для сайта такого типа. Подробнее

    Переменная в трекинг-коде Функция переменной
    price Цена товара.
    orderNumber Номер заказа.
    productID ID товара.
  • Подробнее об этих дополнительных инструментах см. в этом разделе.

    Переменная в трекинг-коде Функция переменной
    discountCode Уникальный промокод, который применил пользователь (для промокодов Take&Go).
    ADMITAD.Invoice.accountId Уникальный идентификатор пользователя для crossdevice-трекинга. Например, user_id в вашей системе.

Чтобы добавить переменную:

На открывшейся странице заполните поля:

  • Data Layer Variable Name (1) — укажите переменную DataLayer, которая будет передавать значение;
  • Data Layer Version (2) — выберите значение «Version 2»;
  • Untitled Variable (3) — задайте нужное имя переменной в DataLayer.

Затем нажмите «Save».

Добавьте все переменные, рекомендуемые для вашей программы или условий сотрудничества.

save-variables.jpg

Настройка тегов

Чтобы настроить теги TagTag common и TagTag conversion:

1. На главной странице в боковом меню выберите «Tags». Затем на открывшейся странице нажмите «New».

2. Укажите название тега — «TagTag common», и в блоке «Tag Configuration» в правом верхнем углу нажмите edit-icon.png .

3. Затем выберите тип тега — в блоке «Custom» нажмите «Custom HTML».

choose-tag.png

4. Вставьте в открывшееся окно код, представленный ниже.
Обращайте внимание на комментарии в примерах кода. Комментарии добавлены после //.

Обязательно замените в коде значение {your_campaign_code} на значение параметра campaign_code. Вы получите параметр вида: campaign_code=a1b2c3d4e5, где выделенная часть — уникальный номер вашей партнерской программы. Как найти значение параметра campaign_code

  • <script src="https://www.artfut.com/static/tagtag.min.js?campaign_code={your_campaign_code}" async></script>
    <script type="text/javascript">
    // name of the cookie that stores the source
    // change if you have another name
    var cookie_name = 'deduplication_cookie';
    // cookie lifetime
    var days_to_store = 90;
    // expected deduplication_cookie value for Admitad
    var deduplication_cookie_value = 'admitad';
    // name of GET parameter for deduplication
    // change if you have another name
    var channel_name = 'utm_source';
    // a function to get the source from the GET parameter
    getSourceParamFromUri = function () {
      var pattern = channel_name + '=([^&]+)';
      var re = new RegExp(pattern);
      return (re.exec(document.location.search) || [])[1] || '';
    };
    // a function to get the source from the cookie named cookie_name
    getSourceCookie = function () {
      var matches = document.cookie.match(new RegExp(
        '(?:^|; )' + cookie_name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + '=([^;]*)'
      ));
      return matches ? decodeURIComponent(matches[1]) : undefined;
    };
    // a function to set the source in the cookie named cookie_name
    setSourceCookie = function () {
      var param = getSourceParamFromUri();
      var params = (new URL(document.location)).searchParams;
      if (!params.get(channel_name) && params.get('gclid')) { param = 'advAutoMarkup' }
      else if (!params.get(channel_name) && params.get('fbclid')) { param = 'facebook' }
      else if (!param) { return; }
      var period = days_to_store * 60 * 60 * 24 * 1000; // in seconds
      var expiresDate = new Date((period) + +new Date);
      var cookieString = cookie_name + '=' + param + '; path=/; expires=' + expiresDate.toGMTString();
      document.cookie = cookieString;
      document.cookie = cookieString + '; domain=.' + location.host;
    };
    // set cookie
    setSourceCookie();
    </script>
        

5. Нажмите на блок «Triggering», который располагается ниже на этой же странице, и выберите триггер активации «TagTag common».

choose-trigger.png

 

Затем нажмите «Save».

6. После этого добавьте второй тег — в разделе «Tags» нажмите «New» и укажите название «TagTag conversion».

7. В блоке «Tag Configuration» в правом верхнем углу нажмите  edit-icon.png и выберите тип тега — в блоке «Custom» нажмите «Custom HTML».

8. В открывшееся окно вставьте одну из версий кода, представленных ниже.

Обязательно замените в коде значение {your_campaign_code} на значение параметра campaign_code. Вы получите параметр вида: campaign_code=a1b2c3d4e5, где выделенная часть — уникальный номер вашей партнерской программы. Как найти значение параметра campaign_code

  • <script src="https://www.artfut.com/static/tagtag.min.js?campaign_code={your_campaign_code}" async></script>
    <script type="text/javascript">
    // name of the cookie that stores the source
    // change if you have another name
    var cookie_name = 'deduplication_cookie';
    // cookie lifetime
    var days_to_store = 90;
    // expected deduplication_cookie value for Admitad
    var deduplication_cookie_value = 'admitad';
    // name of GET parameter for deduplication
    // change if you have another name
    var channel_name = 'utm_source';
    // a function to get the source from the GET parameter
    getSourceParamFromUri = function () {
      var pattern = channel_name + '=([^&]+)';
      var re = new RegExp(pattern);
      return (re.exec(document.location.search) || [])[1] || '';
    };
    
    // a function to get the source from the cookie named cookie_name
    getSourceCookie = function () {
      var matches = document.cookie.match(new RegExp(
        '(?:^|; )' + cookie_name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + '=([^;]*)'
      ));
      return matches ? decodeURIComponent(matches[1]) : undefined;
    };
    // a function to set the source in the cookie named cookie_name
    setSourceCookie = function () {
      var param = getSourceParamFromUri();
      var params = (new URL(document.location)).searchParams;
      if (!params.get(channel_name) && params.get('gclid')) { param = 'advAutoMarkup' }
      else if (!param) { return; }
      var period = days_to_store * 60 * 60 * 24 * 1000; // in seconds
      var expiresDate = new Date((period) + +new Date);
      var cookieString = cookie_name + '=' + param + '; path=/; expires=' + expiresDate.toGMTString();
      document.cookie = cookieString;
      document.cookie = cookieString + '; domain=.' + location.host;
    };
    // set cookie
    setSourceCookie();
    </script>
    <script type="text/javascript">
    ADMITAD = window.ADMITAD || {};
    ADMITAD.Invoice = ADMITAD.Invoice || {};
    if (!getSourceCookie(cookie_name)) {
      ADMITAD.Invoice.broker = 'na';
    } else if (getSourceCookie(cookie_name) != deduplication_cookie_value) {
      ADMITAD.Invoice.broker = getSourceCookie(cookie_name);
    } else {
      ADMITAD.Invoice.broker = 'adm';
    }
    ADMITAD.Invoice.category = '{{category}}'; // place to set the variable transactionAction
    
    var orderedItem = [];
    
    var positions = {{transactionProducts}};    // place to set the variable transactionProducts
    
    for (i = 0; i < positions.length; ++i) {
       orderedItem.push({
           Product: {
               productID: positions[i]['sku'],
               category: positions[i]['tariff'],
               price: positions[i]['price'],
               priceCurrency: positions[i]['priceCurrency']
           },
           orderQuantity: positions[i]['quantity'],
           additionalType: "sale"
       });
    }
    
    ADMITAD.Invoice.referencesOrder = ADMITAD.Invoice.referencesOrder || [];
    ADMITAD.Invoice.referencesOrder.push({
     orderNumber: '{{orderNumber}}',          // place to set the variable transactionId
    // uncomment the next string if you provide Take&Go promo codes to publishers
    //  discountCode: "{{promocode}}" 
     orderedItem: orderedItem
    });
    
    // Important! If you send data via AJAX or through the one-click order form, uncomment the last string:
    // ADMITAD.Tracking.processPositions();
    
    </script>
        
  • Используйте пример выше, установив код действия константой:

    <script src="https://www.artfut.com/static/tagtag.min.js?campaign_code={your_campaign_code}" async></script>
    <script type="text/javascript">
    // name of the cookie that stores the source
    // change if you have another name
    var cookie_name = 'deduplication_cookie';
    // cookie lifetime
    var days_to_store = 90;
    // expected deduplication_cookie value for Admitad
    var deduplication_cookie_value = 'admitad';
    // name of GET parameter for deduplication
    // change if you have another name
    var channel_name = 'utm_source';
    // a function to get the source from the GET parameter
    getSourceParamFromUri = function () {
      var pattern = channel_name + '=([^&]+)';
      var re = new RegExp(pattern);
      return (re.exec(document.location.search) || [])[1] || '';
    };
    
    // a function to get the source from the cookie named cookie_name
    getSourceCookie = function () {
      var matches = document.cookie.match(new RegExp(
        '(?:^|; )' + cookie_name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + '=([^;]*)'
      ));
      return matches ? decodeURIComponent(matches[1]) : undefined;
    };
    // a function to set the source in the cookie named cookie_name
    setSourceCookie = function () {
      var param = getSourceParamFromUri();
      var params = (new URL(document.location)).searchParams;
      if (!params.get(channel_name) && params.get('gclid')) { param = 'advAutoMarkup' }
      else if (!param) { return; }
      var period = days_to_store * 60 * 60 * 24 * 1000; // in seconds
      var expiresDate = new Date((period) + +new Date);
      var cookieString = cookie_name + '=' + param + '; path=/; expires=' + expiresDate.toGMTString();
      document.cookie = cookieString;
      document.cookie = cookieString + '; domain=.' + location.host;
    };
    // set cookie
    setSourceCookie();
    </script>
    <script type="text/javascript">
    ADMITAD = window.ADMITAD || {};
    ADMITAD.Invoice = ADMITAD.Invoice || {};
    if (!getSourceCookie(cookie_name)) {
      ADMITAD.Invoice.broker = 'na';
    } else if (getSourceCookie(cookie_name) != deduplication_cookie_value) {
      ADMITAD.Invoice.broker = getSourceCookie(cookie_name);
    } else {
      ADMITAD.Invoice.broker = 'adm';
    }
      ADMITAD.Invoice.category = '1';
    
    var orderedItem = [];
    
    var positions = {{transactionProducts}};    // place to set the variable transactionProducts
    
    for (i = 0; i < positions.length; ++i) {
       orderedItem.push({
           Product: {
               productID: positions[i]['sku'],
               category: positions[i]['tariff'],
               price: positions[i]['price'],
               priceCurrency: positions[i]['priceCurrency']
           },
           orderQuantity: positions[i]['quantity'],
           additionalType: "sale"
       });
    }
    
    ADMITAD.Invoice.referencesOrder = ADMITAD.Invoice.referencesOrder || [];
    ADMITAD.Invoice.referencesOrder.push({
     orderNumber: '{{orderNumber}}',          // place to set the variable transactionId
    // uncomment the next string if you provide Take&Go promo codes to publishers
    //  discountCode: "{{promocode}}" 
     orderedItem: orderedItem
    });
    
    // Important! If you send data via AJAX or through the one-click order form, uncomment the last string:
    // ADMITAD.Tracking.processPositions();
    
    </script>
        
  •       <script src="https://www.artfut.com/static/tagtag.min.js?campaign_code={your_campaign_code}" async></script>
    <script type="text/javascript">
    // name of the cookie that stores the source
    // change if you have another name
    var cookie_name = 'deduplication_cookie';
    // cookie lifetime
    var days_to_store = 90;
    // expected deduplication_cookie value for Admitad
    var deduplication_cookie_value = 'admitad';
    // name of GET parameter for deduplication
    // change if you have another name
    var channel_name = 'utm_source';
    // a function to get the source from the GET parameter
    getSourceParamFromUri = function () {
      var pattern = channel_name + '=([^&]+)';
      var re = new RegExp(pattern);
      return (re.exec(document.location.search) || [])[1] || '';
    };
    
    // a function to get the source from the cookie named cookie_name
    getSourceCookie = function () {
      var matches = document.cookie.match(new RegExp(
        '(?:^|; )' + cookie_name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + '=([^;]*)'
      ));
      return matches ? decodeURIComponent(matches[1]) : undefined;
    };
    // a function to set the source in the cookie named cookie_name
    setSourceCookie = function () {
      var param = getSourceParamFromUri();
      var params = (new URL(document.location)).searchParams;
      if (!params.get(channel_name) && params.get('gclid')) { param = 'advAutoMarkup' }
      else if (!param) { return; }
      var period = days_to_store * 60 * 60 * 24 * 1000; // in seconds
      var expiresDate = new Date((period) + +new Date);
      var cookieString = cookie_name + '=' + param + '; path=/; expires=' + expiresDate.toGMTString();
      document.cookie = cookieString;
      document.cookie = cookieString + '; domain=.' + location.host;
    };
    // set cookie
    setSourceCookie();
    </script>
    	<script type="text/javascript">
    ADMITAD = window.ADMITAD || {};
    ADMITAD.Invoice = ADMITAD.Invoice || {};
    if (!getSourceCookie(cookie_name)) {
      ADMITAD.Invoice.broker = 'na';
    } else if (getSourceCookie(cookie_name) != deduplication_cookie_value) {
      ADMITAD.Invoice.broker = getSourceCookie(cookie_name);
    } else {
      ADMITAD.Invoice.broker = 'adm';
    }
    ADMITAD.Invoice.category = '1'; // place to set the variable transactionAction
    
    var orderedItem = [];  // temporary array for product items
    
    // repeat for each item in the cart
    orderedItem.push({
      Product: {
        productID: '1',  // internal item code (up to 100 characters, matches the ID from the product feed)
        category: '1',  
        price: '{{price}}',  // item price (if there is a discount, this is a discounted price)
        priceCurrency: 'USD',  // currency code per ISO-4217 alpha-3
      },
      orderQuantity: '1',  // quantity
      additionalType: 'sale'  // always sale
    });
    
    ADMITAD.Invoice.referencesOrder = ADMITAD.Invoice.referencesOrder || [];
    // adding more items
    ADMITAD.Invoice.referencesOrder.push({
      orderNumber: '{{order number}}',  // order ID from your CMS (up to 100 characters)
     // discountCode: '{{promocode}}',  // promo code; this parameter is required if you provide Take&Go promo codes to publishers
      orderedItem: orderedItem
    });
    
    // Important! If you send data via AJAX or through the one-click order form, uncomment the last string:
    // ADMITAD.Tracking.processPositions();
    
    </script>
        
  • <script src="https://www.artfut.com/static/tagtag.min.js?campaign_code={your_campaign_code}" async></script>
    <script type="text/javascript">
    // name of the cookie that stores the source
    // change if you have another name
    var cookie_name = 'deduplication_cookie';
    // cookie lifetime
    var days_to_store = 90;
    // expected deduplication_cookie value for Admitad
    var deduplication_cookie_value = 'admitad';
    // name of GET parameter for deduplication
    // change if you have another name
    var channel_name = 'utm_source';
    // a function to get the source from the GET parameter
    getSourceParamFromUri = function () {
      var pattern = channel_name + '=([^&]+)';
      var re = new RegExp(pattern);
      return (re.exec(document.location.search) || [])[1] || '';
    };
    
    // a function to get the source from the cookie named cookie_name
    getSourceCookie = function () {
      var matches = document.cookie.match(new RegExp(
        '(?:^|; )' + cookie_name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + '=([^;]*)'
      ));
      return matches ? decodeURIComponent(matches[1]) : undefined;
    };
    // a function to set the source in the cookie named cookie_name
    setSourceCookie = function () {
      var param = getSourceParamFromUri();
      var params = (new URL(document.location)).searchParams;
      if (!params.get(channel_name) && params.get('gclid')) { param = 'advAutoMarkup' }
      else if (!param) { return; }
      var period = days_to_store * 60 * 60 * 24 * 1000; // in seconds
      var expiresDate = new Date((period) + +new Date);
      var cookieString = cookie_name + '=' + param + '; path=/; expires=' + expiresDate.toGMTString();
      document.cookie = cookieString;
      document.cookie = cookieString + '; domain=.' + location.host;
    };
    // set cookie
    setSourceCookie();
    </script>
    <script type="text/javascript">
    ADMITAD = window.ADMITAD || {};
    ADMITAD.Invoice = ADMITAD.Invoice || {};
    if (!getSourceCookie(cookie_name)) {
      ADMITAD.Invoice.broker = 'na';
    } else if (getSourceCookie(cookie_name) != deduplication_cookie_value) {
      ADMITAD.Invoice.broker = getSourceCookie(cookie_name);
    } else {
      ADMITAD.Invoice.broker = 'adm';
    }
    ADMITAD.Invoice.category = '1'; 
    
    var orderedItem = []; // temporary array for product items
    
    
    // repeat for each item in the cart
    orderedItem.push({
      Product: {
        category: '1',
        price: '1',
        priceCurrency: 'USD',  // currency code per ISO-4217 alpha-3
      },
      orderQuantity: '1',
      additionalType: 'sale'  // always sale
    });
    
    ADMITAD.Invoice.referencesOrder = ADMITAD.Invoice.referencesOrder || [];
    // adding more items
    ADMITAD.Invoice.referencesOrder.push({
      orderNumber: '{{order number}}',  // order ID from your CMS (up to 100 characters)
     //  discountCode: '{{promocode}}',  // promo code; this parameter is required if you provide Take&Go promo codes to publishers
      orderedItem: orderedItem
    });
    
    // Important! If you send data via AJAX or through the one-click order form, uncomment the last string:
    // ADMITAD.Tracking.processPositions();
    
    </script>
        

9. Замените переменные из шаблона на соответствующие переменные из раздела «Variables» (боковое меню в интерфейсе аккаунта GTM).

Для этого для переменных из трекинг-кода укажите переменные, которые вы использовали в своем варианте кода.

Например: orderNumber:{{название вашей переменной в GTM}}.

10. Сохраните изменения.

save-tag.png

 

Как выполнить дополнительные настройки

Если вам не нужны дополнительные настройки и инструменты, перейдите к следующему шагу.

Кроме стандартных настроек, вы можете добавить следующие:

Настройки трекинга для сайта с формой заказа в один клик

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

1. Настройте событие (event) в dataLayer GTM по инструкции. В этом параметре должны быть записаны:

  • данные о товаре, на странице которого оформляется заказ;
  • уникальный номер этого заказа.

Ниже — пример кода, структура вашего dataLayer может отличаться.

  • window.dataLayer = window.dataLayer || [];
    window.dataLayer.push({
      "event": "orderPlaced",
      "price": productPrice,
      "id": "productId",
      "orderId": orderNumber
    });
        

2. Установите триггер, который будет вызываться в момент события «Заказ в 1 клик». Укажите следующие условия для активирования триггера:

  • «Event»;
  • «equals»;
  • «orderPlaced» — примерное значение признака, вы можете использовать свой вариант.

trigger-1click.png

После этого в левом верхнем углу добавьте название — «1click conversion», и сохраните изменения.

3. Добавьте следующие переменные в GTM, которые будут передавать информацию о заказе из dataLayer.

Переменная в трекинг-коде Функция переменной
price Цена товара.
orderNumber Номер заказа.
productID ID товара.
  • Поочередно добавьте все переменные:

    3.1 Перейдите в раздел «Variables» и в блоке «User-Defined Variables» в правом верхнем углу нажмите «New».

    3.2 На открывшейся странице в правом верхнем углу нажмите edit-icon.png.

    3.3 В блоке «Page Variables» выберите переменную «Data Layer Variable».

    3.4 На открывшейся странице заполните следующие поля:

    • Data Layer Variable Name — введите «1cItemPrice».
    • Data Layer Version — убедитесь, что в поле выбрано значение «Version 2».

    После этого укажите название переменной «price» и сохраните изменения.

    Затем добавьте оставшиеся две переменные, используя нужные для этого данные.

    1click.png

4. Добавьте тег «1click conversion», тип тега — «Custom HTML».

  • 4.1 На главной странице в боковом меню выберите «Tags». Затем на открывшейся странице нажмите «New».

    4.2 Укажите название тега — «1click conversion», и в блоке «Tag Configuration» в правом верхнем углу нажмите  edit-icon.png.

    4.3 Затем выберите тип тега — в блоке «Custom» нажмите «Custom HTML».

    Затем вставьте в открывшееся окно код, представленный ниже.

    • <script type="text/javascript">
      ADMITAD = window.ADMITAD || {};
      ADMITAD.Invoice = ADMITAD.Invoice || {};
      if (!getSourceCookie(cookie_name)) {
        ADMITAD.Invoice.broker = 'na';
      } else if (getSourceCookie(cookie_name) != deduplication_cookie_value) {
        ADMITAD.Invoice.broker = getSourceCookie(cookie_name);
      } else {
        ADMITAD.Invoice.broker = 'adm';
      } // identification of the paid traffic source if deduplication is set
      ADMITAD.Invoice.category = '1'; 
      
      var orderedItem = [];  // temporary array for product items
      
      orderedItem.push({
        Product: {
          productID: '{{1cProductId}}',  // internal item code (up to 100 characters, matches the ID from the product feed)
          category: '1',  // target action rate code
          price: '{{1cItemPrice}}',  // item price (if there is a discount, this is a discounted price)
          priceCurrency: 'USD',  // currency code per ISO-4217 alpha-3
        },
        orderQuantity: '1',  // quantity
        additionalType: 'sale'  // always sale
      });
      
      ADMITAD.Invoice.referencesOrder = ADMITAD.Invoice.referencesOrder || [];
      ADMITAD.Invoice.referencesOrder.push({
        orderNumber: '{{1cOrderNumber}}',  // order ID from your CMS (up to 100 characters)
        orderedItem: orderedItem
      });
      
      ADMITAD.Tracking.processPositions();
      
        </script>
              

5. Установите для этого тега соответствующий триггер — нажмите на блок «Triggering», который располагается ниже на этой же странице, и выберите триггер активации «1click conversion».

Затем сохраните изменения.

save-1click.png

Готово, трекинг-код для отслеживания заказов в один клик добавлен в контейнер на вашем сайте.

Настройка передачи промокодов Take&Go

Промокоды Take&Go — это промокоды, которые содержат уникальное кодовое слово. По этому слову отслеживаются целевые действия. Такие промокоды закрепляются за конкретными веб-мастерами. Подробнее о промокодах Take&Go


Чтобы использовать промокоды Take&Go:

1. Добавьте новую переменную «promocode» и свяжите ее с переменной уровня данных «transactionPromocode».

  • 1.1 Перейдите в раздел «Variables» и в блоке «User-Defined Variables» в правом верхнем углу нажмите «New».

    1.2 На открывшейся странице в правом верхнем углу нажмите edit-icon.png.

    1.3 В блоке «Page Variables» выберите переменную «Data Layer Variable».

    1.4 На открывшейся странице заполните следующие поля:

    • Data Layer Variable Name — введите «transactionPromocode».
    • Data Layer Version — убедитесь, что в поле выбрано значение «Version 2».

    После этого укажите название переменной «promocode» и сохраните изменения.

    variable-promocode.png

2. В боковом меню выберите «Tags» и добавьте созданную переменную в тег конверсии.

Для этого нажмите «TagTag conversion» и обновите код в открывшемся окне конфигурации.

  • // добавление товарных позиций к заказу
    ADMITAD.Invoice.referencesOrder.push({
      orderNumber: "{{orderNumber}}", // внутренний номер заказа (не более 100 символов)
    //  discountCode: "{{promocode}}",  //  код уникального промокода
      orderedItem: orderedItem

Затем сохраните изменения.

Готово, трекинг-код для отслеживания заказов с промокодом Take&Go добавлен в контейнер на вашем сайте.

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

Настройка передачи уникального идентификатора пользователя в рамках Crossdevice-трекинга

Crossdevice-трекинг позволяет отслеживать целевые действия, совершенные пользователем с разных устройств. Подробнее


Crossdevice-трекинг настроен по умолчанию.

Когда пользователь посещает сайт рекламодателя, Admitad собирает уникальный анонимный профиль пользователя. Если пользователь совершает целевое действие, Admitad сопоставляет данные в рамках профиля и, при наличии admitad_uid, регистрирует целевое действие.

Вы можете явно передавать уникальный идентификатор пользователя в объекте уровня данных dataLayer. С помощью уникального идентификатора целевое действие будет корректно зарегистрировано, даже если пользователь переходит по партнерской ссылке и совершает действие на разных устройствах.

Уникальным идентификатором может быть:

  • email пользователя;
  • или логин пользователя, зарегистрированного на вашем сайте.

Уникальный идентификатор пользователя имеет приоритет над анонимным профилем: если в трекинг-коде указан accountId, то в запросе будет передаваться указанный вами идентификатор, а не данные анонимного профиля.

Чтобы получать эти данные:

1. Передайте идентификатор пользователя в объект уровня данных dataLayer.

  •   dataLayer.push({
           "transactionCustomer": "customer@email.com";     // e-mail пользователя
    
       });
        

Admitad не хранит значение этого параметра и не пересылает его в открытом виде.


2. Добавьте новую переменную «accountID» и свяжите ее с переменной уровня данных «transactionCustomer».

  • 2.1 Перейдите в раздел «Variables» и в блоке «User-Defined Variables» в правом верхнем углу нажмите «New».

    2.2 На открывшейся странице в правом верхнем углу нажмите edit-icon.png.

    2.3 В блоке «Page Variables» выберите переменную «Data Layer Variable».

    2.4 На открывшейся странице заполните следующие поля:

    • Data Layer Variable Name — введите «transactionCustomer».
    • Data Layer Version — убедитесь, что в поле выбрано значение «Version 2».

    После этого укажите название переменной «accountId» и сохраните изменения.

    account-id.png

3. Перейдите в раздел «Tags» и нажмите «TagTag conversion», чтобы открыть окно конфигурации тега. Между строками с параметрами ADMITAD.Invoice.broker и ADMITAD.Invoice.category добавьте строку:

ADMITAD.Invoice.accountId = '{{accountId}}';    // место подстановки переменной

Затем сохраните изменения.

4. Нажмите «TagTag common», чтобы открыть окно конфигурации тега, и в открывшееся окно конфигурации тега добавьте строчку:

ADMITAD.Invoice.accountId = '{{accountId}}';    // место подстановки переменной


Затем сохраните изменения.

Готово, трекинг-код для передачи уникальных параметров пользователей добавлен в контейнер на вашем сайте.

Как опубликовать изменения

После настройки триггеров, переменных и тегов нужно сохранить версию трекинг-кода и опубликовать изменения в GTM.

Для этого:

1. На главной странице в правом верхнем углу нажмите «Submit».

2. Укажите название версии трекинг-кода, добавьте комментарий, если требуется, и нажмите «Publish».

Готово, интеграция через трекинг-код с помощью GTM завершена.

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

publish.png

 

Как тестировать интеграцию после настройки

Чтобы протестировать передачу промокодов Take&Go, перейдите в этот раздел.

1. Скопируйте ссылку для тестирования из личного кабинета. Как найти тестовую ссылку

2. Перейдите по тестовой партнерской ссылке на ваш сайт. Убедитесь, что в строке адреса есть все необходимые вам GET-параметры и UTM-метки.

3. Выполните целевое действие на сайте (например, совершите покупку товара).

4. Перейдите в свой личный кабинет Admitad → «Статистика» → «По действиям» и проверьте, что в статистике корректно отображается целевое действие и данные по нему:

  • название целевого действия в колонке «Тариф» в статистике соответствует названию этого действия в разделе «Действия»;
  • ID действия в колонке «ID заказа» соответствует ID действия в вашей системе;
  • сумма заказа в Admitad соответствует сумме тестового заказа.

statistics.png

5. Убедитесь, что можете найти тестовый заказ в своей CMS-системе по значению orderNumber — по нему в дальнейшем будет проводиться сверка.

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

Если все прошло успешно, поздравляем, тестирование завершено.

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

6. Сообщите специалисту Admitad об окончании тестирования — программа будет поставлена на подготовку к запуску.

Как протестировать интеграцию после настройки передачи промокодов Take&Go

1. Убедитесь, что промокод Take&Go добавлен в систему. Подробнее

2. Очистите cookie браузера и оформите заказ по прямой ссылке, использовав добавленный в систему промокод.

3. Перейдите в свой личный кабинет Admitad → «Статистика» → «По действиям» и проверьте, что в статистике корректно отображается целевое действие и данные по нему:

  • название целевого действия в колонке «Тариф» в статистике соответствует названию этого действия в разделе «Действия»;
  • ID действия в колонке «ID заказа» соответствует ID действия в вашей системе;
  • сумма заказа в Admitad соответствует сумме тестового заказа.

statistics.png

4. Убедитесь, что можете найти тестовый заказ в своей CMS-системе по значению orderNumber — по нему в дальнейшем будет проводиться сверка.

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

Если все прошло успешно, поздравляем, тестирование завершено.

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

5. Сообщите специалисту Admitad об окончании тестирования — программа будет поставлена на подготовку к запуску.

Возможные проблемы при тестировании

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

Проблема Возможное решение
Трекинг-код не срабатывает — нет запросов на вкладке «Network» браузера.

Неверно подключен скрипт.

Выполните действия по инструкции в разделе «Интеграция через трекинг-код с помощью Google Tag Manager».

Скрипт не срабатывает. Есть ошибки в консоли браузера.

Выполните действия по инструкции в разделе «Интеграция через трекинг-код с помощью Google Tag Manager».

Проверьте синтаксис JavaScript в тегах «TagTag common» и «TagTag conversion».

Скрипт срабатывает. Ошибок в консоли браузера нет.

Действие в статистике не появилось.

Параметр campaign_code имеет неверное значение или отсутствует.
Перепроверьте значение параметра campaign_code и при необходимости замените его в коде (инструкция).

Скрипт срабатывает. Ошибок в консоли браузера нет.

Параметр campaign_code имеет верное значение. Заказ в статистике не появился.

Чтобы выявить ошибку, перейдите в журнал запросов (Программа → Интеграция → Журнал запросов). Текст ошибки указан в поле «Результат».

Исправьте ошибку и проведите повторный тест.

Скрипт срабатывает. Ошибок в консоли браузера нет.

Параметр campaign_code имеет верное значение. Ошибок в разделе «Журнал запросов» нет. Действие в статистике не появилось.

На стороне Admitad временные технические ограничения (задержка логов). Проверьте, появилось ли действие через час.

Скрипт срабатывает. Ошибок в консоли браузера нет.

Параметр campaign_code имеет верное значение. Ошибок в разделе «Журнал запросов» нет. Через час действие в статистике не появилось.

Обратитесь за помощью к специалисту Admitad.

FAQ

Где найти значение параметра campaign_code?

1. В личном кабинете перейдите в раздел «Интеграция» (Программа → Интеграция).

2. Затем нажмите «Далее» и на странице «Способы интеграции» переключитесь на вкладку «Кастомная интеграция».

3. На вкладке «Кастомная интеграция» выберите «Tracking code GTM» и нажмите «Далее».

4. Значение параметра campaign_code представлено в таблице в верхней части экрана (блок «Настройка интеграции: уникальные значения параметров для вашей программы»).

1. В личном кабинете перейдите в раздел «Интеграция» (Программа → Интеграция).

2. Затем нажмите «Далее» и на странице «Способы интеграции» переключитесь на вкладку «Кастомная интеграция».

3. На вкладке «Кастомная интеграция» выберите «Tracking code GTM» и нажмите «Далее».

4. Блок «Тестирование интеграции» расположен в нижней части экрана.

Была ли эта статья полезной?