View from inside the viper

Abandoned Shopping Carts – #1 Reason

  April 8, 2013 17:42
by Mark

Abandoned carts are costing you money in your online store. The average store has 72% of abandoned carts, that can add up to a serious amount of lost revenue.

So what is an abandon cart, its when a customer adds items to their cart but never completed the checkout process. Somewhere along the lines of add the items to the cart and finally paying for them the customer has changed their mind.

Think about it, your store is only converting 28% of carts into orders, being able to improve this figure would make a difference in your online store’s bottom line.

The number one reason for a customer to not complete the checkout process is expensive shipping costs, no one likes getting to the checkout page only to find its another $10 to get their items. Expensive shipping charges account for 44% of all abandoned cart. In fact stores which offer free shipping have less abandoned shopping carts all together then those charging even inexpensive shipping.

Take a look to see how your own store is performing with abandoned cart, you can see the number of abandoned carts for the last 30 days in Cart Viper by going to the Store Admin > Sale Stats page.

Abandoned Carts Graph

Stop the Rot

In Cart Viper we have a number of ways of giving free shipping to your customers. So lets look at what we can do to give the customer free shipping and in turn reduce the number of abandoned carts.

Keep It Simple

You can define in the shipping settings which countries will get free shipping, a customer that enters a shipping address with a country that has been defined as free shipping will get free shipping on any order they place.

A variation on this simple option is to define a minimum spend for the country before the customer qualifies for free shipping. So for example we can say all orders to the USA over $25 will have free shipping.
Then you can make the customer aware of this special offer and convert more abandoned carts into paying orders.

Free shipping with subtotal

For our USA customers we have 4 zones defined which allows you to break down the USA into different shipping zones,

  • USA
  • Lower 48
  • Hawaii
  • Alaska

So this allows you to offer your free shipping to say the lower 48 while still charging shipping to the more costly states of AK and HI.

Coupon Clipper

You could also use the coupon functionality to create a coupon that the customer could use at the time of checkout to get free shipping on their order. A simple banner or HTML module on the store could then promote this offer to the customer.

Free Shipping Coupon

Additionally its also possible to configure the coupon to have some restrictions before the customer can get free shipping. So for example we can define a minimum spend that the customer must meet before the coupon will be valid. Its also possible to make the free shipping coupon only valid when the customer purchases an item from a given category or categories.

Mix and Match

Using the mix and match promotion its also possible to define free shipping. So if the customer purchase 3 items for a given category then it would qualify their cart for free shipping. This would be applied automatically during the checkout process.

mixandmatchfreeshipping

I hope this blog post has shown there are various options within Cart Viper that can be used to reduce the abandon carts in your store due to high shipping charges.

Depending on your demographic and the types of products you are selling you may find that some of the options mentioned work better than others, so our final piece of advice would be to try out the different free shipping options and measure which works best for your store.

Cart Viper is an advanced ecommerce module created for DotNetNuke created by two UK developers. Feature rich and backed up by great support. Take the free 14 day trial to see how you can leverage a great CMS and Ecommerce solution for your clients.



DotNetNuke Ecommerce Made Easy with the Latest Cart Viper Release 1.6

  April 23, 2012 16:24
by Mark

1063650_37233894Today marks a great day in the development of Cart Viper our ecommerce solution for DotNetNuke, we have just release version 1.6 of the product.

This is a major release with over 35 great new features or improvements to Cart Viper. Over the coming days and weeks we’ll be talking some more about some of the key new features in this release and why it can help you create a great ecommerce store for your customers.

  1. Numerous performance improvements
  2. Ability to sell events - AJAX events calendar module (please note this is an extra add-on).
  3. Google Sitemap support for getting the best possible SEO.
  4. Youtube videos on product details
  5. Categories support Youtube videos.
  6. Pre-checkout notification callback method to validate the order before allowing it be placed within the store.
  7. Export new orders to the Amazon Message Queue SQS, allows integration into external systems to process placed orders.
  8. New payment gateway Cyber Source
  9. Support for three new currencies JOD, HKD, THB and MXN
  10. Mix and match discounts, buy 6 items from this category and get 10% off the items for example.
  11. Let customers request a quote for a large order, moderate and adjust the prices then allow the customer to pay for the order online using a credit card.
  12. Optionally define customer managers that need to approve orders from sub accounts before the order can be placed within the store. Great for B2B sites that need basic order moderation for their corporate clients.
  13. Define a global quantity limit and quantity purchase pattern for a product to mean that only specified quantities of the product can be purchased.
  14. Ability to use custom smtp settings per portal when sending the emails generated by Cart Viper.
  15. Support for an unlimited number of options for a variant, user interface just expands as you enter product options.
  16. The product tabs and related products output is now controlled using a token, so you are free to place this controls anyway you like within the template.
  17. Improved product tab feature including, token support, embed modules, tab header, tab security roles and better sorting.
  18. The template system used to style the store now allows you to import an existing DNN module into the template.
  19. Define product facets which allows customers to filter products based on the product facets, size, colour, type, manufacturer etc.
  20. When search by keywords the products can be filter to a given manufacturer or category using the keyword facet search.
  21. An unlimited number of variants can be imported via csv.
  22. Ability to send order confirmation emails to multiple email addresses with your organisation.
  23. More tokens added to the custom email templates.
  24. Mark a product as in-store pickup only, means the customer must collect direction from the store.
  25. Optional ability to apply a percentage or fixed amount surcharge to an order placed with Paypal Standard.
  26. The store admin can now search for all orders placed during a start and end date.
  27. New order status - partial shipped.
  28. Batch printing of orders, select the date range and the order status then generate a PDF containing all the orders, print out and include with your package.
  29. Ability to restrict which states in the USA you will ship goods to.
  30. Cyber Source external tax gateway support, exact tax calculations based on the customer’s address.
  31. Newsletter subscribers management page to display a list of existing subscribers. Export the list to CSV.
  32. Allow products to be visible only to users with the required role.
  33. Include a shipping tracking number when you dispatch a customer’s order.
  34. Support for defining tax rates by each Canadian Province for stores located in Canada.
  35. New mega menu style category menu this can be rendered either vertically or horizontally. Optionally we can output the standard DNN menu into the mega menu to create a complete menu solution for your store.
  36. Recurring billing support when using Authorize.net payment gateway.

We are excited to have created this release and we hope you’ll take the free 14 day trial and see for yourself.

Existing customers from earlier versions can download the new version and upgrade for free, simply download and install the free trial, your existing license will unlock this to a full version.
We strongly recommend that you follow the upgrade steps in the manual and take a full backup of your database and existing site.



Customising the Captions in Cart Viper

  May 8, 2011 18:27
by Mark

Cart Viper allows you to customise the captions used throughout the module, this allows you to change the captions to better suit your requirements for example or client.

All the captions are stored in a resource files (.resx) within the module folder, however we do not recommend that you edit these files since any future upgrade of Cart Viper will replace your modified files ones from the new package.
Instead you should use a portal specific resource file which will not get over written with future upgrade and also means the change won’t affect other portals.

DotNetNuke first looks for a resource key it needs in a portal specific resource file before falling back to general resource file if unable to locate the key.
Since we have this fall back feature our portal specific resource file only needs to contain the resource caption we want to change, the standard resource file will supply the other captions.

Lets take a look at an example, I’m going to change the caption on the mini cart module to use the world “Basket” in place of “Cart”.

mini_cart_module

The first thing we need to do is locate the correct resource file.

The resource files are located in the folder /DesktopModules/CartViper/App_LocalResources

CropperCapture[211]

Each ASP.net ascx control has 4 resource files, each for the 4 different languages we support. For the demo here I’m just going to change the English version however the same principle can be applied to any of the other languages.
Additionally we have a SharedResources.resx file which contains captions used by the AJAX code to return the correct messages to display.

Since we are going to change the captions on the Mini Cart control the file we need to look at is MiniCart.ascx.resx

Lets go a head and open that file with notepad or similar, the file itself is just a XML document that has key value pairs for the captions.
Most of the file contains comments and boiler plate entries, the place we need to look at are the elements with the <data> element.
The name attribute of the entry will be the name of ASP.net control that is rendering the caption.

CropperCapture[212]

I've created a blank resource file which you can use as the basis for the new file. Into this file we are going to copy the entries we want to change. I’m going to copy the following entries into my new file.

<data name="btnViewCart.Text" xml:space="preserve"> 
  <value>View my Cart</value> 
</data> 
<data name="AddAnother.Text" xml:space="preserve"> 
  <value>Add one or more {0} to the cart.</value> 
</data> 
<data name="lblNumberItemsText.Text" xml:space="preserve"> 
  <value>Items In Cart:</value> 
</data> 
<data name="lblYourCart.Text" xml:space="preserve"> 
  <value>Cart Summary</value> 
</data>

After copying these into the template file I’m going to change the word “cart” to “basket” in the value elements.

The most important part of implementing the change is to name the file correctly, the file needs to be named with the original file name but needs .Portal-X (where X is the ID of the portal you are wanting to apply the change for) inserted just before the .resx extension ending.

Since the original file name was MiniCart.ascx.resx the new portal specific change needs to be named MiniCart.ascx.Portal-2.resx (my demo portal has an ID of 2) and placed into the folder /DesktopModules/CartViper/App_LocalResources

Refreshing the page shows the new resource file has been picked up by DotNetNuke.

mini_cart_module_basket

My complete resource file is listed below for reference.

MiniCart.ascx.Portal-2.resx

<?xml version="1.0" encoding="utf-8"?>
<root>
  <xsd:schema id="root" xmlns="" xmlns:xsd=http://www.w3.org/2001/XMLSchema 
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:element name="root" msdata:IsDataSet="true"> <xsd:complexType> <xsd:choice maxOccurs="unbounded"> <xsd:element name="metadata"> <xsd:complexType> <xsd:sequence> <xsd:element name="value" type="xsd:string" minOccurs="0" /> </xsd:sequence> <xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute ref="xml:space" /> </xsd:complexType> </xsd:element> <xsd:element name="assembly"> <xsd:complexType> <xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" /> </xsd:complexType> </xsd:element> <xsd:element name="data"> <xsd:complexType> <xsd:sequence> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute ref="xml:space" /> </xsd:complexType> </xsd:element> <xsd:element name="resheader"> <xsd:complexType> <xsd:sequence> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required" /> </xsd:complexType> </xsd:element> </xsd:choice> </xsd:complexType> </xsd:element> </xsd:schema> <resheader name="resmimetype"> <value>text/microsoft-resx</value> </resheader> <resheader name="version"> <value>2.0</value> </resheader> <resheader name="reader"> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089</value> </resheader> <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089</value> </resheader> <!-- CART VIPER - CUSTOM resx TEMPLATE ADD YOUR CUSTOM DATA ENTRIES INTO THE FILE BELOW THIS COMMENT --> <data name="btnViewCart.Text" xml:space="preserve"> <value>View my Basket</value> </data> <data name="AddAnother.Text" xml:space="preserve"> <value>Add one or more {0} to the basket.</value> </data> <data name="lblNumberItemsText.Text" xml:space="preserve"> <value>Items In Basket:</value> </data> <data name="lblYourCart.Text" xml:space="preserve"> <value>Basket Summary</value> </data> </root>



Cart Viper 1.2.7 Released

  May 6, 2011 11:04
by Mark

Today we’ve released a new version of Cart Viper our Ecommerce store module for DotNetNuke.

This release is to fix a breaking change in jQuery 1.6 which was released on the 3rd of May 2011. The jQuery method .attr(“checked”) which before could be used to determine if a checkbox was selected can no longer be used. You can read more about this breaking change on the jQuery release notes.

The new version of Cart Viper 1.2.7 works with jQuery 1.4.3 right up to the newly released 1.6



Anchor Name Support

  April 22, 2011 11:07
by Mark

New in Cart Viper 1.2.6 is the ability to define an anchor name that should be appended to the category menu and the product details links.

This allows sites which have content above the store to automatically jump the to location of the store on the page. Take a look at the video below to see an example of this.

 

 

To enable and setup this feature it is really simple, in the demo video it takes me only 3 minutes to configure and test.

 

 

That all there is to it, we hope you find this feature useful.



Cart Viper Version 1.2.6 Released

  April 14, 2011 11:51
by Mark

New Release of Cart Viper 1.2.6Yesterday we released the next version of Cart Viper 1.2.6.

This new release contains lots of new and improved features along with bug fixes to minor issues.

  • Create and manage an unlimited number of tabs for a product.
  • Google Checkout is supported as a payment gateway.
  • Carousel template for use with the Related Products, Recently View Products and Product widget module.
  • The Category menu can now optionally expand and collapse the items in the menu.
  • Order PDF supports adding the Model Number or SKU field to each line item ordered.
  • Payment method displayed on the confirmation emails, order and PDF generated by Cart Viper.
  • Ability to display a MSRP which is struck out in the store front.
  • Out of Stock flag on a product.
  • Wish lists now support product variants.
  • Ability to make a wish list public and share the link with friend.
  • Ability to operate a store without an online payment gateway just using the offline payment option.
  • Ability to display prices inc VAT in the cart and mini cart.
  • Products support serial numbers with automatic assignment of the next free serial number.
  • Optionally collect Company Name and/or VAT number at the checkout stage.
  • Numerous minor bug fixes

With that release out of the door we are now turning out attention to the next release, if you’ve got a suggest or idea you would like to see added please let us know.



DotNetNuke eCommerce Modules Review

  February 22, 2011 15:45
by Nigel

Recently Robb Bryn over at DotNetNuke fool took the time to review several eCommerce modules for DotNetNuke, we are pleased to say his review put Cart Viper top overall with an average score of 3.6 from a possible 5. We are obviously very pleased about this as we have only be developing Cart Viper for 6 months, and were in a strong line-up that included all our more established competitors.

We have taken Robb’s comments onboard and are looking to address a number of his concerns with our forthcoming 1.2.4 release with a view to making an even better product!

You can read the full review here.

Cart Viper is available for a free 14 day trial here.

1026648_racing_flag



Cart Viper 1.0.3 – New Feature: Email A Friend

  September 16, 2010 14:45
by Nigel

Here at Cart Viper we have been busy working on version 1.0.3 of our DotNetNuke shopping cart that is full of new features , over the next few days leading up to the release of version 1.0.3 Mark and myself are going to do a series of posts discussing the new features. This post will discuss “Email A Friend”.

Due to the flexibility of Cart Vipers template driven display simply by including the [EMAILAFRIEND] tag in your productDetail.htm template you output the necessary control onto your page that allows a user to send an email relating to a product on your site.

Example template:

CropperCapture[50]

Example page created from template:

CropperCapture[51]

When “Share With A Friend” is clicked upon the email a friend control is displayed via jQuery.

Email a friend control:

CropperCapture[52]

The email subject and message are pre-populated with the name of your store and a link to the page with the product on, if the user is logged in the email from is also pre-populated with their email address. All fields can be edited by the user before the message is sent.

Before the message can be sent all fields are checked for profanity if found the user is informed and the message is not sent, furthermore recaptcha has been added to avoid spam being sent.

It is worth noting for privacy reasons a copy of the users message is not stored in the system.



The Start of the Viper

  August 6, 2010 20:54
by Mark

After what seems like weeks and weeks of coding we appear to be closing in on our first release of Cart Viper.

What is Cart Viper?

Cart Viper is an advanced ecommerce module for DotNetNuke. Its allows you create a shop and start selling goods and digital downloads in minutes.
We’ve focused on making Cart Viper simple to start using but powerful for advanced users. We’ll be discussing more about the features in the future.

Why Cart Viper?

We are two developers from the UK that have already had success with creating DNN modules but where disappointed with the current ecommerce modules out there. So we decided to do something about it, hence the blog you’re reading now.

Stay tuned.