How to add the search form?
To add the search form to your storefront you need to go to Shopify Admin → Online store → Themes → Customize. Then click Add section and choose EasySearch:
Once the section was added, move it to the position you want.
How to add the Fitment widget?
To add the Fitment widget please go to Shopify Admin → Online store → Themes → Customize. Click Add section and choose EasySearch:
How to create the search DB
There are several possible options to set up a catalog to work with our app. The easiest way is using our Visual Database Manager where you may add search term (year/make/model) and manually assign products related to that model. UI is pretty much the same as adding products to collections in Shopify, but if you have a lot of products and supported models, it may be too time-consuming.
Another way is to use the Manual Database Editor and import your database as CSV. To point particular search terms combination to the corresponding list of products you may use a list of SKUs or product handles in your CSV file, or just URL. In case of URL, here are also some good practices that may work for you (especially if you already have some similar catalog structure with properly tagged products):
1) You may create new collections for each search term. But this solution is not flexible and time-consuming as each time you add a new product you'll need to add it to the proper collection manually;
2) You may tag each product with Make, Model and Year tags (i.e. KTM, 350 MX, 1989) and create an automatic collection based on tag filters. It will work pretty similar to (1), but when you add a new product it will be automatically added to the proper collection, so you'll save some time;
3) Tag products as described in (2) and filter products by tag. For example, in Shopify you may use the following URLs: /collections/all/ktm+350-mx+1989. In this case, you won't need to spend time on creating collections, all you need is properly tagged products. Or you may create collections for Make, and filter them by model and year as tags - in this case, URL will look fancier: /collections/ktm/350-mx+1989.
Of course, as our app allows you to use any URL, there are no limitations and you may point some search terms to a particular product page, or just some landing page and so on.
So basically you have two ways: import database as CSV (good solution if you already have some product database with year/make/model in excel file) or add it manually using our Visual Database Manager.
Also, here is a link to our manual on how to import your database in the Manual Editor: https://nexusmedia-ua.com/blogs/howtos/how-to-import-your-database-to-easysearch-app
Our app does have a search DB for cars which you can preload but it's more like a sample because the app cannot connect each car model with a particular product in your store automatically - we just don't have that data. So you should perform that connection yourself. Any app won't add year/make/model search fully automatically as each product is different and there's no way for us to determine which model the product is related to automatically. It might be easier to create your own DB from the very beginning.
How to apply the filters automatically while surfing the store?
If you use the tags to filter the search results and want to continue filtering the collections while the visitors are surfing the Store you may use the “Keep filtering” option (EasySearch → Settings). In this case, the app will apply the tags to the collections the visitors open and they’ll see the products appropriate to the search criteria they’ve selected during the import.
Shopify has a limit of 250 tags per product. But basically, our app just connects search terms combination (particular year/make/model) with certain URL. It may be any URL - tags, collections, search or even 3rd party website. By default, we recommend tags as that's native and the easiest way to use the app. Also, our helper tools like Visual Database Editor also tag your products in the background - so still using tags. But if tags won't work for you due to that 250 tag limitation, you may use collections instead (but of course it will take more time to setup), or combination of tags and collection.
Database is overwritten
If you use the database as a CSV file with SKUs or handles listed in the URL column, during the file import, our app will create tags (e.g. 2012-nissan-370z-esi2454867) and add them to the products meeting the specific search criteria automatically. And the app will replace SKUs with the links to the pages with appropriate products in the Manual DB Editor tab of the app admin.
Every time a new database is uploaded, the database and tags generated by the app are overwritten.
If you'd like to pass the search request data to GA, please follow the next steps:
return easysearch.curIndex.replace(/,$/, '').replace(/^,/, '-,').replace(/,$/, ',-').replace(/,,/, ',-,').replace(/,/g, ' / ');
2) Then you need to create the Click trigger for the "Search" button and the "Universal Analytics" tag of the "Event" track type and set the variable you created as Action.
Loading speed issues
Yes, it takes some time to load the search DB and it depends on the size of this DB. During the first load after the DB update, the browser is caching the DB file and further loads should work faster. But in any case, there will be some delay to initialize the database. However, this process is asynchronous and it does not block your browser from loading other page elements.