A/B Testing

What is it?

A/B testing (also referred to as split testing) is a method used to compare multiple (typically 2) different versions of the something to determine which one performs best.

You can compare almost anything on your site from different versions of a specific page, to different copy for a particular area or even the availability of a particular feature.

Let’s say you already have a banner on the top of your home page but are unsure whether that or another one you have would work best on your site and be more favourable to your users.

Instead of having to guess or make that decision uninformed A/B testing can be used to give you the information you require to make the right decision on which should be placed on your home page.

How does it work?

Going back to our home page banner example you would create what’s called a variation on your home page where you have a version with the alternate banner.

Then using A/B testing tools you could direct 50% of your website traffic towards your current page and 50% towards the variation of that page.

After a certain amount of time, let’s say a week, you could then view the statistics to see which one performed better based on whatever metric you choose to use e.g. purchases completed, specific category page visited, products reviewed etc.

You of course aren’t limited to a single variation or indeed the positioning of an element. Again in our banner example we could have set up 3 variations, and chose not just a different banner but different placements on the home page.

Why should you use A/B testing?

The main reason to use A/B testing is to allow you to make the right decisions for how your site looks, behaves and supports your users based on actual proof on what your users prefer and how they use your site.

To often we assume what our users will like, particularly when we’ve been in our industries for a long time and have relationships with those that use the site but unfortunately it’s incredibly hard to truly determine what works best without actually experimenting and tracking what does in fact work.

How do I implement A/B testing on my site?

A/B testing strategies can vary from incredibly simple (like our home page banner example used in this post) to very complex ones where there are several variations, metrics, specific audience types etc.

We have a suite of tools at Terracor that we can use to implement whatever strategy you want so just reach out and we’d love to work with you on implementing a test plan for your site.

Responsive & Mobile Optimised Websites

When implementing a zeckoShop website we at Terracor have traditionally built a “desktop” oriented design. This meant that the design of our websites were created with only desktop and laptop computers in mind.

More recently however with the increasing use of mobile devices (phone & tablets) to browse the web and purchase products we’ve enhanced our process in order to build sites that look and behave as needed on these devices.

You will hear lots of different terms and phrases used when describing ways to build a website that works well across mobile devices and at Terracor we specifically refer to:

  • Responsive Design
  • Mobile Optimised

So what does each of these mean?

Responsive Design

When we say that your website is designed to be responsive what we are implying is that your website design will “respond” to different screen sizes by adjusting the layout, content & element sizes of items on your website as needed to maintain a proper look and feel.

The best way to describe this is by showing an example site. Below you will see three screenshots from www.iStockPhoto.com which illustrates how their site responds depending on the devices viewing it:

iStockPhoto Desktop

iStockPhoto Tablet

iStock Photo Smartphone

A couple of important details are worth mentioning:

  1. The site did not respond based on the devices viewing it but on the screen size. You can test this for yourself by going to the website on your Desktop and shrinking the browser screen. Notice how it adjusts and adapts as you change the size.
  2. Also, the site being displayed in the screenshots is the exact same site with all the same content. It may look like different versions but due to the adaptive nature of responsive design it adjusts itself appropriately based on the screen size it’s being viewed on without the need for an alternative site or design.

Mobile Optimised

So once you have a responsive website you may be left wondering how well your site behaves on mobile devices which leads to two main questions:

  1. What is mobile optimisation?
  2. Why should my website be mobile optimised?

So let’s start with the what: simply put, mobile optimisation gets your responsive website and optimises several aspects of it to allow for a great user experience on mobile devices i.e. smartphones & tablets.

As an example here are some optimisation techniques we employ:

  • Images: here we remove unneeded images, shrink dimensions and compress the files sizes, allowing for quicker loading times over mobile networks
  • Home page: here we build your home page specifically with smaller screen sizes in mind which allows for removing unneeded elements along with changing the layout, content & widgets as needed
  • UI: here the general user interface of the site behaves specifically with mobile devices in mind. For instance the cart/checkout contents are stacked in a mobile friendly way to make viewing and modification a more natural experience on these devices

An important note here is that although the mobile optimised site is responsive, the changes made to optimise it on mobile only appear on those devices. Unlike the iStockPhoto example previously, if you shrink your desktop browser you will not see these changes in action as their activation is dependent on the actual device viewing the site.

Let me show a really good example of a site that behaves very differently on mobile as opposed to desktop: www.etsy.com. Note, only the top portion of each page is shown below for brevity but feel free to view the site on different devices and browsers to see this in action yourself.


Etsy Desktop


Etsy Smartphone

You’ll notice here how the Smartphone version isn’t simply the desktop version with slight changes but in fact makes the following large changes:

  • Several pieces of text have been removed
  • Search has been made more prominent
  • Images are no longer heavily used
  • Categories are presented at the top to the user and simple icons used to illustrate

Next let’s discuss the why: there are dozens of reasons why you should have your site optimised for mobile and here are just a few:

  • Google will like you more: having a responsive design is a must with Google’s search engine ranking as otherwise you will be heavily penalised for not having one. In addition to this, having a website that behaves and performs well on mobile devices will also improve your Google ranking
  • User experience: by tailoring the user experience specifically for the device being used you can ensure that those users of your site have the best experience possible
  • Increased conversions: following on from the previous point, since you can optimise for mobile users you can streamline the whole process to make sure they see only the information they need and can navigate the shopping process as efficiently as possible
  • Number of mobile users: Over half the traffic on the web now is through mobile devices so it’s becoming a necessity to ensure you are catering to and building your website with this set of users in mind as you move forward


So should you stick with just a responsive site or go the extra mile and optimise for mobile?

This of course depends on your needs, business, user base etc but our recommendation with the pace of Smartphone adoption and the need to keep your website modern is to cover all bases and ensure you give the best user experience to anyone on your site no matter what device they are on.

Version 5 Release

zeckoShop 5 has been released and along with lots of great new features we’ve moved into a new major version.

Our reason for moving to version 5 is that we want to focus on major cleanup of our core components such as the cart, checkout, my account, browsing etc, both to improve performance and also to modernise how these work for the modern web.

So what’s in this release:

Product Addons

This allows assigning “addons” to your existing products so when your users add an item to their cart that has addons assigned to it they are then given the chance to also include these via an informative popup.

This would allow you to setup things such as fees (installation, levies etc), accessories (camera/phone case, cake toppings etc) and so on. Really the options are endless here.

When creating an addon you have the following options:

  • Bundled pricing
  • Create using a an actual product in your inventory or as “virtual” product i.e. the addon doesn’t have to be a real product in your system
  • Notes to display to your customers
  • Capture notes from your customers
  • Mandatory or optional

Cart Rework

The cart has seen major rework in this version. Our goal here was to make working with the cart easier and more efficient along with streamlining the whole shopping process.

The cart page has been completing removed which eliminates the need for your users to be directed to that page before getting to the checkout. Now once they are ready to complete their purchase they are directed straight to the checkout page.

Previously, we had widgets that would display a users cart items when hovered over. This would simply display the part #, description & price of each product. We have now removed these widgets in favour of a cart popup that displays all the information associated with an item that would have been previously on the cart page.

Now when a user is adding items to their cart from a search/browse page they will never have to leave that page when they would like to view the full contents of their cart as the popup content updates inline without page refreshes.

Also, to make working with the checkout more powerful we’ve added the ability to delete items and update their quantities directly on that page so if your users realise that they want to make changes at that point they no longer have to navigate away from the checkout in order to do so.


We’ve improved shipping in several important ways:

  • When generating the origin address that we send to shipping providers this previously was your company address. We’ve updated this to now use the warehouse address associated with the products in the cart, providing that warehouse has an address set. This now allows you to have more accurate rates generated from shipping providers since the address that the products will be sent from will be the correct location
  • We’ve added the ability to map states/provinces to their associated warehouse so when your guest users enter an arbitrary shipping address this will update the associated warehouse for the items in the cart to the mapped warehouse
  • In cases where certain rates returned from your shipping providers should not be displayed at the checkout we’ve added the ability to hide these from view
  • Canada Post
    • We’ve updated our code to use their latest API which now returns more accurate rates and improves the support provided by Canada Post
    • We also included “hooks” which give us the ability to provide custom rate overrides when required. For instance, if you want to modify the rates returned from Canada Post based on a custom algorithm this is now possible
    • We’ve added a setting that when active will only push weights and not dimensions to Canada Post as by default both are included when calculating rates
  • Purolator
    • We’ve added a setting that allows you to include insurance in the shipping rates returned

Payment Processors

We’ve added 2 new payment mechanisms:

  • Paypal Payments Pro
    • This offering from Paypal allows paying both through a Paypal account and credit card
    • In instances where you want to offer both of these payment options you needed to have 2 separate modules, 2 separate payment processors and potentially multiple bank accounts
    • Now you just need a single module, a single payment processor and only a single bank account so you not only consolidate to make your life easier but save money also
  • Beanstream Interac
    • If you already have a Beanstream account for Credit Card you can add Interac as an option here
    • Also you have options around how this is presented to your clients:
      • As 2 separate payment options in our checkout (requires both the Beanstream Credit Card & Interac modules to be installed)
      • As a single payment option in our checkout and once a user selects this option and navigates to the hosted payment page they can then choose Credit Card or Interac

Other Improvements

  • Kitted products now always appear as in stock and their quantities are ignored if you have disallowed backorders on your site since kitted product quantities are always 0
  • You can now add new product statuses directly through the shop admin. This is particularly useful for those of our clients who don’t have zeckoCentral
  • You can now set the default quantity that displays in the add to cart quantity box that’s shown on the browse/search & product details pages
  • In situations where you only have a single payment processor and shipping carrier on the checkout page these will now be auto selected, thus removing the need for your users to select them before proceeding to the next step
  • For those of you with Spire, if you only want users to be able to purchase products that have pricing derived exclusively from the price matrix we’ve added a setting for this


So there’s a quick summary of the major additions to this version of zeckoShop.

Upcoming Release

Our next release will be coming out mid July and will include several new features and updates around improved performance, customer retention, useful integration etc. 

4.6.0 Release

zeckoShop 4.6.0 has been released and it’s full of great new features. Let me go through each of the major ones in turn to explain what each provides.


We now have full support for AvaTax which is a great addition to our list of services that we integrate too.

We still utilise your customer tax profiles as set up in your ERP but for cases where a user doesn’t have an associated customer and providing AvaTax is enabled then it will kick in to generate the needed taxes.

With the ever growing complexity involved in generating taxes and with the rules constantly changing for online shopping this module is a must for those of you selling B2C.

Search Relevancy Updates

The search relevancy has been heavily reworked to make it much more deterministic by you.

Previously there was an advanced algorithm used along with applying “boost” factors that could be entered through our admin.

This worked great for a lot of our clients but for some it unfortunately did not yield the results expected.

This in turn caused us to make the search results fully dependent on the boost factors entered into our admin so that you can choose exactly the priority to use when matching against the different fields and therefore allows you to dictate which fields push results to the top of the list.

Quick Entry Updates

The quick entry has been heavily reworked so that entering products is much more efficient.

Firstly, the page no longer refreshes after adding a product but in fact acts just like our regular add to cart functionality.

Secondly, the user no longer has to select from the autocomplete but can just add directly after entering the part #


In an effort to help our users better target and communicate with their users we are moving forward with enhancements based around marketing strategies.

In this release we’ve added the ability for the system to send follow up emails to users who’ve completed orders on your site.

This email can optionally display related products and also request the user add a rating and/or review.

You can choose when this email gets sent after completed orders along with controlling what gets displayed in the header and footer of the emails.

Product Fee Enhancements

Fees have been enhanced with the following:

  • Ability to base fees on “virtual” products
  • Ability to group fees

Virtual products allows you to create fees without the need for the product to exist in your inventory which was the previous requirement. All you need to do is enter a part #, description & cost and you are done.

Grouping fees allows you to set up a specific group of fees that once displayed to the user they can only select one from the list. So for instance if you set up a “Warranties” group with fees for “1 Year”, “2 Years” & “3 Years” the user would then be prompted to choose which Warranty they want after adding to cart. Of course like all fees this can be mandatory or optional.

Responsive Email Templates

Our last version of zeckoShop shipped with several enhancements around responsive design.

This version has now expanded on that so that all our email templates are fully responsive providing your site is also responsive.

Instagram Support

We’ve added in the ability to display your Instagram images on any area or page of your site.

The display of the images is based on a hashtag so once all the integration details are setup you would just need to let us know where you’d like them to display and what hashtag to use.  

Shipping Enhancements

We’ve made several great enhancements to shipping:

  • You can now specify, on a per product basis
    • Which products have free shipping
    • Which products require offline shipping calculation and along with this specify the note that shows up in the checkout when this happens
  • You can create shipping rules based on the order weight

Other Improvements

  • Share functionality on product details pages has been updated to use ShareThis!
  • Conditions added to hide currency & unit of measure
  • Setting to display sale end date on product image
  • Setting to show add to cart stock warnings/errors inline
  • Setting to force product warehouses to be updated to the customer’s default before completing checkout
  • Ability to set up matching and discounted coupon products based on >= operator
  • Setting to have custom pages fall back to the default language if none exists for the current language
  • Ability to show category images in the top level of the mega menu

So there’s a quick summary of the major additions to this version of zeckoShop.

Upcoming Releases

Our next major release will be coming out April 1st and will be the first in our 5.x series.


Announcing Intercom Integration

We are very excited to announce integration with Intercom in our latest version of zeckoShop.

So why are we so excited and why should you care?

We believe that one of the most important things to consider when you have a website is how you understand, support and engage with your users. This is where Intercom comes in because it allows you to do all of this incredibly easily and with a ton of options and flexibility.

Intercom has packages for observing your users, getting feedback from them, supporting them and onboarding them. By signing up you can observe your users for free but by upgrading you can take advantage of the other features.

How does zeckoShop integrate with Intercom exactly?

For the initial rollout we will push your users and their details to Intercom and we will record events such as log in, log out, page visits & completed orders. This will allow you to build custom filters around different user properties such as tags, address information etc and see how your users are navigating and using your site. In fact to see the power of the observe package view the video below to find out exactly what’s possible.

Also, by signing up for the other packages we will include the Intercom component for interacting with your users automatically on each page.

So if you are intrigued by this new module and want to find out more then send us an email and we would be happy to discuss it further and how it can benefit you and your website.

4.4.0 Release

zeckoShop 4.4.0 has been released and it’s full of new great features. Let me go through each of the major ones in turn to explain what each provides.


zeckoShop now has a statistics module!

There are 2 versions available: the free version that comes with the core and a premium version available for purchase.

Both deal with sales statistics related to overall sales, by category, by manufacturer and by user but the free version delivers just the high level details whereas the premium version allows you to drill down further and use filters to get at the information you require.

In future versions we will add statistics for abandoned carts, user search behaviours, coupon usage etc.

Abandoned Carts

This feature will not only allow you to view abandoned cars but it will also send out emails, with the body content of your choice, after a custom set period of time to users who have abandoned their carts.

There are several settings allowing you to set when a cart should be considered abandoned, when it should be removed etc.

Mega Menu

This new menu component still keeps the same feature set and look of our previous menu but has amped things up quite a bit.

Now you can choose to have your menu behave like a flyout panel where all items are displayed in one area along with optional images. For instance, you can choose to show all your top level categories so they appear all on one panel with their images also.

In future versions we will be adding other specialised panels for manufacturers, my account etc.

Product Fees

This feature gives you the ability to add arbitrary fees to your products so that when a user purchases a product, a fee (optional or mandatory which is set by you) is applied to that product.

Each fee can require comments, show your notes and be conditionally shown to a user depending on several pieces of criteria such as customer profile, user profile, logged in/out, user tags etc.

Other Improvements

  • We have added a translations screen to the admin which now allows you to change your own labels on zeckoShop. It also include an import/export
  • We have improved performance in several areas making this the fasted version of zeckoShop yet
  • We’ve added a feature called ‘Order Detail Custom Field Rules’ which allows you to set rules that determine when a custom field appears on the checkout. This allows you to have different fields show for specific products that your users can then fill out to supply needed information for their purchase of each item
  • The PO Number box has been moved to it’s own section which can also be hidden. This will solve the issue with your users entering sensitive information in here during checkout.
  • Users can now add a previous order to their cart through the My Account section
  • You can now assign multiple bill and ship to’s to your users

So there’s a quick summary of the major additions to this version of zeckoShop.

Upcoming Releases

We will be coming out with a minor version in September and a major version in December that will include tons of new features and changes so stay tuned for more details as it happens!


4.3.0 Release

zeckoShop 4.3.0 has just been released and there are a lot of new features to talk about. Although I won’t go over absolutely every feature, I will touch on all the major ones


Anyone who has been a partner with Terracor for at least the last few years may have already heard of zeckoCatalog. For those of you who haven’t heard of it, it’s a client side Windows application that allows you to generate rich catalogs based on the data from your UDC. This version of zeckoCatalog as we know it no longer exists and has been superseded by our new zeckoShop module which moves it off the client and onto the web. There were several reasons we made this decision but the most important ones are that it will allow us to take advantage of the latest web technologies, heavily integrate zeckoCatalog with zeckoShop and also since zeckoShop is constantly being improved zeckoCatalog will too benefit from this momentum.

We actually released this module in our 4.2.0 release under the name Catalog Generator but have decided to rename it as it’s the next generation of zeckoCatalog. So what does this version bring to the table:

  • We have added 2 editions of the module: Professional & Enterprise. For those of you who only need to generate price lists then professional is for you whereas if you want to use our other available layouts (or have a custom one built) and other advanced features then enterprise is the way to go
  • We’ve also added 3 different plans in relation to the volume of catalogs you intend to generate. There’s the bronze, silver and gold plans which allow 20, 75 & 200 catalogs generated per month, respectively
  • A new 2 column layout
  • Previously we only supported grouping by a single level of category whereas now the full category hierarchy is supported
  • Ability to filter what products are output into a catalog by product and category. This will allow you to create catalogs tailored to a particular product set e.g. you could create separate catalogs for every major category or even just for a particular set of special order items
  • A special test mode that allows you to generate your catalog as many times as you like till it’s perfect without using up one of your allowed monthly transactions


The search has gone through some major changes, mostly in relation to offering you much more flexibility in creating and exposing searches to your users. Here is a list of the major enhancements:

  • You now have the ability to create your own searches. Previously we offered 5 search/browse pages (basic, advanced, category, status & manufacturer). Basic (now called keyword), browse, status & manufacturer all still exist but now you can create any other number of searches you wish. You can choose exactly what fields a user can search by, how they sort, group, page & filter those searches
  • You can create a custom page and assign whatever searches you like to it with the visibility of the page and searches controlled by conditions. This means you can create special search landing pages specific to your individual users/customers as needed
  • A new concept we call “Custom Data Types” has been added. You can consider this to be a much more powerful and flexible version of custom fields. What it allows you to do is create a complete custom data set and import/export data to it. From here you can then use any of the fields in this custom data set in your searches. For instance, if you have a data set for vehicles that consists of year, make & model you could create a custom data set for this and then create a custom search that allows users to search for products associated with a particular year, make & model. The possibilities here are endless
  • A new masked control has been added which allows your users to search against a specific pattern defined by you. For instance, you could create a pattern like ‘DDDWWR’ where DDD maps to a diameter field, WW to a width field and R to a ratio field. A user would then enter their search terms into a text field in this format instead of having to select the fields from a set of dropdowns for instance. This works great where the format of the pattern is well know in an industry and something users are used to working with
  • The dropdown control has had a new feature added to it that allows you to set it so the values contained in the dropdown are dependent on the value selected in another dropdown control. Going back to our year, make & model example. You could set it so when a user chooses a ‘year’ that only ‘makes’ matching that ‘year’ are available in the ‘year’ dropdown and then when a ‘make’ is chosen only ‘models’ matching the selected ‘year’ & ‘make’ will appear in the ‘model’ dropdown
  • The PAS (Product Attribute Selector) has now been integrated fully into our search. This means that when you run a search, only the PAS category will display in the results and not all the products matching from the PAS. This keeps the result set much smaller and also keeps the functionality of the PAS intact
  • The way our autocomplete matches on products has been updated so it’s more efficient and also more relevant. You may have noticed that previously it only matched on the start of a keyword whereas now it matches on any part of a keyword
  • It’s now possible to turn on/off partial matching at the field level. This means you could turn on partial matching for part numbers but leave it off for custom fields for instance
  • When matching against fields in a search the previous behaviour meant that all values had to match for a product to be returned. Generally this is fine but there are cases where matching against at least one control is the desired behaviour and this ability has been added


We have added some nice automation features to our SEO offering along with import/export functionality.

For instance, permalinks can now be auto generated based off a set of rules defined by you. This means you no longer have to go in and manually create permalinks but can in fact have zeckoShop take care of this for you. You can of course still manually make changes as needed.

Also, the Google Product Feed is now auto generated after your sync runs so it’s always up to date.

Finally, you can now import/export permalinks which allows much easier maintenance of this data set.


zeckoShop has previously only allowed a single instance of a product to exist in the cart at a time. We’ve updated zeckoShop so you can turn on the ability to allow a product to exist more than once. This can be useful in instances where the same product may need different instructions or custom data. In line with this we’ve also added the ability to let users add comments to an item when adding it to the cart.


We’ve added a simple diagnostics module that will let you know if certain data is malformed. This includes:

  • Missing product short descriptions
  • Missing default selling price
  • Missing default unit of measure
  • Missing units of measure

And More…

Some other really great features we’ve added include the following:

  • SSL everywhere! Now every page on your zeckoShop will be secure and encrypted. The benefit of security on every page aside, this is a Google recommendation and will positively effect your page ranking
  • Custom registration fields are now included in the admin email
  • When a user registers their username and email are now included in the admin email
  • The user manager now shows the date and time a user registered on your site
  • We’ve added shipping integration to Loomis

Upcoming 4.4.0 Release

The next release of zeckoShop is going to include several more great features including more enhancements to our search, several performance improvements, a stats module, abandoned cart reporting and much more.

As soon as this version is released I’ll write another post outlining the major additions so stay tuned!

Conditions Feature

This will be the first post in many related to a specific feature in zeckoShop, namely Conditions.

What are conditions?

In a nutshell a condition is something that is based on one or more rules and can be applied to several aspects of zeckoShop and determines whether some piece of behaviour will run or something will be displayed on the site.

A rule can be based on something like whether a user is logged in/out, what a clients IP is or what a customers country is etc.

Read More

4.2.0 Release

With the release of version 4.2.0 of zeckoShop I wanted to address the most important features introduced along with mention future enhancements to these features that we are planning on adding in future updates.

Catalog Generator 1.0

Although we are always excited about new modules I must admit this one in particular has us extra excited. This is because not only do we see how this will already work great for our clients but we also have some really fantastic ideas for future features that will make this feature an incredible addition to any site and business.

Read More