|1. Prepare||»||2. Connect||»||3. Fields||»||4. Settings||»||5. Tracking|
Your shop’s search functionality, relevancy, filtering capability/options, and any custom developed features depend on the data feed file passed to Searchspring. If this data is incorrect or inconsistent, it will negatively impact the way your search results are served to the customer - therefore it is extremely critical to address these data issues up front before we begin powering your live site search results in order to get the most out of Searchspring. This article is intended to help our customers avoid data inconsistencies, and answer questions regarding data formatting for various features.
Data Feed Types
Your data feed is passed to Searchspring in one of two ways:
- API-Generated Data Feed - If your data feed is being generated via an API (Magento, BigCommerce, Miva, etc.), you'll affect the data passed to us by how you assign certain field data to your products in the cart’s admin panel.
- Custom Data Feed - If your data feed passed to Searchspring is created manually or by a custom process, you'll need to pay careful attention to how the data is formatted, structured, and standardized in order to maximize the Searchspring product offering.
Data Feed Fields
- ID: We need a unique identifier for your products.
- Name: We need the name of your products to display within the search results.
- Image: We need an image of your products to display within the search results.
- Price: We need the price of your products to display within the search results.
- URL: We need the URL of your products to link to your products within the search results.
- SKU: We need the SKU of your products if you want it displayed within the search results or if you want it to be searchable.
- MSRP: We need the MSRP of your products if you want it displayed within the search results.
- Thumbnail Image: Using a thumbnail image in place of your full product image reduces load time of your search result pages.
- Description: Product descriptions are useful for displaying in search result list views and can also be searched against.
- Category: Product categories are required to use Searchspring's Catalog on your category pages. It is also a useful facet and search field.
- Rating, Brand, Color, Size: All of these fields are great faceting fields.
- Add To Cart URL: This is a good field to include to allow an add to cart button to be included in your search results.
- Product Attributes: Any other product attributes you want include in your search results pages, to have searchable, or included as a facet need to be in your data feed.
Structuring Your Data
Category Hierarchy Filter
In order for Searchspring to populate a hierarchical category filter, you'll need to structure the category data in a specific format.
The current parent level category is Baby Proofing, the sub-category selected currently is Kitchen Safety, and the sub-categories of Kitchen Safety are displayed beneath it - Cabinet Locks, Drawer Locks, etc. In order to populate a hierarchical facet such as this, you'll need to structure the data in a specific way.
For example, assigning product to both the Cabinet Locks and Drawer Locks subcategories, the Category Hierarchy data requires being formatted this way:
"Baby Proofing > Kitchen Safety > Cabinet Locks | Baby Proofing > Kitchen Safety > Drawer Locks"
Notice the '>' separating each category level, and the '|' separating each category path. These delimiters must be these specific symbols - they cannot be any other symbols or reversed.
Color Palette Filter
In order for Searchspring to populate a color palette filter, you'll need to ensure that each color in the data feed is a web-safe name or a hexadecimal value. If you choose to use a hexadecimal value, be advised that this value will display in the "Your Selections" box when the user selects a color. Refer to this article for more information on web safe colors:
Size Filter Data
Standardizing various formats of sizing data is often a pain point for our customers once they preview our functionality during the Mockup stage - which is why we work with you diligently before scheduling the live integration process getting everything dialed-in.
"S, M, L" and "Small, Medium, Large" are two separate ways of assigning sizes to products - and will display separately in the filter options. Choosing one approach to sizing and sticking with it is the best way to standardize sizes in the filter, and will allow us to display the options clearly to the user.
Often there are different formats of sizes in a single data feed, such as "36, extra long, XXLT, 24/32, etc." that we'll need to order in the filter specifically according to the customer's needs. If you think this may be the case for your store, let us know how you would like the size options ordered in the size filter for your customers.
Extracting Multiple Custom Fields out of an Unused Standard Cart Field
Unused fields that are passed to Searchspring through a cart's API can be utilized to store multiple custom field data. For example:
Search Keywords: "Width: 5 | Length: 8 | Height: 12 | Weight: 15.3 | Color: Blue | Size: Small"
We can extract out each of these custom fields (width, length, height, weight, color, size) into individual fields on our end if the data is in the correct format (i.e. "fieldname: fieldvalue | fieldname2: fieldvalue2 | fieldname3: fieldvalue3") with colons ‘:’ separating field names from values, and pipes ‘|’ separating each group of field data.
To enable proper sorting of product data by date, the 'date_created' field should be formatted in this manner:
- 2014-04-25 19:55:49
- 2007-04-20 09:05:04
Note how the date and time are padded with zero's, and time is formatted as military time.
Elevating Products in Search Results
Often, our customers want to push certain products (such as top sellers) to the beginning of search results, which is a relatively easy process, but will require the assignment of a rank/order number inside of an unused cart field to the products that should get elevated. For example:
- Product 1 Data:
"sales_rank" (or any unused field): "1"
- Product 2 Data:
"sales_rank" (or any unused field): "2"
- Product 3 Data:
"sales_rank" (or any unused field): "3"
- Product 4 Data:
sales_rank" (or any unused field): "4"
Which we can then use to push products 1 through 4 to the beginning of search results in that specific order.
Slider Bar Filter
To have a filter display in a slider format that allows the user to select a range of values, the data for this field must be in a standardized decimal format. For example, for a length facet, with lengths from a few inches to several feet, all values must be provided in one unit, i.e., either inches or feet.