Bagaimana cara mengetahui pengguna apa yang menggunakan kode kupon apa?

9

Saya memiliki beberapa kode kupon di toko saya, dan saya ingin dapat melacak kode apa yang mungkin digunakan pengguna. Sebaliknya, apakah ada cara untuk melihat berapa kali kode tertentu digunakan?

Aturan Christina
sumber
1
Apakah ada yang bisa saya lakukan untuk membantu Anda menutup ini? Beri tahu saya jika ada solusi di bawah ini yang membantu.
philwinkle

Jawaban:

9

Pelanggan mana yang menggunakan kupon:

Saya biasanya menghindar dari permintaan db mentah, tetapi dalam hal ini saya akan membuat pengecualian:

select customer_email, group_concat(distinct sfo.coupon_code) from sales_flat_order sfo
where coupon_code is not null
group by customer_email;

Anda dapat melakukan hal yang sama dengan ORM Magento - akan merumuskan sebuah Langgan tentang cara melakukan itu dan mengedit sesudahnya dan inilah caranya :

$coll = Mage::getModel('sales/order')->getCollection()
    ->getSelect()->reset(Zend_Db_Select::COLUMNS)
    ->columns(array('customer_email',new Zend_Db_Expr('group_concat(distinct coupon_code)')))
    ->where(new Zend_Db_Expr('coupon_code is not null'))
    ->group(array('customer_email'));

Berapa kali kupon digunakan:

Seperti yang sudah ditunjukkan dalam jawaban lain ini ada dalam laporan. Pada tingkat paling dasar, kueri untuk itu adalah:

select coupon_code,count(coupon_code) from sales_flat_order
group by coupon_code;

Cara penanganan ORM-sentris ini juga cukup mudah:

$coll = Mage::getModel('sales/order')->getCollection()
    ->getSelect()->reset(Zend_Db_Select::COLUMNS)
    ->columns(array('coupon_code',new Zend_Db_Expr('count(coupon_code)')))
    ->group(array('coupon_code'));

Perhatikan bahwa ini tidak memperhitungkan status pesanan akun atau pembayaran yang ditagih.

Philwinkle
sumber
Di mana menambahkan kode ini untuk membuat pekerjaan "Pelanggan yang menggunakan kupon" di magento 1.9
Jai
Ini adalah bahan menjalankan dari skrip PHP dalam konteks toko Magento.
philwinkle
benar dan saya bertanya lokasi file. Anda dapat memposting apa yang telah Anda lakukan untuk menjelaskan kepada saya.
Jai
Bukankah itu kupon? Itu hanya promo? Saya pikir itu agak jelas mengingat pertanyaan itu secara khusus tentang kode.
philwinkle
6

Reports > Sales > Couponsdi area admin Anda akan membiarkan Anda melihat berapa kali kode diskon tertentu digunakan, jumlah penjualan yang dihasilkan dan jumlah total diskon yang diberikan untuk masing-masing juga. Anda dapat memfilternya berdasarkan hari, bulan, tahun dll.You can also filter by order status and for a certain date period.

MagentoMac
sumber
Blair terima kasih! Apakah Anda tahu jika ada cara untuk melihat pengguna mana yang menggunakan kode tertentu?
Peraturan Christina
1
Tidak ada fungsi bawaan Magento untuk melakukan ini. (Selain melihat setiap pesanan secara individual). Tetapi informasi tersebut dapat dengan mudah ditarik ke halaman mana saja di area admin yang Anda inginkan. Bagaimanapun, data disimpan dalam tabel database. Jadi misalnya, Anda memiliki Laporan> Pelanggan> Pelanggan berdasarkan total pesanan, ini akan menjadi tempat untuk menarik ini. Hanya membuat kolom yang disebut "kupon" atau sejenisnya, dan memasukkan kode di tempat yang digunakan.
MagentoMac
Sesuatu seperti modul ini di bawah ini juga akan memungkinkan Anda untuk menambahkan "kode kupon" ke halaman Penjualan> Pesanan, amasty.com/better-order-management.html yang menurut saya persis seperti apa yang Anda cari?
MagentoMac
2

Laporan default tersedia di laporan -> penjualan -> kupon.

Dan dengan skrip Anda dapat menemukan penghitungan kupon bekas pakai dan detail pelanggan dengan sangat mudah:

$coupon = Mage::getModel('salesrule/coupon/usage');
$coupon->load('code', 'coupon_id');
if($coupon->getId()) {
    $timesUsed = $coupon->getTimesUsed();
    $customer = $coupon->getCustomerId();
    echo $timesUsed;
    echo $customer;
}
Kajal S
sumber
Di mana lokasi untuk meletakkan kode ini?
Jai
Dalam kode Anda, bagaimana $couponpelanggan tertentu terikat dengan objek? Sepertinya Anda melewatkan sesuatu.
Nick Rolando
1

Saya memiliki permintaan serupa dari klien kami, mereka ingin tahu kupon apa yang digunakan jika ada pada pesanan tertentu

untuk saat ini saya melakukan ini secara manual di db tetapi segera setelah saya membuat ekstensi untuk ini saya akan memperbarui pertanyaan saya, semoga ini akan membantu sementara itu

   SELECT sfo.customer_id AS customer, ce.email, GROUP_CONCAT(cev.value SEPARATOR ' ') as name,
sfo.entity_id, sfo.increment_id,scu.times_used,sc.coupon_id,sc.rule_id,sc.code FROM sales_flat_order sfo 
LEFT JOIN salesrule_coupon_usage scu ON sfo.customer_id = scu.customer_id LEFT JOIN salesrule_coupon sc 
ON sc.coupon_id = scu.coupon_id LEFT JOIN customer_entity ce ON ce.entity_id = sfo.customer_id 
LEFT JOIN customer_entity_varchar cev ON cev.entity_id = sfo.customer_id WHERE (cev.attribute_id IN (5,7) 
OR cev.attribute_id IS NULL) GROUP BY sfo.increment_id ORDER BY sfo.increment_id;

beberapa baris mungkin penuh dengan nol, ini lebih mungkin pelanggan tamu dan beberapa akan memiliki nol dalam info kupon, ini akan menjadi pesanan di mana kupon tidak digunakan

Tomhre
sumber
Di mana lokasi untuk meletakkan kode Anda?
Jai
0

Ada modul kupon open source yang telah saya gunakan (Magento 1 - EE) https://github.com/pavelnovitsky/CouponUsage

Itu menciptakan kisi admin baru:

Admin > Promotions > Coupon Usage   

yang menghubungkan kupon dengan pesanan. Saya dapat mengkonfirmasi bahwa itu bekerja dengan baik, meskipun sekarang sudah berumur beberapa tahun.

Silas Palmer
sumber
0

Di toko Magento ce-1.8.1.0 saya menemukan bidang database applied_rule_idsdi tabel sales_flat_order. Sepertinya ini cocok dengan id dari Shopping Cart Price Ruleshalaman.

Dapat berguna jika Anda telah membuat kode kupon:

`SELECT COUNT (*) FROM sales_flat_order tempat FIND_IN_SET ('1', diterapkan_rule_ids)

PiNomor
sumber
1
dipisahkan koma karena mungkin ada beberapa aturan yang terlibat. Jadi lebih baik gunakan FIND_IN_SET()daripada=
Fabian Schmengler
0

Saya memiliki kode kupon yang memiliki nilai Penggunaan Per Pelanggan 1, dan saya tidak dapat menggunakannya di akun pelanggan saya. Jadi saya meminta sales_flat_ordertabel karena jawaban lain menyarankan untuk melihat berapa kali saya menggunakan kode ini, dan tidak ada urutan saya di tabel itu yang menunjukkan saya menggunakan kode kupon yang dimaksud. Saya harus menggali kode dan menemukan di Mage_SalesRule_Model_Validator::_canProcessRule()dalamnya benar-benar memeriksa tabel salesrule_coupon_usagedan salesrule_customer..

select * from production.mage_salesrule_customer
where customer_id = 58394  

Kueri di atas ini menunjukkan bahwa saya pernah menggunakan kupon satu kali. Saya tidak tahu mengapa ini menunjukkan saya menggunakannya sekali, dan mengapa tidak ada catatan penggunaan saya di tabel pesanan (belum), tapi saya harap ini membantu orang lain yang sedang berjuang untuk mencari tahu ini.

Nick Rolando
sumber
0

Untuk magento 2, jalankan sql ini untuk mendapatkan email pelanggan, kode kupon, jumlah diskon, jumlah total dan id kenaikan

select a.customer_email, a.coupon_code, b.increment_id, a.discount_amount, 
a.grand_total from `sales_order` as a, `sales_order_grid` as b where 
coupon_code is not null AND a.`entity_id` = b.`entity_id`
Rav
sumber