eCommerce Site Search Best Practice

eCommerce Site Search - Best Practice

In this article, we discuss the importance of a good search bar and how to make the most of yours.

On eCommerce sites, up to 30% of visitors will use the site search bar to navigate.

These users are showing a clear intent to purchase by entering product names they may wish to browse. Therefore, you want to ensure you’re making the most of it and create the best experience for your visitors.

Make it easy to find

This probably sounds simple but it’s very important - make it easy to find. If the user can’t find the search bar, you could be losing out on that potential extra 30% of sales. It doesn’t necessarily need to be too big or bold but users should be able to find it quickly when they arrive at a page and look around. Here, Halfords have gone as far as to dim the rest of the site when a user clicks on the search box.

Positioning the search box

The position of the search box on the site can influence the user's decision to make use of it to look for products. Navigation should be clear across the entire site, including the site search boxes. This is so that visitors can move around easily, whichever page they happen to arrive at.

However do bare in mind that you want to avoid any confusion on your site. So to do so, make sure you do not locate the search bar too near to other boxes, such as newsletter sign-ups or postcode searches for stock information.

Use autocomplete for site search

By applying this feature to your search bar you improve the search experience by reducing the work that the visitor needs to do. As they type, products are suggested. The use of images not only provides a visual appeal but it also allows them to check the products quickly, such as is shown with PrettyLittleThing.com

If I were the user and I typed in ‘red’, not only do suggestions appear, such as ‘red crop top’ and ‘red denim skirt’ but images appear too which makes the experience for the user better as they get to instantly preview the items.

Filtering the results page

 

Whether a customer clicks or leaves your website can be down to your search results page. Not only do you want the searching experience to be easy and hassle free, you want to bring up relevant results.

With a good site search engine, you should be able to customise your users search to great deal. For instance, if you were a womens fashion retailer, one of your visitors could search for ‘black dress’ and all black dresses would appear. I have used retailer ASOS for this example (see images).

That user should then be able to filter their search more by features such as size, length (do they want a midi, mini or maxi length?), price and so on. Using filters helps to narrow down the options available for the customer so they aren’t overwhelmed and can therefore find their desired item faster.

You can see that just by adding a few filters the search for black dress has gone down drastically.

Track your searches

Some tools you should be taking advantage of are Google Analytics and Google Keyword.

The majority of search engines or hosted searches will keep a list of search terms that users have been looking for on your website. This is a great way to keep track of what the most popular items are and you can see what users are after. With this information you are then able to place these items nearer the top of search results.

Leaving the right breadcrumbs

It can be very irritating when a website produces breadcrumbs like Home > Search > Your Search Result. But leaving the right breadcrumbs can make the users life much easier. People use them to get a more precise search. Helpful breadcrumbs allow people to search without clearing everything and starting from the beginning.

For instance, using this John Lewis camera search query, we can see that convenient breadcrumbs have been left on the site. The item selected while browsing, in this example the Sony camera, might not be exactly what the customer is looking for, therefore leaving useful breadcrumbs such as ‘Cameras & Camcorders’ or even ‘Electricals’, makes searching easier. Furthermore, a faster and hassle-free shopping experience will more likely result in a sale.

Make sure it works and it’s fast

Or risk losing revenue. There is correlation between the amount of users who purchase something from your website and the load time. The same is true for search results. When load times increase, profit decreases. Amazon reported that “one additional second would cost them $1.6 Billion dollars in sales”. Therefore, run tests and ensure your load time is acceptable - this includes checking the load time on mobile devices.

When considering search result load times, even loading time by half a second can be detrimental. In 2012 Google conducted an experiment on search results by increasing results from 10 to 30. The outcome showed that revenue and traffic decreased by 20% because the additional search results took milliseconds longer to load.

Give search suggestions

Placing suggestive text in your search bar will encourage or prompt the user to search for something on your website, but make sure you limit your hints to just a few words.

Not only does a sample search query give them suggestions but it also makes it clear on what they can search for on your website and how many criteria are available. For instance Triavago.co.uk search for hotels and have given ‘New York’ as their search sample, whereas Odeon have given multiple samples, ‘Films, Cinema’s and Questions’.

 


Getting directions with Google Maps API

How to Get Directions with the Google Maps API

This blog post offers a simple solution to providing a ‘get directions’ feature on your website.

I recently had the task of getting the directions from the current user’s location, to the location of a store, as part of an eCommerce project. For this particular application, I was working on the SAP Hybris platform but the process should be the same for any of the main platforms such as Shopify Plus, Magento, BigCommerce etc.

I found the documentation on Google Maps to be a lot more convoluted than necessary. The directions in the documentation explain that you need to use the `DirectionsService` that google maps provide as part of the API, as found in this example.

This is not the case, although you will still need the location in which you would like to direct the user (i.e. the latitude/longitude, or the name of the place).

Assuming you wish to set the start location as the user’s current location, you can achieve this by simply using this endpoint,

<a href="https://www.google.com/maps/dir//{latitude},{longitude}"> Get directions </a>.

There is also an opportunity here to set various rules on how the directions should be set, such as the mode of transport, the travel time, waypoints, and much more. All of these options can be found here.  But, to save you the click, here they are;

{  origin: LatLng | String | google.maps.Place, // where you will begin  destination: LatLng | String | google.maps.Place, // where you will end up  travelMode: TravelMode, //driving, train, boat, transit etc  transitOptions: TransitOptions, // only applies if travelMode is provided  drivingOptions: DrivingOptions, //you can set the departure, and pessimistic or optimistic driving coniditons  unitSystem: UnitSystem, // metric or (the archaic) imperial  waypoints[]: DirectionsWaypoint, // places to stop off on the way  optimizeWaypoints: Boolean, //when true, it chooses the shortest route  provideRouteAlternatives: Boolean, // when true, gives more than one way to get to the destination  avoidFerries: Boolean,   avoidHighways: Boolean,  avoidTolls: Boolean,  region: String}

TLDR;

<a href="https://www.google.com/maps/dir//{latitude},{longitude}"> Get directions </a>

Note: the two  `//` after `dir` are required, as otherwise it will assume you are setting the starting location.


Customer Feedback, Relationships and Reviews

Reviews Matter: How to Build a Better Relationship with Your Customers

Some easy tips and tricks on how to make the most of reviews on your website and increase credibility

Having a good relationship with your customers is arguably the most important part of running a business. After all, happy customers, happy conversion rate.

And one quick, uncostly way to do that is through reviews.

According to statistics, ‘92% of people will trust a recommendation from a peer & 70% will trust a recommendation from someone they don’t know’. And with more than one in ten customers reading online reviews, your customers will be your best form of marketing.

Having a product reviews section on your website will mean your products have the backing from your consumers. Those that have bought, tried and tested, your products will be able to review them for other potential consumers that may be browsing the site (and hopefully they will be vouching for you).

Equally, it is important to never remove any negative reviews. This would be dishonest, and that isn’t the message you want to be sending out where your business is concerned. Instead, E.g. if a review says "My product arrived late" replying and saying "We're sorry for the confusion, please get in touch and we're happy to refund your delivery". Customers understand that things go wrong and more interested in the solution.

This approach will appear more professional and suggest that you care about your customers and about improving not only your product but your business. Make the most of these comments. It’s a good way to see things from the other side too!

And it’s not just written reviews. Thanks to social media, your customers can now give you social testimonials.

So for instance, let’s say your business is fashion related. A customer may post a photo of her new dress on social media. She just can’t wait to wear it out this Saturday and tags you in the caption or mentions your brand when one of her friends asks “where’s it from?”. Now, all of her friends and followers that saw her post are aware of who you are. They may even visit your site. And one great tool you could use to help with this would be Yotpo. They allow you to “combine reviews and photos with customizable display options that enhance your brand”.

Whether you’re in the fashion industry, tech, sports, whatever it may be, ultimately the principle works the same. People buy from people.

So not only can reviews potentially make your products more credible but if used in ways like social testimonials, it can generate advertising and reach extra audiences you may not have otherwise.

Is your business making the most of reviews?

 


Website Speed Tips

6 Tips to Increase Your Website Page Speed - Part 1

As anybody who knows me will tell you, I’m a huge self-confessed web performance geek, I love websites that download fast, I believe that fast internet is a basic human right and I think hotels that claim to have WiFi but instead have LiFi (WiFi that doesn’t quite seem to download anything) are criminal and should be boycotted.

This means that I’m always on the hunt for a good website performance technique and I thought I’d share 6 of the best web performance techniques that work every time.

Reduce the size of your images

The most commonly overlooked technique to get a faster website, can not only give you some of the biggest rewards but it’s also the easiest technique to implement.

There are a few areas in which you can reduce the size of your images:

Reducing the aspect ratio
This sounds very obvious but a huge amount of websites I’ve optimised and found that their main banner at the top of every page is 5000 pixels wide but is being displayed at 20% that. Just by reducing that you can save yourself a huge amount of bytes and therefore save your users from a huge download for no real benefit.

Make sure you’re showing the right image for the device
If your customer is viewing your product on their mobile, show them a version of the image that’s no wider than the device. When CSS is used to reduce the size of an image, it’s still the same size to download, just the browser then has to process it to the size required by the CSS, adding more time. Consider looking into srcset which is becoming more widely supported.

Compress the image

Tools like TinyPNGTinyJPG and ImageOptim can save your users from many kilobytes of download without reducing the visual of your image in any way your users will notice. This means that you can save a large amount of bytes on your page, without actually impacting your users. If you can have this built into your media upload, you don’t even need to think about it.

Reduce the ‘quality’ of the image

By reducing the quality of our images, we’re really talking about simplifying the amount of colours being used. This means that we can not only reduce the file size but also making tools like Gzip more effective. Other more advanced techniques of this include reducing the quality significantly to the point where you can see but saving the image at double the resolution, this has been proven to deliver even smaller file sizes without impacting the asset visually.

Remove old and unneeded code

Technical debt is an unavoidable part of any development, making sure you go through and remove old CSS, HTML and JavaScript is hugely important, though.

A few common areas that get overlooked regularly:

Removing vendor files

Pulled out an old version of a carousel or a split testing tool, make sure to pull out the assets as well, that includes the JS and CSS that goes with it.

Removing losing variants of split tests

Very often I’ve seen examples where 2 or more versions of the same element have been created and tested. After this has been analysed and a winner decided, the traffic is pushed down one stream to the winning variant only for the old versions to be forgotten about. Make sure to remove any old code associated with the losing variants of the split test.

Not including the entire framework

This is the most common cause of removing unneeded code, when people include frameworks like Bootstrap or Zurb, they very often include the entire framework, this means all the JS and CSS that build elements that the website might never even use. You can build these files up as and when you need them by not including the unneeded Sass files or only downloading part of the JS. For instance, the entire bootstrap CSS and JS is 668KB whereas the bootstrap grid is just using the grid is 13KB. You can use the customize tool on the Bootstrap website to do this for yourself and tailor the download to your needs.

Prioritise your assets

This is equally as important as anything else, make sure you’re downloading your assets as and when you need them. The simplest case of this is making sure to put your CSS in the head of your file and the JS in the bottom.

Even more than this though we can look at preloading pages and lazy loading.

Preloading

Preloading is when you download an asset before the user requires it and store it in cache or local storage, this means when they get to the area of your website where you think they might need it it’s already available and you don’t have to download it. A good example of when this could work is if you have a booking flow on your website, your booking flow will probably have some extra functionality, so before the user clicks on the search button on your booking engine, you could preload some of this functionality meaning you can load the page quicker and hopefully convert that user.

Lazy loading

Lazy loading is the other side of this, delaying your assets on the page the user is currently looking at until they actually need them. If for instance, you’ve got a gallery on your page, you don’t need to load all of the images the moment the user lands on the page. A more optimal way of doing this would be to download nothing at first, this allows for the first render to happen. Once we’ve displayed the page we download the first couple of images, and maintain being 1 or 2 images ahead of the image in view. This means you’re not downloading images that your user might not ever see but still make your users feel everything is instant as they slide through your gallery.

This is part 1 of a two part series, read part 2 here.

Everything I’ve said about are all web performance techniques that actually work, I’ve implemented them, I’ve seen the results and I can vouch for them.

I’d love to hear your stories implementing some of these results, equally, I’d love to hear some of your web performance techniques that do or don’t work, so please reach out in the comments.


Universal Javascript

Tackling Universal Javascript

Tackling Universal Javascript - the benefits of server and client-side rendering

What is Universal Javascript?

Simply put, ‘Universal Javascript’ is javascript that is capable of running on both the browser and the server, but also on native devices, embedded systems and more.

It’s also referred to as ‘Isomorphic Javascript’ as there is some confusion regarding what ‘universal’ and ‘isomorphic’ mean in the context of Javascript. It was decided by community leaders, that, in fact, it’s best to call it Universal.

So, now we’ve cleared that up, let us move on.

Why Universal Javascript?

The reason the decision was made to use Javascript say instead of say C#, PHP, or any other popular server-side language is because javascript allows the junior members of our team (including me) to use our front-end skills in a more productive way. This grants us the ability to be introduced to powerful concepts such as REST, and HTTP, without the added mental stress of learning a whole new language, abstracting away from the language itself and focusing on the concepts behind what’s happening on the client, and the server.

It’s a great environment to develop and nurture both front-end and back-end skills, and removes the necessity of context-switching, leaving us to think about the important parts of our application rather than the implementation details, and stressing over semi-colons.

Furthermore, another selling point of universal JavaScript is the fact that it runs on every device. iPads, iPhones, Android, Raspberry Pi’s...  whilst, PHP for example, can not. This, I believe, gives Javascript a unique ‘future-proofed’ status among programming languages, as it provides us the freedoms of using experimental javascript and device features without being limited by the browser, allowing us to create cutting-edge solutions for our clients, as the language evolves. Also, given that Universal Javascript is in it’s relative infancy; it has some huge industry backers. These include NetflixAirbnb to name a few.

Universal Javascript also gives us the added benefit of a substantial performance boost. The templates created in our components can be rendered on the server; and plain HTML can be sent the client. This benefits the user greatly; as it will provide them with a viewable media faster, without relying on fast loading speeds, location, device speed or any other of the factors regarding the user's experience outside of our testing environments. This, in turn, reduces the bounce back rate, providing more conversions for marketers. More benefits include ‘perceived speed’, which is where the user thinks your site is faster than it actually is; this can be achieved by critical CSS rendering; which is where the ‘above the fold’ content is rendered as quickly as possible, which in turn gives the user the content that they want, faster.

Universal Javascript also offers SEO benefits. One of the biggest disadvantages to building a Single Page Application (SPA), is the fact that it’s all rendered on the client. What does this mean? Well, this means that google's, bing's, and yahoo's’ webpage crawlers aren’t able to interpret client side code; because they crawl the server pages. However, with Universal Javascript, these pages can be pre-rendered on the server, giving accurate content to the crawlers.