Настройка электронной торговли (e-commerce) Google Analytics в Google Tag Manager

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

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

Настройки представления Google Analytics

Настройки представления Google Analytics

Затем в нижней части страницы найдите блок Отслеживание электронной торговли и включите отслеживание переведя переключатель в положение ВКЛ:

Включение отслеживания электронной торговли в Google Analytics

Включение отслеживания электронной торговли в Google Analytics

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

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

Приступаем к настройке e-commerce или электронной торговли в Google Tag Manager.

Для того, чтобы в Google Tag Manager попали сведения о выполненной покупке необходимо использовать уровень данных или dataLayer (что такое dataLayer?) и определенную структуру для передачи сведений.

Предположим, наша страница завершения покупки называется thanks.html. На ней необходимо разместить следующий код на JavaScript передающий данные о покупке в Googlе Tag Manager:

Важно! Этот код должен быть размещен до загрузки контейнера Google Tag Manager:

Разберем параметры электронной торговли передаваемые в Google Tag Manager.

Фрагмент приведенный выше взят из документации на русском языке по Google Tag Manager. На момент написания этого материала в ней имеются ошибки в переводе, по этой причине прокомментирую код:

  • transactionId – идентификатор транзакции *;
  • transactionAffiliation – название магазина где была осуществлена продажа;
  • transactionTotal – общая сумма транзакции *;
  • transactionTax – сумма налога;
  • transactionShipping – стоимость доставки;
  • transactionProducts – описывает товары в транзакции
    • sku – артикул товара *;
    • name – название товара *;
    • category – категория, тип или вид товара;
    • price – стоимость *;
    • quantity – количество *.

* отмечены обязательные позиции.

Несколько слов об обязательных полях. Если сравнить стандартные функции отслеживания электронной торговли в Google Analytics и Universal Analytics, можно увидеть разницу в количестве обязательных параметров. Для Universal Analytics не являются обязательными sku, price и quantity. Аналогичная ситуация и при использовании Measurement Protocol. Мое мнение, что лучше указать все возможные параметры, чтобы иметь  более полную информацию при работе с отчетами.

Часто возникает вопрос откуда взять данные о стоимости, артикуле, названии товара, идентификаторе транзакции и другим полям? Для ответа на этот вопрос пообщайтесь с разработчиками вашего сайта, расскажите им что и где необходимо разместить на сайте.

После того, как будет настроена передача данных с помощью dataLayer, необходимо настроить тег, который будет передавать данные о транзакции в Google Analytics.

Создайте новый тег типа Google Analytics или Universal Analytics, укажите для него тип отслеживания транзакция:

Google Tag Manager тип тега транзакция

Google Tag Manager тип тега транзакция

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

Для идентификации страницы (для нашего примера) используйте триггер:

Срабатывание тега Google Tag Manager

Срабатывание тега Google Tag Manager

После этого сохраните тег, создайте версию и опубликуйте ее.

Собранные данные об электронной коммерции начнут поступать в Google Analytics. Возможно для того, чтобы сведения появились в отчетах понадобится некоторое время.

На этом настройка классической версии e-commerce или электронной торговли в Google Tag Manager завершена. Если вам необходима информация о расширенной электронной торговле, ознакомьтесь с материалами из соответствующего раздела.

Кейсы и инструкции по настройке в вашем ящике. Подпишитесь сейчас!

78 комментария(ев) к “Настройка электронной торговли (e-commerce) Google Analytics в Google Tag Manager

  1. А как быть, если нет страницы последней странички в html, а выскакивает всплывашка? Можно ли настроить правило активации тэга по нажатию кнопки (к примеру “оформить заказ”) непосредственно перед всплывающим окном?

    • Добрый вечер, Антон!
      Настроить отправку данных о транзакции можно и по нажатию на кнопку. Для этого нужно передать данные через dataLayer в GTM, после чего активировать тег с типом “транзакция”. Для настройки используйте правила активации тега после нужного вам события

      • Иван, у нас подобная ситуация, как и у Антона – заказ оформляется во всплывающем окне. Код e-commerce разместили на последнем этапе “Спасибо за покупку” так как только на этом шаге заказу присваивается уникальный код, который идет как код транзакции, а активировать правило могу только по отслеживанию заполнение формы заказа, но оно на предыдущем этапе (через id, classes и тексты не активируется правило) и данные в Analytics не поступают… Как можно решить эту проблему?

      • Юлия, чтобы ответить на Ваш вопрос нужно посмотреть на сам процесс оформления покупки в действии

  2. Здравствуйте, Иван!
    У меня уже загружен контейнер GTM.
    Я хочу настроить e-commerce. У меня готов скрипт на странице покупки.

    Исходя из ваших рекомендаций, сначала мне нужно удалить контейнер, затем загрузить скрипт на нужную страницу, затем заново вставить контейнер?

    Подскажите пожалуйста! Не могу разобраться

    • Добрый день, Ева!
      Мне сложно сказать не видя Ваш сайт, что и как в Вашем конкретном случае нужно сделать. Общая схема – разместить dataLayer до GTM, настроить активацию тега “транзакция” на нужную страницу/событие

      • Сергей 29.08.2014 в 13:08 -

        Ева, не надо ничего удалять. Чтобы корректно всё работало, добавьте в условие активации тега отслеживания транзакций условие наступления события ({{event}} = gtm.dom. DOM – это сокращение от Document Object Model. По-русски -объектная модель документа. Условие говорит о том, что тег tag manager (простите за тавтологию), будет активизироваться после загрузки ВСЕХ элементов страницы. Соответственно, при таком условии datalayer можно размещать в любом месте страницы. Ничего стирать не надо и ничего изобретать с шаблонами для CMS тоже не надо.

  3. Добрый день. Меня тоже интересует вопрос, который пришел от Евы. Мне дать Вам название сайта или что-то может быть почитать чтоб понять что делать и как включить отслеживание e-commerce.?

    • Все зависит от логики работы Вашего сайта. Общий порядок описан в материале, попробуйте реализовать его с теми, кто разрабатывал для Вас сайт. К сожалению временем для разбора частных случаев – я не располагаю, только если не выполняю настройку в рамках оказания услуг

  4. Здравствуйте, Иван!
    В принципе, суть настройки ecommerce мне ясна. Хотелось бы узнать только такую штуку: откуда берутся значения для параметров? Поясню вопрос: в Вашем примере стоит
    ‘transactionAffiliation’: ‘Acme Clothing’,
    ‘transactionTotal’: ’11.99′,
    Откуда берется Acme Clothing и 11.99? И если это автоматически подтягивается при завершении покупки, что тогда нужно ставить на конечную страницу, в нашем случае – thank-you.html? Не ставить же туда код с уже указанными параметрами.

    • Добрый день, Кристина!
      Эти параметры берутся из Вашей системы управления сайтом. Это динамические параметры, обратитесь за помощью к разработчикам сайта – они Вам подскажут, как конкретно в Вашем случае получить нужные значения

  5. Иван, вы настраивали транзакции для сайта? Как это делается? В нашем Интернет-магазине установлен код отслеживания статистики Universal Google Analytics. Не могу настроить отслеживание электронной торговли в Интернет-магазине. Чтобы в аккаунте Google Analytics в разделе “Транзакции” начали отображаться данные про оформленные заказы, заказанные товары и т.д. Готова заплатить, чтобы вы помогли разобраться.

  6. Иван, подскажите, пожалуйста.
    если dataLayer должен быть размещен выше GTM, то где именно его прописывать? в body? или перед ?

    заранее благодарю за ответ.

    • @Ольга, не принципиально, я не встречал проблем. Обратите внимание на то, что синтаксис для dataLayer при вызове до кода GTM и после немного отличается

      • Настя 01.12.2014 в 20:06 -

        Подскажите, пожалуйста, каким образом отличается синтаксис для dataLayer при вызове до кода GTM и после? Не встречала информации по этому поводу. Думала, что отличие только в наличии доп. условия gtm.dom.

      • До кода GTM вы создаете объект и описываете его, после GTM нужно отправлять данные в объект с помощью конструкции push.

  7. Добрый день, Иван! А Вы могли бы прислать пример ТЗ на установку dataLayer. Был бы очень благодарен.)

  8. Добрый день! У вас написано что для транзакции нужно вставить следующий код:
    dataLayer = [{
    ‘transactionId’: ’1234′,
    ‘transactionAffiliation’: ‘Acme Clothing’,
    ‘transactionTotal’: ’11.99′,
    ‘transactionTax’: ’1.29′,
    ‘transactionShipping’: ’5′,
    ‘transactionProducts’: [{
    'sku': 'DD44',
    'name': 'T-Shirt',
    'category': 'Apparel',
    'price': '11.99',
    'quantity': '1'
    }]
    }];

    Но он почему-то не работает.

    И тут ещё я наткнулся на следующее руководство от гугла:
    https://developers.google.com/tag-manager/enhanced-ecommerce?hl=ru
    Тут гугл пишет, что нужен следующий код:

    // Product impressions are sent by pushing an impressions object
    // containing one or more impressionFieldObjects.
    dataLayer.push({
    ‘ecommerce’: {
    ‘currencyCode’: ‘EUR’, // Local currency is optional.
    ‘impressions’: [
    {
    'name': 'Triblend Android T-Shirt', // Name or ID is required.
    'id': '12345',
    'price': '15.25',
    'brand': 'Google',
    'category': 'Apparel',
    'variant': 'Gray',
    'list': 'Search Results',
    'position': 1
    },
    {
    'name': 'Donut Friday Scented T-Shirt',
    'id': '67890',
    'price': '33.75',
    'brand': 'Google',
    'category': 'Apparel',
    'variant': 'Black',
    'list': 'Search Results',
    'position': 2
    }]
    }
    });

    Кому верить?

    Вставляю конструкцию от гугла
    dataLayer.push(…)
    Оказывается что нужно отдельно создать переменную dataLayer

    Прокомментируйте пожалуйста данную ситуацию?
    Как вы настраиваете расширенную эл.коммерцию через ГТМ?

    • Обе конструкции верные, вопрос в том, в какой момент они встречаются в коде – до или после кода GTM. Расширенную торговлю настраиваю через GTM путем дополнения исходного кода страниц специальными командами описывающими dataLayer, затем передаю данные в GA через определенные теги

      • Антон 10.02.2016 в 16:35 -

        Иван, день добрый, я правильно понимаю что ваш вариант кода уровня данных нужно вставлять ДО контейнера GTM (и он сформирует/добавит данные уже на этапе загрузки страницы), а вариант который был в комментарии выше от Гугла – вставляется ПОСЛЕ кода GTM и он вставляет методом пуш, то есть к примеру на onclick и пуши не срабатывают при загрузке кода, а только после определенных действий – тех же онкликов?

      • Антон, общее правило – ДО кода Google Tag Manager “определяем”, ПОСЛЕ кода, используем push(). Посмотрите вот этот материал, возможно окажется полезным

      • Валерий 08.03.2016 в 23:14 -

        Иван, это говорит о том, что данный аспект в Вашей статье освещен однобоко. Лучше приводить сразу два примера: вариант до TGM и вариант после TGM, имхо

      • Валерий, мои материалы не претендуют на полноту освещения вопроса со всеми нюансами и т.п. Я стараюсь показать направление, в котором может быть решена задача, поделиться своим опытом решения, но я не ставлю цель подготовки исчерпывающих руководств по типу “скопировал и заработало”. Для описанного Вами случая, как и где правильно определять уровень данных необходимо понимание что это такое и как реализовано технически, тогда многие вопросы саами по себе отпадают. Помимо этого про уровень данных я писал ранее, более подробно.

  9. Здравствуйте,
    Подскажите, пожалуйста! В документации по настройке Ecommerce для Universal Analytics сказано следующее:

    “Чтобы загрузить плагин электронной торговли, используйте следующую команду:

    ga(‘require’, ‘ecommerce’);”

    У меня сейчас стоит Google Tag Manager и указанной выше строчки в коде GA не было. Нужно ли ее добавлять в код GA и если да, то каким образом это сделать через Google Tag Manager.

    Спасибо!

    • Андрей, в Google Tag Manager для этого есть блок настроек Функции электронной торговли в Дополнительных настройках тега типа Universal Analytics

  10. Спасибо!
    Но как быть с Корзиной. Допустим, товар из нее удаляется, при этом страница не меняется.
    Как подгрузить данные в Data Layer?

    • Смотря что Вы имеете ввиду, если этап до фиксации транзакции, то ничего делать не нужно, просто в момент фиксации транзакции передавайте фактическое содержимое корзины. Если после отправки данных в GA, то нужно использовать отрицательные значения в транзакции для ее изменения. Как вариант работы с корзиной посмотрите на расширенную торговлю.

  11. Здравствуйте.
    Такой вопрос: Как настроить e-commerce при условии, что процесс заказа на сайте не линеен?
    Одно дело, когда у тебя есть ряд шагов, по которым можно посчитать промежуточную и итоговую конверсию, а другое – когда при разных условиях у тебя разные шаги и разная последовательности…
    Например при выборе – самовывоз у тебя одна форма заказа, при доставке другая, при покупке в 1 клик третья, при покупке в кредит – четвёртая, при оплате на любом из шагов пятая и т.д.

    • Я бы посоветовал для каждого варианта построить свои воронки, а с помощью виртуальных страниц постараться реализовать общую схему объединяющую все варианты

  12. Иван добрый день,

    Подскажется будет ли работать такая конструкция:

    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-P8XR');

    dataLayer.push({
    'transactionId': '1234',
    'transactionAffiliation': 'Acme Clothing',
    'transactionTotal': 38.26,
    'transactionTax': 1.29,
    'transactionShipping': 5,
    'transactionProducts': [{
    'sku': 'DD44',
    'name': 'T-Shirt',
    'category': 'Apparel',
    'price': 11.99,
    'quantity': 1
    },{
    'sku': 'AA1243544',
    'name': 'Socks',
    'category': 'Apparel',
    'price': 9.99,
    'quantity': 2
    }]
    });

    Т.е. мне нужно на thank you page отправить данные уже после блока иницализации GTM. Будет ли такое работать?
    Спасибо!

    • Я не вижу тут каких-то ошибок. А Вы проверили в отладчике какие данные содержатся в GTM на различных этапах?

      • Тут проблема в том, что по документации dataLayer должен быть строго ДО кода инициализации GTM.

        Вроде как еще написано, что можно сделать так, но надо еще добавить условие gtm.dom дождаться загрузки DOM.

        Но пока не работает :)

      • Николай, dataLayer можно использовать как ДО так и ПОСЛЕ кода GTM, разница в описании

  13. Подскажите, а что надо ставить в коде вместо строк 1234, 38.26, 1.29, AA1243544?
    Как передвавать значения о товаре со страницы сайта?

  14. Интересная статья, но мне кажется, что проще настраивать просто цели, после выполненной покупки пользователь оказывается на определенной странице и это будет отображено в целях. Или я ошибаюсь и в данных настройках есть какие-то другие инструменты более эффективные? Чем вообще настройка целей в аналитикс отличается от э.торговли Tag Manager?
    Спасибо за ответ заранее!

    • Алексей, Google Tag Manager это инструмент для настройки Google Analytics, сравнивать их нельзя, у них разные задачи

  15. Иван, подскажите, пжл, этот код http://c2n.me/3jUW7N1.png отправит данные о заказе, если был куплен только один товар? просто там поле (на скрине в красной рамке) вроде только для одного товара или я не правильно понял?

    • Александр, пока что эти данные только в dataLayer, чтобы они “ушили” в Google Tag Manager, необходимо активировать тег Google Analytics типа “транзакция”. В приведенном коде описан один товар

  16. Коллеги, философский вопрос на тему метрики: кто как ставит транзакцию? на фактическую ответ эквайринга об успешной оплате или просто на сумму заказа без подтверждения оплаты? Для кого какие метрики важны?

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

  17. Хорошая статья, спасибо!

    Остался вопрос: можно ли отправить прибыль с каждого купленного товара или хотя бы общую прибыль? То есть для товара указываем закупочную цену, которую не показываем посетителю (в крайнем случае ajax’ом подгружать) и отправляем ее вместе с остальными параметрами товаров.

    Не могу найти об этом инфу нигде. Можно отправлять тегом transactionTax, но это как-то неправильно и только для всех товаров…

  18. Иван, вы описываете передачу значений в Google Analytics. Можно ли передавать, в нашем случае номер заказа, для рекламной системы?
    1. То есть мы создали пользовательский тег, в нем разместили код для рекламной кампании, но в нем нет возможности выбрать “Тип отслеживая – Транзакция” как указано у вас на стриншоте. Как нам быть в этом случае?
    2. И еще вопрос – можем ли мы в коде “на JavaScript передающий данные о покупке в Googlе Tag Manager” указать только ‘transactionId’, т.к. все остальное нам не нужно передавать?

    • Мария, я не понял вопроса. Тип отслеживания доступен только у тегов типа Google Analytics, вы же, скорее всего, используете другой тип для размещения кода рекламной системы. По второму вопросу, есть перечень обязательных полей для транзакции и объекта в ней, остальные можно не применять

  19. Иван, суть задачи в том, чтобы разместить на сайте код рекламной кампании и передавать номер заявки при отправке этой заявки.
    Для того чтобы это работало через GTM нужно, как я поняла, прописать в datalayer передачу номера заявки, а через макрос дальше передавать в код CPA партнера.

    Как нам правильно технически реализовать этот процесс?

    • Мария, я не готов ответить на Ваш вопрос, т.к. подобные задачи необходимо решать на конкретном сайте

  20. Иван, здравствуйте! Хотелось бы уточнить: когда мы размещаем код екоммерс до кода GTM, то понятно (данные о транзакции сначала передаем в datalayer, а потом при загрузке кода GTM, тут же идет загрузка кода GA и мы передаем данные о транзакции в GA – то есть, данные о транзакции мы отправляем в GA при загрузке счетчика GA), но когда мы размещаем код екоммерс после кода GTM, то не совсем понятно как тут происходит передача данных о транзакции в GA, ведь получается счетчик GA уже прогрузился (то есть данные в GA отправились), а после этого мы грузим в datalayer данные о транзакции. И вопрос тогда возникает – как в данном случае отправляются данные о транзакции в GA? Заранее спасибо за ответ!

    • Александр, любые сведения по расширенной торговле передаются хитами типа просмотр страницы или событие. До момента активации тега Google Analytics соответствующего типа отслеживания, сведения по расширенной торговле должны быть определены. Сделать это можно разными способами, все зависит от того, как работает сайт

  21. Скажите пожалуйста, должен ли Enhanced ecommerce автоматически конвертировать валюту? У меня аналитикс настроен на доллары, транзакцию тестовую определила в евро. В отчете аналитикса сумма не изменилась, только значек долларовый.
    Спасибо заранее!

  22. Иван, подскажите есть ли статья по воз вратам в отчет по электронной торговли. Где-то попалось видео, что там речь идет о cvs файлах. Правильно я понял что возврат не получится делать возврат который указан в отчете по электронной торговли https://developers.google.com/tag-manager/enhanced-ecommerce#refunds

    • Максим, у меня на сайте нет такого материала. Возвраты, как один из вариантов, можно импортировать через csv файлы

  23. Добрый день. Все далаю как в инструкции.
    Делаю тестовый заказ вижу код (см. ниже).
    Но в Google Analytics передаются транзакции (номер, общая сумма), но сами продукты (название продуктов, категория их цена итд) не передаются почему?

    Вот код, который появляется на стр. спасибо за покупку:

    dataLayer = [{
    'transactionId': '97',
    'transactionAffiliation': 'Name',
    'transactionTotal': '6688.0000',
    'transactionTax': '0',
    'transactionShipping': '5',
    'transactionProducts': [
    {
    'sku': 'P71011LZ20T_53K',
    'name': 'БРЮКИ ЖЕН.',
    'category': 'Apparel',
    'price': '3439.0000',
    'quantity': '1'
    }, {
    'sku': 'Y88200LX201_554',
    'name': 'ЛЕГГИНСЫ ЖЕН.',
    'category': 'Apparel',
    'price': '2899.0000',
    'quantity': '1'
    }, ]
    }];

  24. Добрый день, Иван.
    Посоветуйте, пожалуйста, на какую страницу лучше ставить код электронной торговли в следующей ситуации:
    на сайте есть 2 путя попадания на страницу “Спасибо за заказ” – при оформлении заказа с выбором оплаты наличными, либо по переадресации с внешнего сайта (платёжная система). Клиенту даётся выбор: возвращаться на сайт (осуществляется переход на страницу “Спасибо за заказ!”) или остаться на сайте платёжной системы.
    Проблема в том, что по данным аналитики практически никто не выбирают вариант “вернуться на сайт”.

  25. Извините за , может быть, глупый вопрос, но я не сильно понял, нужно один тег UA создавать и указывать “просмотр страниц”, а второй тег UA и указывать “транзакция” для электронной торговли, или создается один просто указывается “транзакция” и он будет отслеживать как электронную торговлю так и посещение страниц, от куда пришли и т.д., в общем остальное стандартное, что отслеживает UA без дополнительных кодов и скриптов?
    Наперед спасибо за ответ.

    • Сергей, смотря какую торговлю Вы используете. Для расширенной необходима доп. настройка тега, для классической выбор соответствующего типа хита

  26. Сделал все настройки. В GTM в режиме предварительного просмотра все работает. В аналитике данные по транзакциям не отображаются. В чем может быть проблема?

  27. Настроила отслеживание шагов чекаута. Передается как событие в гугл аналитику. Но никаких данных о товаре не поступает. Может нужно еще какой нибудь тег сделать?

  28. Здравствуйте Иван! Такая проблема, настроил отслеживание электронной торговли
    для яндекса, на все события из документации (просмотр товара, добавление/удаление
    из корзины, оформление заказа). В метрике всё ок.
    Теперь пытаюсь настроить то же самое в Google.

    Во-первых создал контейнер в GTM и разместил соответствующий код в
    подвале сайта взамен обычного кода гугл аналитики http://joxi.ru/v29Q16GTGoOKV2 .

    Во-вторых создал тег с универсальной аналитикой, в настройках которой включил
    расширенную функцию электронной торговли с использованием уровня
    данных http://joxi.ru/52a1M7BtG7Wad2 .

    На сколько я понял после проделанных мной операций JS код который ранее
    был успешно настроен для яндекс, должен начать работать и для google, например: http://joxi.ru/bmoow4JIMPjedm т.к. структура массива сохраняемого в dataLayer в
    яндекс и google – одинаковая. Ошибок в консоли нет, но данных в
    отчёте по электронной торговле в Google нет =( http://joxi.ru/krDpEXRI0b3kOr .

    Что я делаю не так?

    • Александр, проверьте включена ли расширенная торговля в настройках представления. Если – да, то для решения вопроса необходимо разбираться непосредственно на сайте, изучая исходный код страниц

  29. Иван, здравствуйте! Скажите, Вы не описывали нигде кейс по настройке на сайте плагина ecommerce с дополнительной возможностью подгрузки данных о покупке из CRM или гуглдока?

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

    или могли бы посоветовать какой-то материал для ознакомления по этому вопросу?

  30. Еще, подскажите, пожалуйста, есть ли у вас пример ТЗ для разработчика на внедрение расширенной электронной торговли через GTM?

    • Готовых ТЗ в открытом доступе на этом сайте нет. При работе с клиентом я разрабатываю ТЗ с учетом особенностей его сайта

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

Current month ye@r day *