Просування сайтів & web-аналітика

Оберіть свою мову

Поставити запитання +38 096 558 7514

Розширена електронна торгівля Google Analytics 4

Розширена електронна торгівля (Enhanced Ecommerce) Google Analytics – це можливість відстежувати дії користувача на сайті, починаючи від перегляду товару, закінчуючи його замовленням на сайті, відстежити ланцюжок взаємодій на рівні великих даних, зробити системні висновки та ухвалити рішення про структурні зміни. Найпросунутіша аналітика для інтернет-магазинів.

Наразі поняття розширена електронна торгівля вже немає. Цей термін прийшов до нас із Google Analytics Universal, але ми його вирішили залишити, оскільки стара версія аналітики була для багатьох класичною у розумінні та алгоритмах.

Налаштування розширеної електронної торгівлі Google Analytics 4


Розширена електронна торгівля в Google Analytics 4 за своєю суттю нічим не відрізняється від версії Universal Analytics, тільки тут не потрібно окремо включати опцію розширеної електронної торгівлі. Усі події у версії GA4 можна одразу налаштувати за замовчуванням, без доопрацювань у поточному поданні.

Налаштування здійснюється 2-ма способами:

  • через gtag (дані надсилаються безпосередньо до Google Analytics 4);
  • через Data Layer (дані надсилаються до бібліотеки Data Layer, з якої через обробник події в Tag Manager потрапляють до Google Analytics 4).

Ми з Вами розглядатимемо 2-й спосіб, оскільки практично всі сайти працюють з Tag Manager.

У Google Analytics 4 кожна подія має унікальну назву, яка рекомендується системою. Зробити все через один event, як у версії Universal, не вдасться.

Отже, пройдемося подіями.

Перегляди та покази товарів чи позицій зі списку

Подія: view_item_list.

Розміщення: будь-який список товарів.

Опис: показ товарів у каталозі або в результаті пошуку конкретного товару, або при відкритті категорії.

Спрацювання події: у момент показу товару у видимій області.


// Measure product views / impressions
dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object.
dataLayer.push({
  event: "view_item_list",
  ecommerce: {
    items: [
     {
       item_name: "Triblend Android T-Shirt",       // Name or ID is required.
       item_id: "12345",
       price: 15.25,
       item_brand: "Google",
       item_category: "Apparel", //// Головна категорія
       item_category2: "Mens", //// Підкатегорія
       item_category3: "Shirts", //// Підпідкатегорія
       item_category4: "Tshirts", //// Підпідпідкатегорія
       item_variant: "Gray",  /// /Варіант
       item_list_name: "Search Results",   /////// Тут задається місце (список), де показується товар (головна сторінка, категорія, результат пошуку, фільтр товарів)
       index: 1, //// Позиція товару у списку
       quantity: 1
     },
     {
       item_name: "Donut Friday Scented T-Shirt",
       item_id: "67890",
       price: 33.75,
       item_brand: "Google",
       item_category: "Apparel",
       item_category2: "Mens",
       item_category3: "Shirts",
       item_category4: "Tshirts",
       item_variant: "Black",
       item_list_name: "Search Results",
       index: 2,
     }]
  }
});

Кліки по товару зі списку позицій

Подія: select_item.

Розміщення: місце, звідки було здійснено клік по товару.

Опис: передача даних про кліки та переходи в товар.

Спрацювання події: у момент кліка на картку товару.

 
/**
 * Call this function when a user clicks on a product link.
 * @param {Object} productObj An object that represents the product that is clicked.
 */
function onProductClick(productObj) {
  dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object.
  dataLayer.push({
    event: "select_item",
    ecommerce: {
      items: [{
        item_name: productObj.name, // Name or ID is required.
        item_id: productObj.id,
        item_brand: productObj.brand,
        item_category: productObj.category,
        item_category2: productObj.category_2,
        item_category3: productObj.category_3,
        item_category4: productObj.category_4,
        item_variant: productObj.variant,
        item_list_name: productObj.list_name,  /////// Тут задається місце (список), звідки був клік по товару (категорія, результат пошуку, фільтр)
        index: productObj.index, ///// Позиція товару у списку
        price: productObj.price
      }]
    }
  });
}

Перегляди інформації про товар або позицію

Подія: view_item.

Розміщення: картка товару.

Опис: перегляд товару.

Спрацювання події: у момент перегляду фото чи характеристик товару.


// Measure a view of product details. This example assumes the detail view occurs on pageload,
dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object.
dataLayer.push({
  event: "view_item",
  ecommerce: {
    items: [{
      item_name: "Donut Friday Scented T-Shirt", // Name or ID is required.
      item_id: "67890",
      price: 33.75,
      item_brand: "Google",
      item_category: "Apparel",
      item_category2: "Mens",
      item_category3: "Shirts",
      item_category4: "Tshirts",
      item_variant: "Black",
      quantity: 1
    }]
  }
});

Додавання товару до кошика

Подія: add_to_cart.

Розміщення: картка товару чи список товарів, де є кнопка купити.

Опис: додавання товару до кошика.

Спрацювання події: в момент натискання на кнопку купити.


// Measure when a product is added to a shopping cart
dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object.
dataLayer.push({
  event: "add_to_cart",
  ecommerce: {
    items: [{
      item_name: "Donut Friday Scented T-Shirt", // Name or ID is required.
      item_id: "67890",
      price: "33.75",
      item_brand: "Google",
      item_category: "Apparel",
      item_category2: "Mens",
      item_category3: "Shirts",
      item_category4: "Tshirts",
      item_variant: "Black",
      item_list_name: "Search Results", //// Включаємо цей параметр, якщо натискають “купити” зі списку товарів
      index: 1, //// Позиція у списку, включаємо цей параметр, якщо натискають “купити” зі списку товарів
    }]
  }
});

Видалення товару з кошика

Подія: remove_from_cart.

Розміщення: кошик.

Опис: видалення товарів з кошика.

Спрацювання події: у момент натискання на хрестик у кошику або кнопку "видалити" навпроти товару.


// Measure the removal of a product from a shopping cart.
dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object.
dataLayer.push({
  event: "remove_from_cart",
  ecommerce: {
    items: [{
      item_name: "Donut Friday Scented T-Shirt", // Name or ID is required.
      item_id: "67890",
      price: 33.75,
      item_brand: "Google",
      item_category: "Apparel",
      item_variant: "Black",
    }]
  }
});

Оформлення покупки

Подія: begin_checkout.

Розміщення: кошик.

Опис: відправка інформації про початок оформлення замовлення.

Спрацювання події: у момент, коли користувач відвідує кошик для оформлення замовлення.


/**
 * A function to handle a click on a checkout button.
 */
function onCheckout() {
  dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object.
  dataLayer.push({
    event: "begin_checkout",
    ecommerce: {
      items: [{
        item_name: "Donut Friday Scented T-Shirt", // Name or ID is required.
        item_id: "67890",
        price: 33.75,
        item_brand: "Google",
        item_category: "Apparel",
        item_category2: "Mens",
        item_category3: "Shirts",
        item_category4: "Tshirts",
        item_variant: "Black",
        quantity: 1
      }]
    }
  });
}

Якщо оформлення в кошику проходить у кілька етапів, то в Google Analytics 4 це ділиться на такі додаткові events:

  • add_payment_info (додавання інформації про оплату);
  • add_shipping_info (додавання інформації про доставку).

Покупка

Подія: purchase.

Розміщення: сторінка подяки.

Опис: відправка інформації про замовлення.

Спрацювання події: у момент, коли замовлення прийнято.


dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object.
dataLayer.push({
  event: "purchase",
  ecommerce: {
      transaction_id: "T12345",
      affiliation: "Online Store",
      value: "59.89",
      tax: "4.90",
      shipping: "5.99",
      currency: "EUR",
      coupon: "SUMMER_SALE",
      items: [{
        item_name: "Triblend Android T-Shirt",
        item_id: "12345",
        price: "15.25",
        item_brand: "Google",
        item_category: "Apparel",
        item_variant: "Gray",
        quantity: 1
      }, {
        item_name: "Donut Friday Scented T-Shirt",
        item_id: "67890",
        price: 33.75,
        item_brand: "Google",
        item_category: "Apparel",
        item_variant: "Black",
        quantity: 1
      }]
  }
});

Вище - це надсилання даних по протоколу Data Layer. Це половина справи. Ідемо далі.

Що потрібно зробити в Tag Manager для розширеної електронної торгівлі Google Analytics 4?

  1. Створити теги для кожної з подій;
  2. Для всіх подій, крім purchase, задати параметр "items" зі значенням ecommerce.items
  3. Для purchase додатково прошиваються всі параметри на замовлення.

Теги в TGM будуть виглядати приблизно так:

Теги в TGM

Як виглядають звіти розширеної електронної торгівлі у GA4?

Як таких, готових звітів у системі поки що 1-2. Кастомізовані поки що працюють із серйозними помилками, тому не наводимо їх у приклад, щоб не витрачати ваш час.

Один із готових звітів “шлях до покупки” виглядає так:

отчет расширенной электронной торговли в GA4

За більш детальною інформацією звертайтесь за контактами агентства. Крім того, рекомендуємо до перегляду відео про користь розширеної електронної торгівлі в просуванні інтернет-магазинів.

Якщо у Вас є питання щодо наших послуг, будь ласка, напишіть, як з Вами зв'язатися та коротко опишіть свій бізнес.

* Ваші особисті дані повністю захищені та не будуть передані третім особам.

Оберіть, яким способом з Вами краще зв'язатися.

  • United States+1
  • United Kingdom+44
  • Afghanistan (‫افغانستان‬‎)+93
  • Albania (Shqipëri)+355
  • Algeria (‫الجزائر‬‎)+213
  • American Samoa+1
  • Andorra+376
  • Angola+244
  • Anguilla+1
  • Antigua and Barbuda+1
  • Argentina+54
  • Armenia (Հայաստան)+374
  • Aruba+297
  • Ascension Island+247
  • Australia+61
  • Austria (Österreich)+43
  • Azerbaijan (Azərbaycan)+994
  • Bahamas+1
  • Bahrain (‫البحرين‬‎)+973
  • Bangladesh (বাংলাদেশ)+880
  • Barbados+1
  • Belarus (Беларусь)+375
  • Belgium (België)+32
  • Belize+501
  • Benin (Bénin)+229
  • Bermuda+1
  • Bhutan (འབྲུག)+975
  • Bolivia+591
  • Bosnia and Herzegovina (Босна и Херцеговина)+387
  • Botswana+267
  • Brazil (Brasil)+55
  • British Indian Ocean Territory+246
  • British Virgin Islands+1
  • Brunei+673
  • Bulgaria (България)+359
  • Burkina Faso+226
  • Burundi (Uburundi)+257
  • Cambodia (កម្ពុជា)+855
  • Cameroon (Cameroun)+237
  • Canada+1
  • Cape Verde (Kabu Verdi)+238
  • Caribbean Netherlands+599
  • Cayman Islands+1
  • Central African Republic (République centrafricaine)+236
  • Chad (Tchad)+235
  • Chile+56
  • China (中国)+86
  • Christmas Island+61
  • Cocos (Keeling) Islands+61
  • Colombia+57
  • Comoros (‫جزر القمر‬‎)+269
  • Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)+243
  • Congo (Republic) (Congo-Brazzaville)+242
  • Cook Islands+682
  • Costa Rica+506
  • Côte d’Ivoire+225
  • Croatia (Hrvatska)+385
  • Cuba+53
  • Curaçao+599
  • Cyprus (Κύπρος)+357
  • Czech Republic (Česká republika)+420
  • Denmark (Danmark)+45
  • Djibouti+253
  • Dominica+1
  • Dominican Republic (República Dominicana)+1
  • Ecuador+593
  • Egypt (‫مصر‬‎)+20
  • El Salvador+503
  • Equatorial Guinea (Guinea Ecuatorial)+240
  • Eritrea+291
  • Estonia (Eesti)+372
  • Eswatini+268
  • Ethiopia+251
  • Falkland Islands (Islas Malvinas)+500
  • Faroe Islands (Føroyar)+298
  • Fiji+679
  • Finland (Suomi)+358
  • France+33
  • French Guiana (Guyane française)+594
  • French Polynesia (Polynésie française)+689
  • Gabon+241
  • Gambia+220
  • Georgia (საქართველო)+995
  • Germany (Deutschland)+49
  • Ghana (Gaana)+233
  • Gibraltar+350
  • Greece (Ελλάδα)+30
  • Greenland (Kalaallit Nunaat)+299
  • Grenada+1
  • Guadeloupe+590
  • Guam+1
  • Guatemala+502
  • Guernsey+44
  • Guinea (Guinée)+224
  • Guinea-Bissau (Guiné Bissau)+245
  • Guyana+592
  • Haiti+509
  • Honduras+504
  • Hong Kong (香港)+852
  • Hungary (Magyarország)+36
  • Iceland (Ísland)+354
  • India (भारत)+91
  • Indonesia+62
  • Iran (‫ایران‬‎)+98
  • Iraq (‫العراق‬‎)+964
  • Ireland+353
  • Isle of Man+44
  • Israel (‫ישראל‬‎)+972
  • Italy (Italia)+39
  • Jamaica+1
  • Japan (日本)+81
  • Jersey+44
  • Jordan (‫الأردن‬‎)+962
  • Kazakhstan (Казахстан)+7
  • Kenya+254
  • Kiribati+686
  • Kosovo+383
  • Kuwait (‫الكويت‬‎)+965
  • Kyrgyzstan (Кыргызстан)+996
  • Laos (ລາວ)+856
  • Latvia (Latvija)+371
  • Lebanon (‫لبنان‬‎)+961
  • Lesotho+266
  • Liberia+231
  • Libya (‫ليبيا‬‎)+218
  • Liechtenstein+423
  • Lithuania (Lietuva)+370
  • Luxembourg+352
  • Macau (澳門)+853
  • North Macedonia (Македонија)+389
  • Madagascar (Madagasikara)+261
  • Malawi+265
  • Malaysia+60
  • Maldives+960
  • Mali+223
  • Malta+356
  • Marshall Islands+692
  • Martinique+596
  • Mauritania (‫موريتانيا‬‎)+222
  • Mauritius (Moris)+230
  • Mayotte+262
  • Mexico (México)+52
  • Micronesia+691
  • Moldova (Republica Moldova)+373
  • Monaco+377
  • Mongolia (Монгол)+976
  • Montenegro (Crna Gora)+382
  • Montserrat+1
  • Morocco (‫المغرب‬‎)+212
  • Mozambique (Moçambique)+258
  • Myanmar (Burma) (မြန်မာ)+95
  • Namibia (Namibië)+264
  • Nauru+674
  • Nepal (नेपाल)+977
  • Netherlands (Nederland)+31
  • New Caledonia (Nouvelle-Calédonie)+687
  • New Zealand+64
  • Nicaragua+505
  • Niger (Nijar)+227
  • Nigeria+234
  • Niue+683
  • Norfolk Island+672
  • North Korea (조선 민주주의 인민 공화국)+850
  • Northern Mariana Islands+1
  • Norway (Norge)+47
  • Oman (‫عُمان‬‎)+968
  • Pakistan (‫پاکستان‬‎)+92
  • Palau+680
  • Palestine (‫فلسطين‬‎)+970
  • Panama (Panamá)+507
  • Papua New Guinea+675
  • Paraguay+595
  • Peru (Perú)+51
  • Philippines+63
  • Poland (Polska)+48
  • Portugal+351
  • Puerto Rico+1
  • Qatar (‫قطر‬‎)+974
  • Réunion (La Réunion)+262
  • Romania (România)+40
  • Russia (Россия)+7
  • Rwanda+250
  • Saint Barthélemy+590
  • Saint Helena+290
  • Saint Kitts and Nevis+1
  • Saint Lucia+1
  • Saint Martin (Saint-Martin (partie française))+590
  • Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)+508
  • Saint Vincent and the Grenadines+1
  • Samoa+685
  • San Marino+378
  • São Tomé and Príncipe (São Tomé e Príncipe)+239
  • Saudi Arabia (‫المملكة العربية السعودية‬‎)+966
  • Senegal (Sénégal)+221
  • Serbia (Србија)+381
  • Seychelles+248
  • Sierra Leone+232
  • Singapore+65
  • Sint Maarten+1
  • Slovakia (Slovensko)+421
  • Slovenia (Slovenija)+386
  • Solomon Islands+677
  • Somalia (Soomaaliya)+252
  • South Africa+27
  • South Korea (대한민국)+82
  • South Sudan (‫جنوب السودان‬‎)+211
  • Spain (España)+34
  • Sri Lanka (ශ්‍රී ලංකාව)+94
  • Sudan (‫السودان‬‎)+249
  • Suriname+597
  • Svalbard and Jan Mayen+47
  • Sweden (Sverige)+46
  • Switzerland (Schweiz)+41
  • Syria (‫سوريا‬‎)+963
  • Taiwan (台灣)+886
  • Tajikistan+992
  • Tanzania+255
  • Thailand (ไทย)+66
  • Timor-Leste+670
  • Togo+228
  • Tokelau+690
  • Tonga+676
  • Trinidad and Tobago+1
  • Tunisia (‫تونس‬‎)+216
  • Turkey (Türkiye)+90
  • Turkmenistan+993
  • Turks and Caicos Islands+1
  • Tuvalu+688
  • U.S. Virgin Islands+1
  • Uganda+256
  • Ukraine (Україна)+380
  • United Arab Emirates (‫الإمارات العربية المتحدة‬‎)+971
  • United Kingdom+44
  • United States+1
  • Uruguay+598
  • Uzbekistan (Oʻzbekiston)+998
  • Vanuatu+678
  • Vatican City (Città del Vaticano)+39
  • Venezuela+58
  • Vietnam (Việt Nam)+84
  • Wallis and Futuna (Wallis-et-Futuna)+681
  • Western Sahara (‫الصحراء الغربية‬‎)+212
  • Yemen (‫اليمن‬‎)+967
  • Zambia+260
  • Zimbabwe+263
  • Åland Islands+358
Дякуємо! Ваше повідомлення надіслано.
Відправлення не вдалося. Будь ласка, виправте помилки та спробуйте ще раз.