Ниже приведен пример заполнения слоя данных digitalData для страницы корзины.

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


Введение


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

  • Обязательные: page, website, user, cart, version
  • Необязательные (зависит от контента): campaigns ,recommendation

page


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

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

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

  window.digitalData = {
    ...,
    page: {
      type: 'cart',
      category: 'Cart'
    },
    ...
  }

cart


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

При динамическом изменении состава корзины необходимо динамически обновлять объект digitalData.cart. Просто передайте новый объект в метод changes: digitalData.changes.push([‘cart’,{/* объект cart */}])

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

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

window.digitalData = {
  ...,
  cart: {
    id: "CART2203",
    currency: "RUB",
    subtotal: 25000,
    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
      },
      ...
    ]
  },
  ...
}

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: 'cart',
    category: 'Cart'
  },
  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
      }
    ]
  },
  version: '1.1.2',
  campaigns: [
    {
      id: "PROMO124",
      name: "Новинки сезона осень/зима",
      description: "1500 новых моделей",
      category: "Баннер",
      subcategory: "Новинки",
      design: "600x120",
      position: "left"
    }
  ],
  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"
        }
      ]
    }
  ]
}
/* Здесь должен идти сниппет инициализации библиотеки DigitalDataManage */

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