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

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


Введение


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

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

listing


Объект digitalData.listing должен быть объявлен и заполнен для любой страницы, у которой page.type = ‘search’.

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

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

window.digitalData = {
  ...,
  listing: {
    listName: "search-results",
    listId: "main",
    query: "gucci skirt",
    items: [
      ...,
      {
        id: "1234567890",
        url: "http://website.com/product.html",
        imageUrl: "http://website.com/image.png",
        thumbnailUrl: "http://website.com/image_thump.png",
        name: "Юбка из кожи",
        description: "Описание данного товара",
        manufacturer: "Gucci",
        category: ['Одежда','Юбки','Мини'],
        currency: "RUB",
        unitPrice: 12990,
        unitSalePrice: 10990,
        skuCode: 'TBL6065RW'
      },
      ...
    ],
    sortBy: "price_asc",
    resultCount: 20,
    pagesCount: 13,
    currentPage: 2,
    layout: "grid"
  },
  ...
}

page


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

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

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

  window.digitalData = {
    ...,
    page: {
      type: 'search',
      category: 'Search Listing'
    },
    ...
  }

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
  },
  ...
}

cart


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

Если корзина посетителя сайта пуста, заполните объект так, как описано в справке.

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

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

window.digitalData = {
  ...,
  cart: {
    id: "CART2203",
    currency: "RUB",
    subtotal: 25000,
    vouchers: [
      "MYVOUCHER1"
    ],
    voucherDiscount: 500,
    tax: 0,
    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
      },
      ...
    ]
  },
  ...
}

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 = {
  listing: {
    listName: "search-results",
    listId: "main",
    query: "gucci skirt",
    items: [
      {
        id: "1234567890",
        url: "http://website.com/product.html",
        imageUrl: "http://website.com/image.png",
        thumbnailUrl: "http://website.com/image_thump.png",
        name: "Юбка из кожи",
        description: "Описание данного товара",
        manufacturer: "Gucci",
        category: ['Одежда','Юбки','Мини'],
        currency: "RUB",
        unitPrice: 12990,
        unitSalePrice: 10990,
        skuCode: 'TBL6065RW'
      }
    ],
    sortBy: "price_asc",
    resultCount: 20,
    pagesCount: 13,
    currentPage: 2,
    layout: "grid"
  },
  page: {
    type: 'search',
    category: 'Search Listing'
  },
  website: {
    type: "desktop",
    currency: "RUB",
    environment: "production"
  },
  user: {
    firstName: "John",
    userId: "4638mn1",
    email: "[email protected]",
    isLoggedIn: true,
    isSubscribed: false
  },
  cart: {
    id: "CART2203",
    currency: "RUB",
    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, а привели по одному примеру.