Ниже приведен пример заполнения слоя данных digitalData для страницы этапа оформления заказа. Чаще всего это набор страниц, представляющих воронку между страницей корзины и страницей “Спасибо за покупку”

Навигация по странице


Введение


На странице оформления заказа интернет-магазина должны быть объявлены и заполнены следующие объекты:

  • Обязательные: page, website, user, cart, version

Как правило на страницах этапов оформления заказа отсутствуют рекомендации и баннерные блоки

page


В объекте digitalData.page необходимо объявить и заполнить только 2 переменные. Все остальные переменные автоматически заполнит DigitalDataManager.

Обычно этап оформления заказа разбит на несколько шагов. Мы рекомендуем в переменную page.category суть конкретного шага: ‘Authorization’, ‘Deliver’, ‘Payment’, ‘Order Review’.

Подробнее об объекте page

Пример заполнения:

  window.digitalData = {
    ...,
    page: {
      type: 'checkout',
      category: 'Delivery' //Значение зависит от шага воронки
    },
    ...
  }

cart


В процессе прохождения пользователем шагов оформления заказа объект digitalData.cart обогащается новыми переменными: vouchers, voucherDiscount, shippingCost, shippingMethod, paymentMethod.

Не инициализируйте переменную если еще не известно ее значение. Например на шаге авторизации не нужно передавать в объект cart переменные shippingCost, shippingMethod, paymentMethod.

Подробнее об объекте cart

Пример заполнения:

window.digitalData = {
  ...,
  cart: {
    id: "CART2203",
    currency: "RUB",
    subtotal: 25000,
    vouchers: [
      "MYVOUCHER1"
    ],
    voucherDiscount: 500,
    shippingCost: 1500,
    shippingMethod: "Доставка курьером",
    total: 26000,
    lineItems: [
      ...,
      {
        product: {
          id: "1234567890",
          url: "http://website.com/product.html",
          imageUrl: "http://website.com/image.png",
          thumbnailUrl: "http://website.com/image_thump.png",
          name: "Ботинки Timberland",
          description: "Описание данного товара",
          manufacturer: "Timberland",
          category: ["Обувь","Ботинки"],
          currency: "RUB",
          unitPrice: 12990,
          unitSalePrice: 10990,
          skuCode: "TBL6065RW"
        },
        quantity: 2,
        subtotal: 10990,
        shippingMethod: "Почта России",
        shippingCost: 800
      },
      ...
    ]
  },
  ...
}

website


В объекте digitalData.website необходимо объявить и заполнить только 6 переменных. Обязательными к заполнению являются только 3: website.type, website.currency, website.environment. Остальные переменные зависят от особенностей вашего сайта.

Подробнее об объекте website

Пример заполнения:

  window.digitalData = {
    ...,
    website: {
      region: "Москва",
      regionId: "12",
      type: "desktop",
      language: "ru",
      currency: "RUB",
      environment: "production"
    },
    ...
  }

user


Состав объекта digitalData.user сильно зависит от требований проекта. Мы рекомендуем заполнять как минимум следующие переменные: userId, user.email, user.isLoggedIn, user.firstName, user.isSubscribed

Если у вас нет информации о конкретном свойстве посетители - не объявляйте переменную. Например: вы не знает подписан или нет посетитель на email-рассылку. Правильно: не объявлять переменную digitalData.user.isSubscribed, Неправильно: объявить переменную и присвоить ей значение FALSE.

Даже если посетитель сейчас не авторизован, но был авторизован в прошлом, передавайте информацию о нем в объект digitalData.user. Это поможет при таргетировании кампаний персонализации и в управлении рекламными системами.

Подробнее об объекте user

Пример заполнения:

window.digitalData = {
  ...,
  user: {
    firstName: "John",
    userId: "4638mn1",
    email: "[email protected]",
    isLoggedIn: true,
    isSubscribed: false
  },
  ...
}

version


Переменная digitalData.version должна быть объявлена и заполнена при загрузке каждой страницы сайта.

Подробнее об объекте cart

Пример заполнения:

window.digitalData = {
  ...,
  version: '1.1.2',
  ...
}

Необязательные объекты

campaigns


Массив digitalData.campaigns должен быть объявлен и заполнен, если на загружаемой странице есть баннеры, эффективность которых вы планируете отслеживать.

Подробнее о массиве campaigns

Пример заполнения:

window.digitalData = {
  ...,
  campaigns: [
    ...,
    {
      id: "PROMO124",
      name: "Новинки сезона осень/зима",
      description: "1500 новых моделей",
      category: "Баннер",
      subcategory: "Новинки",
      design: "600x120",
      position: "left"
    },
    ...
  ],
  ...
}

recommendation


Массив digitalData.recommendation должен быть объявлен и заполнен, если на загружаемой странице хотя бы 1 список товаров.

Подробнее о массиве recommendation

Пример заполнения:

window.digitalData = {
  ...,
  recommendation: [
    ...,
    {
      listName: "Список недавно просмотренных товаров",
      listId: "recentlyViewed",
      items: [
        ...,
        {
          id: "1234567890",
          url: "http://website.com/product.html",
          imageUrl: "http://website.com/image.png",
          thumbnailUrl: "http://website.com/image_thump.png",
          name: "Ботинки Timberland",
          description: "Описание данного товара",
          manufacturer: "Timberland",
          category: ["Обувь","Ботинки"],
          currency: "RUB",
          unitPrice: 12990,
          unitSalePrice: 10990,
          skuCode: "TBL6065RW",
        },
        ...
      ]
    },
    ...
  ],
  ...
}

Объект целиком


В итоге, ваш код будет похож на:

window.digitalData = {
  page: {
    type: 'checkout',
    category: 'Checkout'
  },
  website: {
    type: "desktop",
    currency: "RUB",
    environment: "production"
  },
  user: {
    firstName: "John",
    userId: "4638mn1",
    email: "[email protected]",
    isLoggedIn: true,
    isSubscribed: false
  },
  cart: {
    id: "CART2203",
    currency: "RUB",
    vouchers: [
      "MYVOUCHER1"
    ],
    voucherDiscount: 500,
    tax: 4010,
    shippingCost: 800,
    shippingMethod: "Доставка курьером",
    subtotal: 21980,
    total: 22280,
    lineItems: [
      {
        product: {
          id: "1234567890",
          url: "http://website.com/product.html",
          imageUrl: "http://website.com/image.png",
          thumbnailUrl: "http://website.com/image_thump.png",
          name: "Ботинки Timberland",
          description: "Описание данного товара",
          manufacturer: "Timberland",
          category: ["Обувь","Ботинки"],
          currency: "RUB",
          unitPrice: 12990,
          unitSalePrice: 10990,
          skuCode: "TBL6065RW"
        },
        quantity: 2,
        subtotal: 10990,
        shippingMethod: "Почта России",
        shippingCost: 800
      }
    ]
  },
  version: '1.1.2',
}
/* Здесь должен идти сниппет инициализации библиотеки DigitalDataManage */

Для удобства мы не стали перечислять повторяющиеся элементы массивов recommendation, items, campaigns, lineItems, а привели по одному примеру.