Loop54 needs to have the entire product catalogue, including all relevant metadata, indexed. Submitting your product data to Loop54 in the right format is important for creating a successful and relevant search and category navigation experience for your customers.
Loop54 uses the product metadata to:
* Optional: many of our customers use Loop54 as their data source for rendering all information displayed on the search results page, product pages, etc. For this reason, they include more information in the product feed than Loop54 requires.
Here are our specifications regarding what data we need. Use this specification to structure your product information for the Loop54 search engine.
Depending on the quality of your existing product feed and the complexity of your catalogue, the effort involved with setting up your product feed can vary immensely.
The exact requirements differ depending on the types of products that you sell, however, there are certain minimum requirements we have for guaranteeing a good search and category navigation experience. We also have some optional, yet strongly suggested, recommendations you can adopt to avoid common mistakes.
The granularity of information and proper structure in your product feed allows you to use the data for different purposes. This can give you critical advantages, such as:
Below is an example of a typical JSON product feed that contains all required product attributes (Name/Title, ID, Category Path, Brand, ImageURL)
Here is an example of a full product feed in JSON
{
"Name": "Ceramic potato peeler",
"ID": "CPP-5562",
"CategoryPath": "Tools > Peelers > Potato peelers",
"Brand": "OXO",
"Description": "This is a great potato peeler.",
"Color": "Black",
"Length": "25cm",
"IsNew": true,
"ImageUrl": "http://www.loop54.com/hubfs/demo_images/apple.jpg",
"Price": 99,
"Price_Sale": 79,
"New_until": ""
}
The product information you submit using these attributes is the foundation we use to create your search engine. Please make sure everything you submit is of the quality you would show to a customer.
If you don't have a relevant value for any of the attributes listed below, we prefer you leave the attribute container empty (i.e. do not provide a value like: N/A, Generic, No brand, or Does not exist).
The sections below describe what product attributes are required, recommended and optional.
To create a reliable abstraction of the topology of your product catalogue (i.e. a neural network), Loop54 requires that certain product attributes be available in the product feed. Loop54 uses this information to build relationships between products and understand how statistically similar/dissimilar products are to one another based on their location in the neural network.
Categorisation types |
Description |
JSON example |
Full Path (Preferred) |
Full category path with at least two levels. Starting with general category and progressing like a funnel towards the most specific sub-categories. Engine can support a full path as an array and a list of lists - where outer list is all categories the product belongs to and inner list are the hierarchies for each category. If the product is found in several category paths and one path is primary, give it a name like: primary_category_path. Why is this preferred? because the Loop54 algorithm can infer information from the path hierarchy itself. There is no ambiguity as to the structure of the categorisation and there is sufficient granularity to the path. |
"CategoryPath": "Apparel & Accessories > Clothing > Activewear > Bicycle Activewear > Bicycle Jerseys" -OR- “CategoryPath": ”Apparel & Accessories|Clothing|Activewear|Bicycle Activewear” -OR- “CategoryPath”: ["Apparel & Accessories > Clothing > Activewear > Bicycle Activewear > Bicycle Jerseys", "Bikes > Mountain Bikes > Accessories"] -OR- [ ["Apparel & Accessories", "Clothing ", "Activewear", "Bicycle Activewear", "Bicycle Jerseys"], ["Bikes", "Mountain Bikes", "Accessories"] ] |
Sub-category (Alternative) |
By having an attributed called sub-category, a level of category hierarchy information is provided. Why isn’t this preferred? Ambiguity after first sub-category. It is not clear whether sub-category-2 is a sub-category of sub-category-1 or a second, separate, sub-category to the general category. There is no clear path. |
“Category”: “Apparel & Accessories” “SubCategory1”: “Clothing” “SubCategory2”: “Activewear” |
Category list (Alternative) |
List of all categories the product belongs to. Gives information about the product but no hierarchy to the categorisation. Why isn’t this preferred? There is no hierarchy for the algorithm to infer additional information about the structure of the catalogue. |
"Category":[ "Apparel & Accessories", "Clothing", "Activewear" ] |
One category (Not recommended) |
One category the product belongs to. If only one category is listed, ideally it is the one that best describes the product. For example, if the product is a jersey, put Bicycle Jerseys, not the more general category Activewear. Why is this not recommended? Very limited and shallow information about the catalogue. There is no hierarchy for the algorithm to infer additional information about the structure of the catalogue. Warning: Having only one category often produces bad results. The solution to this is to enrich the product feed by building category hierarchy from other available data. Having Loop54 enrich the feed is a service that is available to enterprise-level customers. |
“Category”: “Bicycle Jerseys” |
We use these attributes to build additional logic, faceted filters and to improve the relevance of search results and/or category listings. The attributes listed below are highly recommended but not required for the proper functioning of your Loop54 engine.
Below is a table summary of all required, recommended and optional product attributes often found in a product feed. In this summary, we also provide examples for each attribute.
Attribute |
Description |
Example |
Required |
||
Product identifier |
Your product’s unique identifier. This is the value you use in your store to identify a specific item. |
235, 120, 560, XTHUL |
Title |
Your product’s name. Accurately describe your product and match the title from your landing page. Avoid promotional text in your title like “Free Shipping” or “Limited offer”. |
Cami Sports Bra Pimkie Biker Jacket Faux-fur bomber jacket |
Image url |
The URL of a image for your product. This is the main product image. If you have multiple images, use the additional_image_link attribute. |
|
Brand |
Your product’s brand name. Provide the name of the company that created the product (i.e. manufacturer or supplier). Provide the brand name of the product generally recognized by consumers. |
Adidas ASOS Collection |
Category |
Product categories that you define for your product. A product category is not a physical attribute, like color, dimensions; nor should it specify that the product is new or is on sale (e.g. “Gifts for him” or “Black Friday Sales” are not a categories). This attribute tells Loop54 which category your product belongs to. Include the full category path, don’t just settle for the highest level category. Try to be as specific as possible and make sure to include the full string - starting with the more general and progressing towards the specific, like a funnel. |
Apparel and Accessories > Clothing > Activewear > Bicycle Activewear > Bicycle Jerseys |
Recommended (if applicable) |
||
Description |
Your product’s description. This is where you give all the product details a customer cares about: features, dimensions, use cases, etc. The description helps to tell Loop54 what other keywords your product would be relevant to appear for. As with the title, avoid promotional text. |
Fitted black shirt with dragon design on the front. Pack of 100 pencils with lemur illustrations. No. 2 |
Price |
Your product’s price (excluding currency). Loop54 uses price for distinct and and range faceting, therefor please don’t include currency in the price value. If you have different prices for different currencies, use multiple currency attributes instead. For example: PriceEUR: 5.99. |
23.70 34.95 32.19 |
Variant group id |
Connection ID between parent SKU and child variants. This attribute groups together different product variants, like items in different colors or sizes. Used to associate articles and products and to make all metadata searchable even if only one variant is displayed in the search response. variant_group_id or item_group_id |
134 |
Color |
Your product’s color(s) |
blue, black, yellow |
Availability |
We can use it to bury out-of-stock products in results and category listings.Useful when Loop54 handles paging. |
Preorder In Stock Out of Stock True or False |
Campaigns |
We use it to give products on campaign higher weight/prominence in search results and/or category listings. |
True or False |
New until |
When a new product is added to your catalogue, this is the date that the product is no longer considered new. Should you wish to boost new products, we use this attribute to give new products higher weight/prominence in search results and/or category listings until the date provided. Please use ISO 8601 format. |
2018-03-05T12:26:54+00:00 |
Product series name or number |
Your product’s Global Trade Item Number (GTIN). Gtin or Global Trade Item Numbers are unique product identifiers. Often called barcodes. |
|
Attributes that describe a unique product feature |
Any other attribute shoppers might use to compare products or use to narrow results through facetting. E.g. Wheel Size for bicycles. |
Size Age group Gender |
Attributes that say something about the relationship between specific products |
Since Loop54 uses all product metadata to build relationships between products, a product attribute like “Gear Type” for Bicycles could be used to find and group all bicycles with the same gear type. Any attribute that describes a product and would be used by shoppers to narrow or expand their search should be included. |
Gear type Length |
Hidden keywords |
The words that you can supply to help boost discoverability in search results. Use terms that would help someone find a product if they hadn’t searched for what you visibly provided on the search result page. |
|
Optional |
||
Link |
Your product’s landing page. You have to provide a direct link to the product page (not your homepage). If you have a specific page for mobile traffic, supply that link via the mobile_link attribute. |
We could theoretically synchronize against the product feed every 5-10 minutes (depending on the size of the feed). But that depends mainly on how resource intensive it is for the platform to generate the feed.
There are also hybrid solutions available where delta-information/changes is pushed to our API continuously in real time, but it should always be complemented with a complete feed that Loop54 can synchronize with at least once a day.
How often should Loop54 sync against the product feed? This is often dependent on the logic that Loop54 should incorporate. E.g. if Loop54 shall filter out of stock items, the synchronization intervals needs to be short.
Which attributes should Loop54 incorporate business logic from? The usual ones are campaigns and news.
Should Loop54 filter out results (e.g. out of stock) before the result is sent back?
All attributes that are needed for faceting need to be in the feed.
Many product catalogues contains a product hierarchy where one product contains several variants or articles (On Magento, these are often called configurable products). Loop54 can be configured to send back either type, depending on how the users interact with the products. It is also possible to return variants/articles on a narrow search (e.g. a model number) and products on broader search phrases (e.g. product category). So depending on the situation it needs to be decided which is most suitable in terms of use case, available meta data and platform capabilities.
Product overview
Technology