Follow us on Twitter X-Cart on Facebook Wiki
Shopping cart software Solutions for online shops and malls
 

Abandon Shopping Cart Mod

 
Reply
   X-Cart forums > X-Cart 4 > Dev Questions
 
Thread Tools Search this Thread
  #1  
Old 05-16-2008, 04:56 AM
  ShishaPipeUK's Avatar 
ShishaPipeUK ShishaPipeUK is offline
 

Senior Member
  
Join Date: Jul 2005
Location: London, England.
Posts: 118
 

Talking Abandon Shopping Cart Mod

First of all the reason for posting this modification is so that we can improve the modification and we may get x-cart to include this modification FREE in there software.

If there are any product items in a shopping cart, but the user does not checkout and of cause he/she is registered so we have a email address the Abandon Cart modification below will automatically send your customer a email, after a certain time the latest product was added to this user's Cart.(recommend 3600 seconds = 1 hour)
There is a section in the Admin area which you can enter the time in seconds - admin, general settings, reminder options section.

If a order is queued, processed or failed an abandon cart email will not be sent to the customer, only when the order is not finished or abandoned.

With this modification you have the option to run a cron script (You can enter a secret key in admin, general settings, reminder options section so it can't be run without your knowledge) as well as manually execute the abandon cart emails with a new admin abandon cart menu placed above the orders in admin section.

So if a customer decides to enter items to there shopping cart yet leaves the site before checking out the below modification will automatically email the customer this template below.

**Template for abandon cart email **
Dear [customer name],

Thank you for stopping by [company name] and considering us for your purchase. We noticed that during a visit to our store you placed the following item(s) in your shopping cart, but did not complete the transaction.

Shopping Cart Contents:

[quantity] x [product]

[url of product location]

We are always interested in knowing what happened and if there was a reason that you decided not to purchase at this time for example, if you added the items to the cart to complete your purchase at a later time, then you can simply log into your account and the items in the cart will be restored, ready for you to complete your order. If you could be so kind as to let us know if you had any issues or concerns, we would appreciate it. We are asking for feedback from you and others as to how we can help make your experience at [company name] better.

PLEASE NOTE:
If you believe you completed your purchase and are wondering why it was not delivered, this email is an indication that your order was NOT completed, and that you have NOT been charged! Please return to the store in order to complete your order.

Our apologies if you already completed your purchase, we try not to send these messages in those cases, but sometimes it is hard for us to tell depending on individual circumstances.

Again, thank you for your time and consideration in helping us improve the [web site shop url] website.

Sincerely,

[company name]
[web site shop url]

P.S. If you would like to still place an order, then why not take advantage of our 10% off voucher code? Simply enter MYFIRSTORDER into the Coupon Code box when you view your cart and you will receive 10% off

Also added a wishlist email to email customers automatically that have items in there wish list.

**Template for wishlist email **
Subject: [Company name] Wishlist
Email Content:

Hi [name], you have some items in your wish list and we are sending you a email to remind you of the items.

[sku] [product] [quantity]

You can log into your account at [url link to home.php page] and then click on your wish list to the right near your profile details and cart information.

Original Files that have to be changed
auth.php
init.php
skin1/admin/menu.tpl
skin1/single/home.tpl

New Files
admin/abandoned.php
include/chech_abandoned.php
include/func/func.abandoned.php
skin1/admin/main/abandoned.tpl
skin1/mail/abandoned_cart.tpl
skin1/mail/abandoned_cart_content.tpl
skin1/mail/abandoned_cart_subj.tpl
skin1/mail/abandoned_wishlist.tpl
skin1/mail/abandoned_wishlist_content.tpl
skin1/mail/abandoned_wishlist_subj.tpl

To apply the changes do the following:
1. Download and unzip the abandon_cart.zip file which includes the patch.sql and patch.diff files.
2. Apply the SQL changes (Open the Patch/Upgrade page in admin area and select the patch.sql from the archive for the "Apply SQL patch" section).
3. Apply the code and template changes by selecting the patch.diff file for the "Apply patch" section and follow the instructions.

If you want to see this working feel free to go to our site and register an account and add items to the shopping cart and then abandon the cart, just close the browser. After 1 hour you will get a email with regard to the products you abandoned in your cart.
Attached Files
File Type: zip abandon_cart.zip (6.8 KB, 234 views)
__________________
Apache/2.0.55 (Red Hat) & MYSQL Server: 5.0.24
PERL: 5.008005 / PHP: 4.4.4 - 4.3.1 X-CART

Shop carts at
http://www.nightscene.co.uk/shop/home.php
http://www.theshisha.net/shopcart/home.php
http://www.system-maintenance.com/maint/home.php
http://www.tabac4u.com
Reply With Quote
  #2  
Old 05-16-2008, 04:57 AM
  ShishaPipeUK's Avatar 
ShishaPipeUK ShishaPipeUK is offline
 

Senior Member
  
Join Date: Jul 2005
Location: London, England.
Posts: 118
 

Default Re: Abandon Shopping Cart Mod

Patch SQL code
Code:
CREATE TABLE xcart_abandoned_carts (login varchar(32) NOT NULL default '',email varchar(128) NOT NULL default '',expiry int(11) NOT NULL default '0',PRIMARY KEY (login),UNIQUE KEY email (email),KEY expiry (expiry)) TYPE=MyISAM; CREATE TABLE xcart_abandoned_wishlists (login varchar(32) NOT NULL default '',email varchar(128) NOT NULL default '',expiry int(11) NOT NULL default '0',PRIMARY KEY (login),UNIQUE KEY email (email),KEY expiry (expiry)) TYPE=MyISAM; INSERT INTO xcart_config SET name='abandone_cart_active', comment='Remind on abandoned Carts/Not finished orders', value='Y', category='Reminder', orderby='633', type='checkbox', defvalue='Y', variants=''; INSERT INTO xcart_config SET name='abandone_cart_timeout', comment='Abandone Cart Timeout', value='60', category='Reminder', orderby='640', type='text', defvalue='1800', variants=''; INSERT INTO xcart_config SET name='abandone_wishlist_active', comment='Remind on abandoned Wishlists', value='Y', category='Reminder', orderby='630', type='checkbox', defvalue='Y', variants=''; INSERT INTO xcart_config SET name='abandone_wishlist_timeout', comment='Number of seconds for Wishlist reminder', value='60', category='Reminder', orderby='632', type='text', defvalue='3600', variants=''; INSERT INTO xcart_config SET name='cron_key', comment='Cron special Secret key', value='test', category='Reminder', orderby='655', type='text', defvalue='Don\'t empty', variants=''; UPDATE xcart_config SET value='1210745474' WHERE name='data_cache_expiration'; UPDATE xcart_config SET value='4' WHERE name='survey_sending_remainder'; INSERT INTO xcart_languages SET code='US', name='eml_abandone_note', value='We are always interested in knowing what happened and if there was a reason that you decided not to purchase at this time for example, if you added the items to the cart to complete your purchase at a later time, then you can simply log into your account and the items in the cart will be restored, ready for you to complete your order. If you could be so kind as to let us know if you had any issues or concerns, we would appreciate it. We are asking for feedback from you and others as to how we can help make your experience at {{company}} better.\r\n\r\nPLEASE NOTE:\r\nIf you believe you completed your purchase and are wondering why it was not delivered, this email is an indication that your order was NOT completed, and that you have NOT been charged! Please return to the store in order to complete your order.\r\n\r\nOur apologies if you already completed your purchase, we try not to send these messages in those cases, but sometimes it is hard for us to tell depending on individual circumstances.\r\n\r\nAgain, thank you for your time and consideration in helping us improve the {{www}} website.\r\n\r\nSincerely,\r\n\r\n{{company}}\r\n{{www}}\r\n\r\nP.S. If you would like to still place an order, then why not take advantage of our {{discount}}% off voucher code? Simply enter {{cupone}} into the Coupon Code box when you view your cart and you will receive {{discount}}% off\r\n', topic='E-Mail'; INSERT INTO xcart_languages SET code='US', name='eml_abandone_wishlist_note', value='You can log into your account at {{www}} and then click on your wish list to the right near your profile details and cart information.', topic='E-Mail'; INSERT INTO xcart_languages SET code='US', name='eml_thankyou_for_stopping', value='Thank you for stopping by {{company}} and considering us for your purchase. We noticed that during a visit to our store you placed the following item(s) in your shopping cart, but did not complete the transaction.', topic='E-Mail'; INSERT INTO xcart_languages SET code='US', name='eml_you_have_some_item_wishlist', value='you have some items in your wish list and we are sending you a email to remind you of the items.', topic='E-Mail'; INSERT INTO xcart_languages SET code='US', name='lbl_abandoned_carts', value='Abandoned Carts', topic='Labels'; INSERT INTO xcart_languages SET code='US', name='lbl_abandoned_empty', value='Abandoned list is empty.', topic='Labels'; INSERT INTO xcart_languages SET code='US', name='lbl_cart', value='Cart', topic='Labels'; INSERT INTO xcart_languages SET code='US', name='lbl_expiration', value='Expiration', topic='Labels'; INSERT INTO xcart_languages SET code='US', name='lbl_send_reminder_to_all', value='Send reminder to all', topic='Labels'; INSERT INTO xcart_languages SET code='US', name='lbl_send_reminder_to_selected', value='Send reminder to selected', topic='Labels'; INSERT INTO xcart_languages SET code='US', name='lbl_whishlist', value='Whishlist', topic='Labels'; INSERT INTO xcart_languages SET code='US', name='msg_adm_abandoned_del', value='Selected carts reminder successfully deleted', topic='Labels'; INSERT INTO xcart_languages SET code='US', name='msg_adm_all_abandoned_del', value='All abandoned successfully deleted', topic='Labels'; INSERT INTO xcart_languages SET code='US', name='option_title_Reminder', value='Reminder options', topic='Labels'; INSERT INTO xcart_languages SET code='US', name='txt_delete_all_abandoned_warning', value='Are you sure delete all carts reminder?', topic='Text'; INSERT INTO xcart_languages SET code='US', name='txt_delete_selected_abandoned_warning', value='Are you sure delete selected carts reminder?', topic='Text'; UPDATE xcart_languages SET value='Shopping Cart Content' WHERE code='US' and name='lbl_cart_content';
__________________
Apache/2.0.55 (Red Hat) & MYSQL Server: 5.0.24
PERL: 5.008005 / PHP: 4.4.4 - 4.3.1 X-CART

Shop carts at
http://www.nightscene.co.uk/shop/home.php
http://www.theshisha.net/shopcart/home.php
http://www.system-maintenance.com/maint/home.php
http://www.tabac4u.com
Reply With Quote
  #3  
Old 05-16-2008, 05:21 AM
 
balinor balinor is offline
 

Veteran
  
Join Date: Oct 2003
Location: Connecticut, USA
Posts: 30,253
 

Default Re: Abandon Shopping Cart Mod

While I appreciate the hard work in creating this mod, I personally would not recommend this approach as it will really annoy a majority of customers (myself included). If I received an e-mail like this from a store, I would certainly never go back to complete my purchase. Part of the beauty of the web is anonymous shopping - I don't want to be pushed to buy anything, ever. If I didn't complete a purchase, I probably have a reason for doing so. Maybe I was just price shopping - maybe I wanted to go back later and complete the purchase. Either way, an unsolicited e-mail like this would just cause me to blacklist that store from my shopping bookmarks - even with a coupon code.

Again, not bashing your mod, I'm sure it is a good one, but just saying that this approach is not for everyone.
__________________
Padraic Ryan
Ryan Design Studio
Professional E-Commerce Development
Reply With Quote
  #4  
Old 05-16-2008, 05:29 AM
  ShishaPipeUK's Avatar 
ShishaPipeUK ShishaPipeUK is offline
 

Senior Member
  
Join Date: Jul 2005
Location: London, England.
Posts: 118
 

Default Re: Abandon Shopping Cart Mod

The extra code added in the original files is in BOLD - If you are not using the patch.diff file then please make sure you do not include the +

auth.diff file
Code:
Index: auth.php =================================================================== diff -u auth.php --- auth.php +++ auth.php @@ -188,6 +188,8 @@ if (!empty($active_modules["XC_SEO"])) { include $xcart_dir."/include/check_useraccount.php"; +include $xcart_dir."/include/chech_abandoned.php"; + include $xcart_dir."/include/get_language.php"; $lbl_site_name = strip_tags(func_get_langvar_by_name("lbl_site_title", "", false, true));

init.diff file
Code:
Index: init.php =================================================================== diff -u init.php --- init.php +++ init.php @@ -116,6 +116,8 @@ $sql_tbl = array ( "order_details" => "xcart_order_details", "order_extras" => "xcart_order_extras", "orders" => "xcart_orders", + "abandoned_wishlists" => "xcart_abandoned_wishlists", + "abandoned_carts" => "xcart_abandoned_carts", "pages" => "xcart_pages", "payment_methods" => "xcart_payment_methods", "pc_markup_memberships" => "xcart_pc_markup_memberships",

menu.diff file
Code:
Index: skin1/admin/menu.tpl =================================================================== diff -u skin1/admin/menu.tpl --- skin1/admin/menu.tpl +++ skin1/admin/menu.tpl @@ -9,6 +9,7 @@ {if $active_modules.Wishlist} <a href="{$catalogs.admin}/wishlists.php" class="VertMenuItems">{$lng.lbl_wish_lists}</a><br /> {/if} +<a href="{$catalogs.admin}/abandoned.php" class="VertMenuItems">{$lng.lbl_abandoned_carts}</a><br /> {if $active_modules.Simple_Mode eq ""}<a href="{$catalogs.admin}/search.php" class="VertMenuItems">{$lng.lbl_products}</a><br />{/if} <a href="{$catalogs.admin}/orders.php" >{$lng.lbl_orders}</a><br /> {if $active_modules.News_Management}

home.diff file
Code:
Index: skin1/single/home.tpl =================================================================== diff -u skin1/single/home.tpl --- skin1/single/home.tpl +++ skin1/single/home.tpl @@ -67,6 +67,9 @@ {elseif $main eq "froogle_export"} {include file="modules/Froogle/froogle.tpl"} +{elseif $main eq "abandoned"} +{include file="admin/main/abandoned.tpl"} + {elseif $main eq "snapshots"} {include file="admin/main/snapshots.tpl"}
__________________
Apache/2.0.55 (Red Hat) & MYSQL Server: 5.0.24
PERL: 5.008005 / PHP: 4.4.4 - 4.3.1 X-CART

Shop carts at
http://www.nightscene.co.uk/shop/home.php
http://www.theshisha.net/shopcart/home.php
http://www.system-maintenance.com/maint/home.php
http://www.tabac4u.com
Reply With Quote
  #5  
Old 05-16-2008, 05:42 AM
  ShishaPipeUK's Avatar 
ShishaPipeUK ShishaPipeUK is offline
 

Senior Member
  
Join Date: Jul 2005
Location: London, England.
Posts: 118
 

Default Re: Abandon Shopping Cart Mod

Quote:
Originally Posted by balinor
While I appreciate the hard work in creating this mod, I personally would not recommend this approach as it will really annoy a majority of customers (myself included). If I received an e-mail like this from a store, I would certainly never go back to complete my purchase. Part of the beauty of the web is anonymous shopping - I don't want to be pushed to buy anything, ever. If I didn't complete a purchase, I probably have a reason for doing so. Maybe I was just price shopping - maybe I wanted to go back later and complete the purchase. Either way, an unsolicited e-mail like this would just cause me to blacklist that store from my shopping bookmarks - even with a coupon code.

Again, not bashing your mod, I'm sure it is a good one, but just saying that this approach is not for everyone.
Balinor, thank you for your comments.

You will not get an email from the abandon cart modification if you have not registered an email address, so if you are just browsing the site and looking for special offers or price shopping you would not register an account.

You would only register an account at an online shop if you want to buy something. Also with today’s security for taking credit cards you have to give your address and postcode as this is used as a security check so you can’t be an anonymous customer anymore if you are buying a product using your credit card.

Now lets say you want the product and you register and internet goes off, wouldn’t it be nice that 1 hour later you get a email telling you what you ordered and give you a discount as well to go back and reorder.

You must have been interested if you have given the site your email address i.e. you have registered or you are an existing customer.

You will not get an email if the process is worked correctly, only if the cart was abandoned after you have registered your email or logged in. If you don’t log in you do not get an email as we don’t know the email address to send the email to.

Well all I can say it’s worked for us and we have increased our sales because of this modification.
We get over 300 customers registering with us per month at the online shop and we are sending the email to a customer who has not finished shopping, just to ask why you have not finished shopping.
I would really like to know why someone has abandoned the shopping cart so I can deal with this.
__________________
Apache/2.0.55 (Red Hat) & MYSQL Server: 5.0.24
PERL: 5.008005 / PHP: 4.4.4 - 4.3.1 X-CART

Shop carts at
http://www.nightscene.co.uk/shop/home.php
http://www.theshisha.net/shopcart/home.php
http://www.system-maintenance.com/maint/home.php
http://www.tabac4u.com
Reply With Quote
  #6  
Old 05-16-2008, 05:44 AM
 
balinor balinor is offline
 

Veteran
  
Join Date: Oct 2003
Location: Connecticut, USA
Posts: 30,253
 

Default Re: Abandon Shopping Cart Mod

Even if I registered with a store (perhaps to get a shipping calculation - perhaps I ordered once before) I wouldn't want an e-mail like this. I often put items in my cart at amazon.com for example - and go back to buy weeks later. I don't get e-mails from them asking me why I didn't buy - and if I did I wouldn't buy from them anymore.
__________________
Padraic Ryan
Ryan Design Studio
Professional E-Commerce Development
Reply With Quote
  #7  
Old 05-16-2008, 06:09 AM
 
carpeperdiem carpeperdiem is offline
 

X-Guru
  
Join Date: Jul 2006
Location: New York City, USA
Posts: 5,399
 

Default Re: Abandon Shopping Cart Mod

I was going to post exactly what Padraic wrote -- but held my tongue.

Asking potential customers to give feedback PRIOR to the transactions can be deadly...

I would never consider using this tactic on potential customers.
__________________
xcart 4.5.4 gold+ w/x-payments 1.0.6; xcart gold 4.4.4
Reply With Quote
  #8  
Old 05-16-2008, 06:11 AM
  ShishaPipeUK's Avatar 
ShishaPipeUK ShishaPipeUK is offline
 

Senior Member
  
Join Date: Jul 2005
Location: London, England.
Posts: 118
 

Default Re: Abandon Shopping Cart Mod

Quote:
Originally Posted by balinor
Even if I registered with a store (perhaps to get a shipping calculation - perhaps I ordered once before) I wouldn't want an e-mail like this. I often put items in my cart at amazon.com for example - and go back to buy weeks later. I don't get e-mails from them asking me why I didn't buy - and if I did I wouldn't buy from them anymore.

OK, point taken, so can you delete the mod please from custom mods for me as i dont think i can do this.

I dont want to get into a situation where i am encouraging spam emails, so i keep this modification to myself and not share it with the forum.
__________________
Apache/2.0.55 (Red Hat) & MYSQL Server: 5.0.24
PERL: 5.008005 / PHP: 4.4.4 - 4.3.1 X-CART

Shop carts at
http://www.nightscene.co.uk/shop/home.php
http://www.theshisha.net/shopcart/home.php
http://www.system-maintenance.com/maint/home.php
http://www.tabac4u.com
Reply With Quote
  #9  
Old 05-16-2008, 06:18 AM
 
balinor balinor is offline
 

Veteran
  
Join Date: Oct 2003
Location: Connecticut, USA
Posts: 30,253
 

Default Re: Abandon Shopping Cart Mod

I'm not saying delete the mod - I'm just saying this isn't the approach many will want to use. I HAVE received e-mails like this in the past from other stores, I just don't shop there anymore I'm sure their e-mails worked on some people though.
__________________
Padraic Ryan
Ryan Design Studio
Professional E-Commerce Development
Reply With Quote
  #10  
Old 05-16-2008, 08:47 AM
 
intel352 intel352 is offline
 

X-Wizard
  
Join Date: Dec 2005
Posts: 1,071
 

Default Re: Abandon Shopping Cart Mod

The last employer I worked at was a custom embroidery business, with it's entire business focus online. I implemented an Abandoned Cart modification on their custom shopping cart software, it worked great, between 25%-50% failed carts were often picked back up by customers.

We didn't email them within an hour though. Our store remembered the customer's cart, so we gave them 3 days I believe, and then the email was shot out. Due to how the email was worded (and the fact that it's Reply-To was set to a real human), customers often responded back, thinking that a real individual had seen they had abandoned their cart and was truly concerned

Now, I do believe the results depend on the tech savviness of the customer, but considering most aren't as savvy as Padraic & Jeremy, we rarely had issues with customers never again returning.

Often times, when the customer wrote back, it turned out they had trouble ordering, or they had meant to order later and forgot. While their responses were monitored and responded to by a sales rep, we wanted to keep the illusion that the sales rep was indeed emailing the customer every time an abandoned cart email was initiated, so we set up around 5 email templates that were rotated once per customer, to ensure that the same customer didn't receive the same email template twice in a row.

So, I say Kudos to ShishaPipe. While you may drive away a couple of customers like Padraic and Jeremy, the fact that you actually get a percentage of sales back (vs losing 100% of sales on the abandoned carts) makes it worthwhile, imho.
__________________
-Jon Langevin
WARNING: Unethical developer - NOT RECOMMENDED
See details here
Reply With Quote
Reply
   X-Cart forums > X-Cart 4 > Dev Questions



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -8. The time now is 07:33 AM.

   

 
X-Cart forums © 2001-2020