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 |
name |
teks | *Ya |
Nama produk (misalnya, Kaus Android).
* Salah satu dari |
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 |
teks | *Ya |
Nama produk (misalnya, Kaus Android).
* Salah satu dari ID atau |
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 |
name |
teks | *Ya |
Nama promosi (misalnya, Summer Sale).
* Salah satu dari |
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 |
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
- Mengukur Transaksi
- Mengukur Pengembalian Dana
- Mengukur Proses Checkout
- Mengukur Promosi Internal
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 tindakancheckout
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, danec:setAction
mengindikasikan checkout. Jika relevan,ec:setAction
dapat mengambilactionFieldObject
tambahan untuk menjelaskan langkah checkout denganstep
danoption
.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.
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:
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');