ฉันมีรหัสคูปองสองสามตัวในร้านค้าของฉันและฉันต้องการติดตามรหัสที่ผู้ใช้อาจใช้ ในทางกลับกันมีวิธีดูจำนวนครั้งที่ใช้รหัสเฉพาะหรือไม่
ฉันมีรหัสคูปองสองสามตัวในร้านค้าของฉันและฉันต้องการติดตามรหัสที่ผู้ใช้อาจใช้ ในทางกลับกันมีวิธีดูจำนวนครั้งที่ใช้รหัสเฉพาะหรือไม่
คำตอบ:
ลูกค้าคนไหนที่ใช้คูปอง:
ฉันมักจะอายจากแบบสอบถาม db ดิบ แต่ในกรณีนี้ฉันจะยกเว้น:
select customer_email, group_concat(distinct sfo.coupon_code) from sales_flat_order sfo
where coupon_code is not null
group by customer_email;
คุณสามารถทำเช่นเดียวกันกับ Magento ORM - จะจัดทำบทความเกี่ยวกับวิธีการทำและแก้ไขหลังจากนั้น และนี่คือวิธี :
$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'));
มีการใช้คูปองกี่ครั้ง:
ตามที่ระบุไว้แล้วในคำตอบอื่นนี้อยู่ในรายงาน ในระดับพื้นฐานที่สุดข้อความค้นหาจะเป็น:
select coupon_code,count(coupon_code) from sales_flat_order
group by coupon_code;
วิธีการจัดการ ORM เป็นศูนย์กลางนี้ก็ตรงไปตรงมาค่อนข้าง:
$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'));
โปรดทราบว่าสิ่งนี้ไม่คำนึงถึงสถานะคำสั่งซื้อของบัญชีหรือการชำระเงินตามใบแจ้งหนี้
Reports > Sales > Coupons
ในส่วนผู้ดูแลระบบของคุณจะช่วยให้คุณเห็นว่ามีการใช้รหัสส่วนลดจำนวนเท่าไรปริมาณการขายที่สร้างขึ้นและจำนวนส่วนลดรวมที่มอบให้สำหรับแต่ละรายการเช่นกัน คุณสามารถกรองมันตามวันเดือนปี ฯลฯYou can also filter by order status and for a certain date period.
รายงานเริ่มต้นมีอยู่ในรายงาน -> การขาย -> คูปอง
และด้วยสคริปต์คุณสามารถค้นหาจำนวนรัฐประหารที่ใช้แล้วและรายละเอียดลูกค้าได้อย่างง่ายดายมาก:
$coupon = Mage::getModel('salesrule/coupon/usage');
$coupon->load('code', 'coupon_id');
if($coupon->getId()) {
$timesUsed = $coupon->getTimesUsed();
$customer = $coupon->getCustomerId();
echo $timesUsed;
echo $customer;
}
$coupon
ลูกค้ารายใดผูกติดอยู่กับวัตถุอย่างไร ดูเหมือนว่าคุณขาดอะไรไป
ฉันมีคำขอที่คล้ายกันจากลูกค้าของเราพวกเขาต้องการทราบว่ามีการใช้คูปองใดหากมีการสั่งซื้อเฉพาะ
สำหรับตอนนี้ฉันกำลังทำสิ่งนี้ด้วยตนเองใน db แต่ทันทีที่ฉันจะทำส่วนขยายสำหรับสิ่งนี้ฉันจะอัปเดตคำถามของฉันหวังว่าสิ่งนี้จะช่วยในขณะเดียวกัน
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;
บางบรรทัดอาจเต็มไปด้วยค่า Null ซึ่งเป็นลูกค้าที่มีแนวโน้มมากขึ้นและบางรายอาจมีข้อมูลเป็นโมฆะในคูปองซึ่งจะเป็นคำสั่งซื้อที่ไม่ได้ใช้คูปอง
มีโมดูลคูปองโอเพ่นซอร์สที่ฉันใช้ (Magento 1 - EE) https://github.com/pavelnovitsky/CouponUsage
มันสร้างกริดผู้ดูแลระบบใหม่:
Admin > Promotions > Coupon Usage
ซึ่งเชื่อมโยงคูปองกับคำสั่งซื้อ ฉันสามารถยืนยันได้ว่ามันใช้งานได้ดีแม้ว่าตอนนี้จะมีอายุไม่กี่ปีก็ตาม
ในวีโอไอพี CE-1.8.1.0 ร้านผมพบข้อมูลฐานข้อมูลในตารางapplied_rule_ids
sales_flat_order
ดูเหมือนว่าตรงกับรหัสจากShopping Cart Price Rules
หน้า
อาจมีประโยชน์หากคุณสร้างรหัสคูปอง:
`เลือก COUNT (*) จาก sales_flat_order โดยที่ FIND_IN_SET ('1', Apply_rule_ids)
FIND_IN_SET()
แทน=
ฉันมีรหัสคูปองที่มีมูลค่าการใช้ต่อลูกค้า 1 และฉันไม่สามารถใช้ในบัญชีลูกค้าของฉันได้ ดังนั้นฉันจึงค้นหาsales_flat_order
ตารางตามคำตอบอื่น ๆ ที่แนะนำให้ดูว่าฉันใช้รหัสนี้ไปกี่ครั้งและไม่มีคำสั่งของฉันในตารางนั้นที่แสดงว่าฉันใช้รหัสคูปองที่เป็นปัญหา ฉันต้องขุดรหัสและพบว่าMage_SalesRule_Model_Validator::_canProcessRule()
มันตรวจสอบตารางsalesrule_coupon_usage
และsalesrule_customer
..
select * from production.mage_salesrule_customer
where customer_id = 58394
ข้อความค้นหาด้านบนนี้แสดงว่าฉันใช้คูปองครั้งเดียวแล้ว ฉันไม่ทราบว่าเพราะเหตุใดจึงแสดงว่าฉันใช้เพียงครั้งเดียวและทำไมไม่มีบันทึกการใช้งานของฉันในตารางคำสั่งซื้อ (ยัง) แต่ฉันหวังว่าสิ่งนี้จะช่วยให้คนอื่นที่พยายามดิ้นรนหาเรื่องนี้
สำหรับ magento 2 โปรดเรียกใช้ sql นี้เพื่อรับอีเมลลูกค้ารหัสคูปองจำนวนส่วนลดยอดรวมทั้งหมดและรหัสส่วนเพิ่ม
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`