Enhanced E-commerce

Plugin Enhanced E-commerce untuk analytics.js memungkinkan pengukuran interaksi pengguna dengan produk di situs e-commerce di seluruh pengalaman belanja pengguna, termasuk: tayangan produk, klik produk, melihat detail produk, menambahkan produk ke keranjang belanja, memulai proses checkout, transaksi, dan pengembalian dana.

Migrasi dan Kompatibilitas dengan Plugin E-commerce (ecommerce.js)

Jika Anda telah menerapkan pengukuran E-commerce dan ingin mulai menggunakan Enhanced E-commerce, ada dua opsi utama:

Menggunakan properti baru

Anda dapat menambahkan pelacak tambahan untuk properti yang baru dibuat dan memberi tag/mengaktifkan Enhanced E-commerce untuk properti baru. Lihat Menggunakan Beberapa Objek Pelacakan untuk mengetahui detail tentang cara mengirim data ke beberapa properti dari satu halaman.

Melakukan migrasi properti yang ada

Untuk melakukan migrasi dari plugin e-commerce ke plugin Enhanced E-commerce, pengguna analytics.js saat ini harus menghapus dan mengganti referensi dengan kode Enhanced E-commerce.

Jika saat ini Anda menggunakan ga.js, Anda harus melakukan migrasi ke analytics.js terlebih dahulu sebelum menggunakan plugin Enhanced E-commerce.

Data transaksi dan item yang sebelumnya dikumpulkan menggunakan plugin ecommerce.js tidak akan terpengaruh oleh migrasi, dan akan tetap tersedia di properti dan profil tempat asal pengirimannya.

Jenis dan Tindakan Data Enhanced E-commerce

Ada beberapa jenis data e-commerce yang dapat Anda kirim:

Data Tayangan

Mewakili informasi tentang produk yang telah dilihat. Ini disebut sebagai impressionFieldObject dan berisi nilai-nilai berikut:

Kunci Jenis Nilai Wajib Deskripsi
id teks *Ya

ID produk atau SKU (misalnya, P67890).

* Salah satu dari id atau name harus ditetapkan.

name teks *Ya

Nama produk (misalnya, Kaus Android).

* Salah satu dari id atau name harus ditetapkan.

list teks Tidak Daftar atau koleksi yang berisi produk (misalnya, Hasil Penelusuran)
list_name teks Tidak Daftar atau koleksi yang berisi produk (misalnya, Hasil Penelusuran)
brand teks Tidak Merek yang terkait dengan produk (misalnya, Google).
category teks Tidak Kategori produk (misalnya, Pakaian). Gunakan / sebagai pemisah untuk menentukan hierarki hingga 5 tingkat (misalnya Pakaian/Pria/Kaus).
variant teks Tidak Varian produk (misalnya, Hitam).
position bilangan bulat Tidak Posisi produk dalam daftar atau koleksi (misalnya, 2).
list_position bilangan bulat Tidak Posisi produk dalam daftar atau koleksi (misalnya, 2).
price angka Tidak Harga produk (misalnya, 29,20).

Data Produk

Data produk mewakili setiap produk yang dilihat, yang ditambahkan ke keranjang belanja, dll. Data ini disebut sebagai productFieldObject dan berisi nilai berikut:

Kunci Jenis Nilai Wajib Deskripsi
id teks *Ya

ID produk atau SKU (misalnya, P67890).

* Salah satu dari ID atau name harus ditetapkan.

name teks *Ya

Nama produk (misalnya, Kaus Android).

* Salah satu dari ID atau name harus ditetapkan.

brand teks Tidak Merek yang terkait dengan produk (misalnya, Google).
category teks Tidak Kategori produk (misalnya, Pakaian). Gunakan / sebagai pemisah untuk menentukan hierarki hingga 5 tingkat (misalnya, Pakaian/Pria/Kaus).
variant teks Tidak Varian produk (misalnya, Hitam).
price angka Tidak Harga produk (misalnya, 29,20).
quantity bilangan bulat Tidak Kuantitas produk (misalnya, 2).
coupon teks Tidak Kode kupon yang terkait dengan produk (misalnya, SUMMER_SALE13).
position bilangan bulat Tidak Posisi produk dalam daftar atau koleksi (misalnya, 2).
list_position bilangan bulat Tidak Posisi produk dalam daftar atau koleksi (misalnya, 2).

Data Promosi

Mewakili informasi tentang promosi yang telah dilihat. Ini disebut promoFieldObject dan berisi nilai-nilai berikut:

Kunci Jenis Nilai Wajib Deskripsi
id teks *Ya

ID promosi (misalnya, PROMO_1234).

* Salah satu dari id atau name harus ditetapkan.

name teks *Ya

Nama promosi (misalnya, Summer Sale).

* Salah satu dari id atau name harus ditetapkan.

creative teks Tidak Materi iklan yang terkait dengan promosi (misalnya, summer_banner2).
creative_name teks Tidak Nama materi iklan (misalnya, summer_banner2).
position teks Tidak Posisi materi iklan (misalnya, banner_slot_1).
creative_slot teks Tidak Nama slot materi iklan (misalnya, banner_slot_1).

Data Tindakan

Mewakili informasi tentang tindakan terkait e-commerce yang telah terjadi. Ini disebut sebagai actionFieldObject dan berisi nilai-nilai berikut:

Kunci Jenis Nilai Wajib Deskripsi
id teks *Ya

ID transaksi (misalnya, T1234).

* Wajib jika jenis tindakan adalah purchase atau refund

affiliation teks Tidak Toko atau afiliasi tempat transaksi ini terjadi (misalnya, Google Store).
revenue angka Tidak

Menyatakan total pendapatan atau jumlah total yang terkait dengan transaksi (misalnya, 11,99). Nilai ini bisa mencakup pengiriman, biaya pajak, atau penyesuaian lainnya pada total pendapatan yang ingin Anda sertakan sebagai bagian dari penghitungan pendapatan Anda.

nilai angka Tidak Nilai (yaitu pendapatan) yang terkait dengan peristiwa.
tax angka Tidak Total pajak yang terkait dengan transaksi.
shipping angka Tidak Biaya pengiriman yang terkait dengan transaksi.
coupon teks Tidak Kupon transaksi yang ditukarkan dengan transaksi.
list teks Tidak Daftar yang mencakup produk terkait. Opsional.
items array Tidak Array yang berisi produk terkait.
step bilangan bulat Tidak Angka yang mewakili langkah dalam proses checkout. Opsional pada tindakan `checkout`.
checkout_step bilangan bulat Tidak Angka yang mewakili langkah dalam proses checkout.
option teks Tidak Kolom tambahan untuk tindakan checkout dan checkout_option yang dapat menjelaskan informasi opsi di halaman checkout, seperti metode pembayaran yang dipilih.
checkout_option teks Tidak Opsi checkout (yaitu metode pembayaran yang dipilih).

Tindakan Produk dan Promosi

Tindakan menentukan cara menafsirkan data produk dan promosi yang Anda kirim ke Google Analytics.

Tindakan Peristiwa Deskripsi
click Klik pada produk atau link produk untuk satu atau beberapa produk.
detail Tampilan detail produk.
add Menambahkan satu atau beberapa produk ke keranjang belanja.
remove Menghapus satu atau beberapa produk dari keranjang belanja.
checkout Memulai proses checkout untuk satu atau beberapa produk.
checkout_option Mengirim nilai opsi untuk langkah checkout tertentu.
purchase Penjualan satu atau beberapa produk.
refund Pengembalian dana untuk satu atau beberapa produk.
promo_click Klik pada promosi internal.
add_to_cart Pengguna menambahkan satu atau beberapa produk ke keranjang belanja.
begin_checkout Pengguna memulai proses checkout untuk satu atau beberapa produk.
checkout_progress Pengguna menyelesaikan langkah checkout setelah langkah checkout pertama.
purchase Pengguna menyelesaikan pembelian
refund Pengguna akan menerima pengembalian dana untuk satu atau beberapa produk.
remove_from_cart Pengguna menghapus satu atau beberapa produk dari keranjang belanja.
select_content Pengguna mengklik link produk atau produk.
set_checkout_option Langkah checkout yang diselesaikan pengguna.
view_item Pengguna melihat detail untuk suatu produk.
view_item_list Pengguna melihat daftar dari satu atau beberapa produk.
view_promotion Pengguna mengklik promosi internal.
view_refund Pengguna melihat pengembalian dana untuk satu atau beberapa produk.

Penerapan

Bagian berikut menjelaskan cara menerapkan plugin Enhanced E-commerce untuk mengukur aktivitas e-commerce di situs dengan library analytics.js.

Memuat Plugin E-commerce

Untuk mengurangi ukuran library analytics.js, Enhanced E-commerce tidak disediakan di library default. Sebagai gantinya, plugin Enhanced E-commerce disediakan sebagai modul plugin yang harus dimuat sebelum digunakan.

Untuk memuat plugin Enhanced E-commerce, gunakan perintah berikut:

ga('require', 'ec');

Perintah ini harus terjadi setelah Anda membuat objek pelacak dan sebelum Anda menggunakan fungsi khusus Enhanced E-commerce apa pun.

Mengirim Data Enhanced E-commerce

Setelah dimuat, beberapa perintah baru khusus untuk Enhanced E-commerce akan ditambahkan ke pelacak default dan Anda dapat mulai mengirim data e-commerce.

Mengukur Aktivitas E-commerce

Penerapan Enhanced E-commerce yang umum akan mengukur tayangan produk dan salah satu tindakan berikut:

  • Klik pada link produk.
  • Melihat detail produk.
  • Tayangan dan klik promosi internal.
  • Menambahkan/menghapus produk dari keranjang belanja.
  • Memulai proses checkout untuk produk.
  • Pembelian dan pengembalian dana.

Mengukur Tayangan

Tayangan produk diukur menggunakan perintah ec:addImpression. Detail tentang produk ini ditambahkan di impressionFieldObject.

Misalnya, kode berikut mengukur tayangan produk dalam daftar hasil penelusuran:

ga('ec:addImpression', {            // Provide product details in an impressionFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Search Results',         // Product list (string).
  'position': 1,                    // Product position (number).
  'dimension1': 'Member'            // Custom dimension (string).
});

impressionFieldObject harus memiliki nilai name atau id. Semua nilai lain bersifat opsional dan tidak perlu ditetapkan.

Mengukur Tindakan

Tindakan diukur dengan menggunakan perintah ec:addProduct dengan productFieldObject untuk menambahkan detail produk, dan perintah ec:setAction untuk menentukan tindakan yang sedang dilakukan.

Misalnya, kode berikut mengukur klik pada link produk yang ditampilkan dalam daftar hasil penelusuran:

ga('ec:addProduct', {               // Provide product details in a productFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'position': 1,                    // Product position (number).
  'dimension1': 'Member'            // Custom dimension (string).
});

ga('ec:setAction', 'click', {       // click action.
  'list': 'Search Results'          // Product list (string).
});

productFieldObject harus memiliki nilai name atau id. Semua nilai lain bersifat opsional dan tidak perlu ditetapkan.

Menggabungkan Tayangan dan Tindakan

Jika memiliki tayangan produk dan tindakan, Anda dapat menggabungkan dan mengukur keduanya dalam satu hit.

Contoh di bawah ini menunjukkan cara mengukur tampilan detail produk dengan bagian produk terkait:

// The impression from a Related Products section.
ga('ec:addImpression', {            // Provide product details in an impressionFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Related Products',       // Product list (string).
  'position': 1                     // Product position (number).
});

// The product being viewed.
ga('ec:addProduct', {                 // Provide product details in an productFieldObject.
  'id': 'P67890',                     // Product ID (string).
  'name': 'YouTube Organic T-Shirt',  // Product name (string).
  'category': 'Apparel/T-Shirts',     // Product category (string).
  'brand': 'YouTube',                 // Product brand (string).
  'variant': 'gray',                  // Product variant (string).
  'position': 2                       // Product position (number).
});

ga('ec:setAction', 'detail');       // Detail action.

Mengukur Transaksi

Ukur transaksi menggunakan perintah ec:setAction dan menetapkan jenis tindakan ke purchase. Detail tingkat transaksi seperti total pendapatan, pajak, dan pengiriman diberikan di actionFieldObject:

ga('ec:addProduct', {               // Provide product details in an productFieldObject.
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'black',               // Product variant (string).
  'price': '29.20',                 // Product price (number).
  'coupon': 'APPARELSALE',          // Product coupon (string).
  'quantity': 1                     // Product quantity (number).
});

ga('ec:setAction', 'purchase', {          // Transaction details are provided in an actionFieldObject.
  'id': 'T12345',                         // (Required) Transaction id (string).
  'affiliation': 'Google Store - Online', // Affiliation (string).
  'revenue': '37.39',                     // Revenue (number).
  'tax': '2.85',                          // Tax (number).
  'shipping': '5.34',                     // Shipping (number).
  'coupon': 'SUMMER2013'                  // Transaction coupon (string).
});

actionFieldObject harus memiliki nilai id jika jenis tindakannya adalah purchase atau refund. Semua nilai lain bersifat opsional dan tidak perlu ditetapkan.

Mengukur Pengembalian Dana

Untuk mengembalikan dana seluruh transaksi, tetapkan tindakan refund dan berikan ID transaksi:

// Refund an entire transaction.
ga('ec:setAction', 'refund', {
  // Transaction ID is only required field for full refund.
  'id': 'T12345'
});

Jika transaksi yang cocok tidak ditemukan, hit refund tidak akan diproses.

Untuk mengukur pengembalian dana sebagian, tetapkan tindakan refund dan tentukan ID transaksi, ID produk, dan jumlah produk yang akan dikembalikan dananya:

// Refund a single product.
ga('ec:addProduct', {
  'id': 'P12345',       // Product ID is required for partial refund.
  'quantity': 1         // Quantity is required for partial refund.
});

ga('ec:setAction', 'refund', {
  'id': 'T12345',       // Transaction ID is required for partial refund.
});

Menggunakan Peristiwa Non-Interaksi untuk Pengembalian Dana

Jika Anda perlu mengirimkan data pengembalian dana menggunakan peristiwa dan peristiwa tersebut bukan bagian dari perilaku di tempat yang diukur secara normal (yaitu bukan dimulai oleh pengguna), sebaiknya Anda mengirim peristiwa non-interaksi. Hal ini akan mencegah metrik seperti rasio pantulan, waktu di situs, dsb. terpengaruh oleh peristiwa tersebut. Contoh:

ga('send', 'event', 'Ecommerce', 'Refund', {'nonInteraction': 1});

Mengukur Proses Checkout

Untuk mengukur setiap langkah dalam proses checkout:

  • Tambahkan kode untuk mengukur setiap langkah dalam proses checkout.
  • Jika relevan, tambahkan kode untuk mengukur opsi checkout.
  • Tetapkan nama langkah yang mudah digunakan untuk laporan funnel checkout secara opsional dengan mengonfigurasi Setelan E-commerce di bagian admin antarmuka web.

1. Mengukur Langkah Checkout

Untuk setiap langkah dalam proses checkout, Anda harus menerapkan kode yang sesuai untuk mengirim data ke Google Analytics:

  • Kolom step

    Untuk setiap langkah checkout yang diukur, Anda harus menyertakan nilai step. Nilai ini digunakan untuk memetakan tindakan checkout ke label yang Anda konfigurasikan untuk setiap langkah di Setelan E-commerce.

  • Kolom option

    Jika Anda memiliki informasi tambahan tentang langkah checkout yang diberikan pada saat langkah diukur, Anda dapat menetapkan kolom option dengan tindakan checkout untuk mengambil informasi ini. Misalnya, jenis pembayaran default untuk pengguna tersebut (misalnya, Visa).

  • Mengukur Langkah Checkout

    Agar dapat mengukur langkah checkout, gunakan ec:addProduct untuk setiap produk, dan ec:setAction mengindikasikan checkout. Jika relevan, ec:setAction dapat mengambil actionFieldObject tambahan untuk menjelaskan langkah checkout dengan step dan option.

    Contoh berikut menunjukkan cara mengukur langkah pertama proses checkout dengan satu produk, dan beberapa informasi tambahan tentang jenis pembayaran:

    ga('ec:addProduct', {               // Provide product details in an productFieldObject.
      'id': 'P12345',                   // Product ID (string).
      'name': 'Android Warhol T-Shirt', // Product name (string).
      'category': 'Apparel',            // Product category (string).
      'brand': 'Google',                // Product brand (string).
      'variant': 'black',               // Product variant (string).
      'price': '29.20',                 // Product price (number).
      'quantity': 1                     // Product quantity (number).
    });
    
    // Add the step number and additional info about the checkout to the action.
    ga('ec:setAction','checkout', {
        'step': 1,
        'option': 'Visa'
    });
    

2. Mengukur Opsi Checkout

Dengan opsi checkout, Anda dapat mengukur informasi tambahan tentang status checkout. Hal ini berguna jika Anda telah mengukur langkah checkout selama kunjungan halaman awal, tetapi informasi tambahan tentang langkah checkout yang sama tersedia setelah opsi yang dipilih pengguna ditetapkan. Misalnya, pengguna memilih metode pengiriman.

Untuk mengukur opsi checkout, gunakan ec:setAction untuk mengindikasikan checkout_option dan sertakan nomor langkah, serta deskripsi opsi.

Anda mungkin perlu mengukur tindakan ini setelah pengguna mengklik untuk melanjutkan ke langkah berikutnya dalam proses checkout. Contoh:

// (On "Next" button click)
ga('ec:setAction', 'checkout_option', {'step': 2, 'option': 'FedEx'});

ga('send', 'event', 'Checkout', 'Option', {
    hitCallback: function() {
      // advance to next page
    },
});

3. Konfigurasi Funnel Checkout

Setiap langkah dalam proses checkout dapat diberi nama deskriptif yang akan digunakan dalam laporan. Untuk mengonfigurasi nama ini, kunjungi bagian Admin pada Antarmuka Web Google Analytics, pilih tampilan (profil), lalu klik Setelan E-commerce. Ikuti petunjuk penyiapan E-commerce untuk memberi label pada setiap langkah checkout yang ingin Anda ukur.

Setelan E-commerce di bagian Admin pada antarmuka web Google Analytics. E-commerce diaktifkan dan 4 label tahapan funnel checkout telah ditambahkan: 1. Meninjau Keranjang, 2. Mengumpulkan Info Pembayaran, 3. Mengonfirmasi Detail Pembelian, 4. Tanda Terima
Gambar 1: Penyiapan E-commerce - Funnel Checkout

Mengukur Promosi Internal

Plugin Enhanced E-commerce mencakup dukungan untuk mengukur tayangan dan klik promosi internal, seperti banner yang ditampilkan untuk mempromosikan penjualan di bagian lain situs.

Tayangan Promosi

Tayangan promosi internal umumnya diukur saat halaman dimuat dan dikirim dengan kunjungan halaman awal menggunakan perintah ec:addPromo. Contoh:

ga('ec:addPromo', {               // Promo details provided in a promoFieldObject.
  'id': 'PROMO_1234',             // Promotion ID. Required (string).
  'name': 'Summer Sale',          // Promotion name (string).
  'creative': 'summer_banner2',   // Creative (string).
  'position': 'banner_slot1'      // Position  (string).
});

Klik Promosi

Klik pada promosi internal dapat diukur dengan menetapkan tindakan promo_click. Contoh:

// Identify the promotion that was clicked.
ga('ec:addPromo', {
  'id': 'PROMO_1234',
  'name': 'Summer Sale',
  'creative': 'summer_banner2',
  'position': 'banner_slot1'
});

// Send the promo_click action with an event.
ga('ec:setAction', 'promo_click');
ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');

Misalnya, untuk mengukur halaman detail produk dengan tayangan dan klik promosi, kirim data produk dan tayangan dengan kunjungan halaman awal terlebih dahulu, lalu kirim data klik promo dalam peristiwa terpisah:

// 1. Send product and impression data with pageview.
ga('ec:addProduct', {
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel',            // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'position': 1,                    // Product position (number).
});

// The impression from the Related Products section.
ga('ec:addImpression', {
  'id': 'P12345',                   // Product ID (string).
  'name': 'Android Warhol T-Shirt', // Product name (string).
  'category': 'Apparel/T-Shirts',   // Product category (string).
  'brand': 'Google',                // Product brand (string).
  'variant': 'Black',               // Product variant (string).
  'list': 'Related Products',       // Product list (string).
  'position': 1,                    // Product position (number).
});

ga('ec:setAction', 'detail');       // Detail action.

ga('send', 'pageview');             // Send the product data with initial pageview.

// 2. Send the promo click data when the promo click occurs.
// Call this function when promo click occurs.
function onPromoClick() {
  ga('ec:addPromo', {
    'id': 'PROMO_1234',
    'name': 'Summer Sale',
    'creative': 'summer_banner2',
    'position': 'banner_slot1'
  });

  // Send the promo_click action with an event.
  ga('ec:setAction', 'promo_click');
  ga('send', 'event', 'Internal Promotions', 'click', 'Summer Sale');
}

promoFieldObject harus memiliki nilai name atau id. Semua nilai lain bersifat opsional dan tidak perlu ditetapkan.

Contoh Lengkap

Cuplikan kode di bawah ini menunjukkan cara pengukuran siklus proses e-commerce sebuah produk dari tayangan awal hingga transaksi menggunakan plugin Enhanced E-commerce.

Mengukur Tayangan Produk

Dalam contoh ini, pengguna pertama kali melihat produk dalam daftar hasil penelusuran. Untuk mengukur tayangan produk ini, gunakan perintah ec:addImpression dan berikan detail produk di impressionFieldObject:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addImpression', {
  'id': 'P12345',                   // Product details are provided in an impressionFieldObject.
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel/T-Shirts',
  'brand': 'Google',
  'variant': 'black',
  'list': 'Search Results',
  'position': 1                     // 'position' indicates the product position in the list.
});

ga('ec:addImpression', {
  'id': 'P67890',
  'name': 'YouTube Organic T-Shirt',
  'category': 'Apparel/T-Shirts',
  'brand': 'YouTube',
  'variant': 'gray',
  'list': 'Search Results',
  'position': 2
});

ga('send', 'pageview');              // Send product impressions with initial pageview.

Mengukur Klik Produk

Selanjutnya, pengguna menunjukkan minat atas produk khusus ini dengan mengklik listingan produk untuk melihat detail selengkapnya.

Untuk mengukur klik produk tersebut, gunakan ec:addProduct dan ec:setAction:

// Called when a link to a product is clicked.
function onProductClick() {
  ga('ec:addProduct', {
    'id': 'P12345',
    'name': 'Android Warhol T-Shirt',
    'category': 'Apparel',
    'brand': 'Google',
    'variant': 'black',
    'position': 1
  });
  ga('ec:setAction', 'click', {list: 'Search Results'});

  // Send click with an event, then send user to product page.
  ga('send', 'event', 'UX', 'click', 'Results', {
    hitCallback: function() {
      document.location = '/product_details?id=P12345';
    }
  });
}

Link produk selanjutnya dapat diterapkan seperti ini:

<a href="/next-page.html"
   onclick="onProductClick(); return !ga.loaded;">
  Android Warhol T-Shirt
</a>

Mengukur Tampilan Detail Produk

Setelah mengklik listingan produk, pengguna melihat halaman detail produk.

Untuk mengukur tampilan detail produk ini, gunakan ec:addProduct dan ec:setAction untuk menentukan tindakan detail:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black'
});

ga('ec:setAction', 'detail');

ga('send', 'pageview');       // Send product details view with the initial pageview.

Mengukur Penambahan atau Penghapusan dari Keranjang

Pengguna menyatakan niat untuk membeli item dengan menambahkannya ke keranjang belanja.

Untuk mengukur penambahan atau penghapusan produk dari keranjang belanja, gunakan ec:addProduct dan tetapkan jenis add atau remove:

// Called when a product is added to a shopping cart.
function addToCart(product) {
  ga('ec:addProduct', {
    'id': product.id,
    'name': product.name,
    'category': product.category,
    'brand': product.brand,
    'variant': product.variant,
    'price': product.price,
    'quantity': product.qty
  });
  ga('ec:setAction', 'add');
  ga('send', 'event', 'UX', 'click', 'add to cart');     // Send data using an event.
}

Mengukur Proses Checkout

Sekarang pengguna siap memulai proses checkout, yang dalam contoh ini mencakup dua langkah, masing-masing di halaman terpisah:

  • Tambahkan detail pembayaran (payment.html).
  • Tambahkan detail pengiriman (shipping.html).

Jika relevan, pastikan Anda telah mengonfigurasi funnel checkout dengan benar di Admin Antarmuka Web, di bagian Setelan E-commerce. Contoh:

Setelan E-commerce di bagian Admin pada antarmuka web Google Analytics. E-commerce diaktifkan dan label tahapan funnel checkout telah ditambahkan: 1. Detail Pembayaran, dan 2. Detail Pengiriman
Gambar 2: Penyiapan E-commerce - Funnel Checkout

Langkah 1 - Pembayaran

Untuk mengukur langkah pertama checkout, gunakan ec:addProduct untuk setiap produk di keranjang belanja, dan ec:setAction untuk menunjukkan checkout. ec:setAction menggunakan actionFieldObject untuk menjelaskan langkah checkout dengan nomor dan informasi tambahan tentang jenis pembayaran default untuk pengguna ini telah disertakan menggunakan kolom option:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

/**
 * Called when the user begins the checkout process.
 * @param {Array} cart An array representing the user's shopping cart.
 */
function checkout(cart) {
  for(var i = 0; i < cart.length; i++) {
    var product = cart[i];
    ga('ec:addProduct', {
      'id': product.id,
      'name': product.name,
      'category': product.category,
      'brand': product.brand,
      'variant':  product.variant,
      'price': product.price,
      'quantity': product.qty
    });
  }
}

// In the case of checkout actions, an additional actionFieldObject can
// specify a checkout step and option.
ga('ec:setAction','checkout', {
    'step': 1,            // A value of 1 indicates this action is first checkout step.
    'option': 'Visa'      // Used to specify additional info about a checkout stage, e.g. payment method.
});
ga('send', 'pageview');   // Pageview for payment.html

Langkah 2 - Pengiriman

Untuk mengukur langkah kedua checkout, gunakan ec:addProduct untuk setiap produk di keranjang belanja, dan ec:setAction untuk menunjukkan checkout. Dalam kasus ini, kita tidak memiliki informasi tambahan tentang opsi pengiriman yang dipilih saat kunjungan halaman awal dikirim, sehingga akan ditangani secara terpisah menggunakan ec:setAction untuk menunjukkan checkout_option.

// Measure checkout step 2:
ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

/**
 * Called when the user begins the checkout process.
 * @param {Array} cart An array representing the user's shopping cart.
 */
function checkout(cart) {
  for(var i = 0; i < cart.length; i++) {
    var product = cart[i];
    ga('ec:addProduct', {
      'id': product.id,
      'name': product.name,
      'category': product.category,
      'brand': product.brand,
      'variant':  product.variant,
      'price': product.price,
      'quantity': product.qty
    });
  }
}

ga('ec:setAction','checkout', {'step': 2});
ga('send', 'pageview');     // Pageview for shipping.html

// Called when user has completed shipping options.
function onShippingComplete(stepNumber, shippingOption) {
  ga('ec:setAction', 'checkout_option', {
    'step': stepNumber,
    'option': shippingOption
  });

  ga('send', 'event', 'Checkout', 'Option', {
     hitCallback: function() {
       // Advance to next page.
     }
  });
}

Kemudian, formulir dapat diterapkan seperti ini:

<a href="/next-page.html"
   onclick="onShippingComplete(2, 'FedEx'); return !ga.loaded;">
  Continue
</a>

Mengukur Transaksi

Terakhir, pengguna menyelesaikan proses checkout dan mengirim pembelian mereka.

Untuk mengukur penjualan dari satu atau beberapa produk, gunakan ec:addProduct untuk menambahkan setiap produk, lalu ec:setAction untuk menentukan purchase. Informasi tingkat transaksi seperti total pendapatan, pajak, dsb. dapat ditentukan melalui actionFieldObject. Contoh:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black',
  'price': '29.20',
  'quantity': 1
});

// Transaction level information is provided via an actionFieldObject.
ga('ec:setAction', 'purchase', {
  'id': 'T12345',
  'affiliation': 'Google Store - Online',
  'revenue': '37.39',
  'tax': '2.85',
  'shipping': '5.34',
  'coupon': 'SUMMER2013'    // User added a coupon at checkout.
});

ga('send', 'pageview');     // Send transaction data with initial pageview.

Menentukan Mata Uang Lokal

Secara default, Anda dapat mengonfigurasi mata uang umum dan global untuk semua transaksi dan item melalui antarmuka web pengelolaan Google Analytics. Secara default, mata uang global digunakan untuk semua item dan transaksi. Untuk situs yang melakukan transaksi dengan beberapa mata uang, plugin e-commerce memungkinkan Anda menentukan mata uang lokal untuk transaksi.

Mata uang lokal harus ditentukan dalam standar ISO 4217. Baca dokumen Referensi Kode Mata Uang untuk mengetahui daftar lengkap mata uang konversi yang didukung.

Mata uang lokal ditentukan menggunakan properti pelacak currencyCode. Misalnya, pelacak ini akan mengirimkan nilai mata uang sebagai Euro:

ga('create', 'UA-XXXXX-Y');
ga('require', 'ec');

ga('set', 'currencyCode', 'EUR'); // Set currency to Euros.

ga('ec:addProduct', {
  'id': 'P12345',
  'name': 'Android Warhol T-Shirt',
  'category': 'Apparel',
  'brand': 'Google',
  'variant': 'black',
  'price': '21.89',
  'quantity': 1
});

ga('ec:setAction', 'purchase', {
  id: 'T12345',
  affiliation: 'Google Store - Online',
  revenue: '28.03',
  tax: '2.14',
  shipping: '4.00',
  coupon: 'SUMMER2013'
});

ga('send', 'pageview');