मुझे कैसे पता चलेगा कि उपयोगकर्ता ने किस कूपन कोड का उपयोग किया है?


9

मेरे स्टोर में कुछ कूपन कोड हैं, और मैं यह ट्रैक करने में सक्षम होना चाहता हूं कि उपयोगकर्ता ने किस कोड का उपयोग किया हो। इसके विपरीत, यह देखने का एक तरीका है कि किसी विशेष कोड का कितनी बार उपयोग किया गया था?


1
क्या ऐसा कुछ है जो मैं आपको इसे बंद करने में मदद कर सकता हूं? मुझे पता है कि नीचे दिए गए किसी भी समाधान में मदद मिली है।
२२:१३ को दार्इंलिंक

जवाबों:


9

कौन से ग्राहक किस कूपन का उपयोग करते हैं:

मैं आमतौर पर कच्चे 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;

इसे संभालने का ओआरएम-केंद्रित तरीका भी काफी सरल है:

$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'));

ध्यान दें कि यह खाता आदेश स्थिति या चालान भुगतान में नहीं लेता है।


Magento 1.9 में काम करने के लिए इस कोड को जोड़ने के लिए "कौन से ग्राहक किस कूपन का इस्तेमाल करते हैं"
जय

यह Magento स्टोर के संदर्भ में एक PHP स्क्रिप्ट से चलने का एक मैटर है।
दार्शनिक

सही है और मैं फ़ाइल का स्थान पूछ रहा हूँ। आपने मुझे समझाने के लिए जो किया है, उसे आप पोस्ट कर सकते हैं।
जय

क्या तब कूपन नहीं है? यह सिर्फ एक प्रोमो है? मुझे लगता है कि यह स्पष्ट है कि प्रश्न विशेष रूप से कोड के बारे में था।
फिल्हाल

6

Reports > Sales > Couponsआपके व्यवस्थापक क्षेत्र में आपको यह देखने को मिलेगा कि किसी विशेष छूट कोड का कितनी बार उपयोग किया गया था, प्रत्येक के लिए दी गई बिक्री की मात्रा और कुल छूट की राशि भी। आप इसे दिन, महीने, वर्ष आदि के हिसाब से फ़िल्टर कर सकते हैं।You can also filter by order status and for a certain date period.


धन्यवाद ब्लेयर! क्या आप जानते हैं कि क्या यह देखने का कोई तरीका है कि मेरे किसी उपयोगकर्ता ने किसी विशिष्ट कोड का उपयोग किया है?
क्रिस्टीना नियम

1
ऐसा करने के लिए Magento की डिफ़ॉल्ट कार्यक्षमता में कुछ भी नहीं है। (प्रत्येक आदेश को व्यक्तिगत रूप से देखने के अलावा)। लेकिन आसानी से जानकारी को उस क्षेत्र में खींचा जा सकता है जिस पर आप चाहते हैं कि व्यवस्थापक क्षेत्र में कभी पृष्ठ। डेटा सब के बाद एक डेटाबेस तालिका में संग्रहीत किया जाता है। उदाहरण के लिए, आपके पास रिपोर्ट्स> ग्राहक> ऑर्डर योग द्वारा ग्राहक हैं, यह इसे खींचने के लिए जगह हो सकती है। बस "कूपन" या इस तरह का एक कॉलम बनाना, और जहां उपयोग किया जाता है वहां कोड डालना।
22

नीचे दिए गए इस मॉड्यूल जैसा कुछ आपको बिक्री> आदेश पृष्ठ, amasty.com/better-order-management.html पर "कूपन कोड" जोड़ने की अनुमति देगा, जो मुझे लगता है कि वास्तव में आप क्या देख रहे हैं?
MagentoMac

2

डिफ़ॉल्ट रिपोर्ट रिपोर्ट -> बिक्री -> कूपन में उपलब्ध है।

और स्क्रिप्ट के साथ आप बहुत आसानी से इस्तेमाल किए जाने वाले कूपेन काउंट और ग्राहक विवरण पा सकते हैं:

$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एक विशिष्ट ग्राहक को ऑब्जेक्ट से कैसे जोड़ा जाता है? लगता है जैसे आप कुछ याद कर रहे हैं।
निक रोलैंडो

1

हमारे पास हमारे ग्राहक से एक समान अनुरोध था, वे जानना चाहते थे कि किसी विशेष आदेश पर यदि कूपन का उपयोग किया जाता है

अभी के लिए मैं इसे 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;

कुछ पंक्तियाँ संभवतया nulls से भरी हो सकती हैं, यह अधिक संभावना वाले अतिथि ग्राहक हैं और कुछ के पास कूपन जानकारी में नल होंगे, ये ऐसे आदेश होंगे जहाँ कूपन का उपयोग नहीं किया गया था


अपना कोड डालने के लिए किस स्थान पर?
जय

0

एक खुला स्रोत कूपन मॉड्यूल है जिसका मैंने उपयोग किया है (Magento 1 - EE) https://github.com/pavelnovitsky/CouponUsage

यह एक नया व्यवस्थापक ग्रिड बनाता है:

Admin > Promotions > Coupon Usage   

जो कूपन को आदेशों से जोड़ता है। मैं पुष्टि कर सकता हूं कि यह अच्छी तरह से काम करता है, भले ही यह अब कुछ साल पुराना है।


0

एक Magento CE-1.8.1.0 दुकान में मुझे applied_rule_idsतालिका में डेटाबेस फ़ील्ड मिला sales_flat_order। ऐसा लगता है कि यह Shopping Cart Price Rulesपृष्ठ से आईडी से मेल खाता है ।

यदि आपने कूपन कोड बनाए हैं तो उपयोगी हो सकते हैं:

`SELECT COUNT (*) FROM_IN_SET ('1', apply_rule_ids) से विक्रय_फ्लैट_ऑर्डर से


1
यह अल्पविराम अलग हो गया है क्योंकि इसमें कई नियम शामिल हो सकते हैं। FIND_IN_SET()इसके बजाय बेहतर उपयोग=
फैबियन शेंगलर

0

मेरे पास एक कूपन कोड है जिसका उपयोग प्रति ग्राहक 1 का उपयोग करता है, और मैं इसे अपने ग्राहक खाते पर उपयोग करने में सक्षम नहीं हूं। इसलिए मैं sales_flat_orderतालिका पर सवाल करता हूं क्योंकि अन्य उत्तर यह देखने का सुझाव देते हैं कि मैंने इस कोड का कितनी बार उपयोग किया है, और उस तालिका में मेरा कोई आदेश नहीं था जो दिखाता है कि मैंने प्रश्न में कूपन कोड का उपयोग किया था। मुझे कोड के माध्यम से खुदाई करना था और इसमें पाया गया Mage_SalesRule_Model_Validator::_canProcessRule()कि वास्तव में तालिकाओं की जांच करता है salesrule_coupon_usageऔर salesrule_customer।।

select * from production.mage_salesrule_customer
where customer_id = 58394  

उपरोक्त क्वेरी ने दिखाया कि मैंने एक बार कूपन का उपयोग किया था। मुझे नहीं पता कि यह क्यों दिखाता है कि मैंने एक बार इसका इस्तेमाल किया था, और आदेश तालिका (अभी तक) में मेरे उपयोग का कोई रिकॉर्ड क्यों नहीं है, लेकिन मुझे आशा है कि यह किसी और की मदद करता है जो इसे पता लगाने के लिए संघर्ष कर रहा था।


0

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`
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.