Products with good customer ratings and reviews improve Google search results and give customers more buying confidence but how do we encourage customers to complete product reviews?
This Magento module helps to get more Magento customer product feedback by giving customers the opportunity and incentives to complete reviews and ratings for products they have recently purchased.
HOW IT WORKS
The code in the module is called at checkout caching customer information and products ordered. The module then uses the Magento scheduling system to execute code that regularly checks the cached files to create a customised customer feedback email containing direct links to the review pages of the products the customer has ordered.
When configurable parameters, such as order status, or elapsed time since the order was placed are met the email is sent to the customer and the order status updated.
The customer feedback email allows you to directly follow up every customer order and offer incentives to the customer to complete product reviews and ratings. An example email is shown below.
Tested with Magento CE 1.3-1.9.x
GIT – https://github.com/gaiterjones/magento-GetCustomerFeedback note – the latest code will always be available at the git hub for download.
Place an order in my development store to test the customer feedback email yourself.
This module was originally coded in 2013. I updated it in 2017 with some bug fixes, better translation options and a new responsive email template.INSTALLATION
Prerequisites : PHP5.4+, Working Magento scheduling system, Magento CE 1.x
To install this module:
modman clone https://github.com/gaiterjones/magento-GetCustomerFeedback.git
1. Unzip the module and copy the contents of the modules app folder to the app folder of your Magento store installation.
2. Ensure that the module /cache folder has write permission set to allow the WWW user group write access. The module caches customer and product information in this folder.
3. Refresh the Magento Store cache
4. Logout and login back into the admin backend, goto System – Configuration and locate the configuration settings under My Extensions – Get Customer Feedback.
Email body content:
Enter the text that will form the main body of the customer email here, this text appears before the product information. You may use HTML.
For example for the offer shown in the example above I used the following HTML, remember you should replace special characters with html entities.:
<p align="center"><img src="/images/articles/comp_win50.jpg" width="650" height="130" align="middle" /></p> <p align="left">Thankyou for your recent order, we hope you are very happy with your products. We value your opinion so simply tell us what you think about your purchases and you could win £50 to spend with us.</p>
Email footer content:
Enter the text that will form the footer of the customer email here, this text appears below the product information. You may use HTML.
Enter a custom subject for the feedback email, if left blank subject is “STORENAME : Your Order # ORDERNUMBER”.
Leave feedback icon URL:
To specify your own Get Feedback icon image in the customer feedback email enter the image URL here. If no image url is specified the text “Leave Feedback” will be used.
Send feedback request email :
Specify when the email should be sent, immediately after the order completion or after a specific period of time to allow the customer time to receive the products and form an opinion. When order status check is set to YES, email will be sent X days after order status is set to complete.
Check order status: YES/NO
To only send customer feedback emails when the order status is “Complete” set this field to YES.
Test mode enabled: YES/NO
In test mode customer feedback emails are sent to the general email address of your store and not to the customer. When you are happy that the emails are formatted correctly set this option to NO and emails will be sent to the customer. Test mode is enabled by default.
To test your email and cron settings rename the test email file in the cache folder to GetCustomerFeedback.emailtest
The module will now send a test email to the general store address every time the cron scheduler runs. Delete or rename this file to stop the test emails.
Use PHP email
Send customer feedback emails using the Magento email system or directly via PHP. To BCC feedback emails use PHP email mode.
To test that you are receiving emails from the module rename the file GetCustomerFeedback.emailtestOFF in the cache folder removing the word OFF from the end. The module will send you an email every time the Magento cron.php runs. Note the default cron task is set to once per hour, you can manually change this in the module config files to a shorter period for testing if required. If you receive the test email you know the module cron task is running and email is functioning. Rename the control file again to turn off the test emails.
URL Tracking tags:
Specify Google UTM tags here to track traffic generated by customer feedback emails.
Send alert emails: YES/NO
The module will send alert emails to the general email address of the store when errors are detected, enable this option during testing and disable afterwards when the module is functioning correctly.
Edit Locale Files for Translations
In the root folder of the extension is an example locale file named translation_store_id_1.txt this will be used to translate phrases used by the extension that cannot be set in admin. If you have a multi language store a translation file should exist here for each store, i.e. if your store ID 1 is French and store ID2 is German then your translation_store_id_1.txt file should contain English to French translations and you should create a second file called translation_store_id_2.txt containing English to German translations.
ENABLE MAGENTO SCHEDULING
Magento uses a single file named cron.php to execute all its scheduled tasks – cron.php should be executed regularly to allow configured background tasks in Magento to run and is also used by this module. For example to run cron.php every 5 minutes add the following or similar to your crontab (crontab -e):
*/5 * * * * /usr/bin/php -f /PATH-TO-MAGENTO/cron.php
Alternatively for testing you can execute cron.php from your browser by browsing to
When you manually execute the cron job you may want to change the configured cron schedule from every hour to every minute by editing the config.xml module file otherwise your manual cron job will only run once per hour.