csv_export_documentation:csv_format
Findologic CSV 1.0 export format
If your are using CSV-export for the data synchonization between your shop data and Findologic, the CSV-data provided by you has to be formatted in the way that is described below.
Unless you have an enterprise-contract the shop data will be imported by Findologic automated daily at a fixed time between 01:00 CET and 06:00 CET.
You can either write your own export script, provide a completely finished CSV-file for the import, or use a plugin provided by Findologic.
You can find a detailed description of all available colums in our CSV-format below.
Demo CSV
- You can find an example for a rightly formatted CSV-file here.
The columns in particular
Column | Description | Has to have content | Will be used for search |
---|---|---|---|
id | Unique ID of the article | Yes | No |
ordernumber | Article number(s) / SKU(s) of the article | Yes | Yes |
name | Name of the article, how it is displayed on the search result pages | Yes | Yes |
summary | Short description of the article, which can be displayed optionally. | No | Yes |
description | Detailed article description. | No | Yes |
price | Currently valid retail price incl. taxes (f.e. currents sales price). | Yes | No |
instead | Regular price of the article incl. taxes. | No | No |
maxprice | Currently valid retail price incl. taxes with the highest available option. | No | No |
taxrate | Taxrate of the article. | Yes | No |
url | Absolute or relative link to the article-detail-page. | No | No |
image | Absolute or relative link to article image. We recommend to deliver the image in thumbnail-size. | No | No |
attributes | Categories and attributes (used for filters) of the article. | Yes | Yes |
keywords | Keywords, which are related to the article. | No | Yes |
groups | Groups, which the article is related to. (f.e. subshops). | No | No |
bonus | Bonusvalue related to the specific article. This is useful to push products on top of the search results. | No | No |
sales_frequency | Salesfrequency of the article. “How often was the specific article sold?” | No | No |
date_added | The date, on which the article was added to the shop. | No | No |
sort | This value can be used to sort the articles and to have influence on the position of specific articles on the search result pages. Has to be an integer. | No | No |
visibilities | Indicates the visibility of all/some products | No | No |
properties | You can define additional information using the properties column. | No | No |
Format
- The CSV-file has to be UTF-8 encoded.
- The columns of the CSV-file have to be seperated by a tab (
\t
). - The rows have to be seperated by “new line” (
\n
). (NOT carriage return) - If the text value of a column contains several words, it has to be in double quotation marks (
“
). - Functional characters (return,
\n
, tab\t
, etc.) have to replaced by a white space. - Escape sequences are used analog as in C / C++ / Java / PHP (f.e.
A 17\” monitor “
). - The first row has to contain the names of the columns, that are shown in the table above (f.e. id, ordernumber, etc.).
- The names of the columns must not be in quotation marks.
The columns in detail
id
Unique ID of the article:
- May contain letters and numbers.
- Must not be longer than 255 characters.
- Has to be unique - if there are duplicate ids only the first article with this id will be imported.
ordernumber
Ordernumber(s) / SKU(s) of the article:
- May contain characters and seperators (except ”
|
“ and ”#
“). - You can provide several ordernumbers seperated by ”
|
“. These can be used slave- / child-ordernumbers, SKUs, EAN/ISBN, etc. - Ordernumbers are not being searched error tolerant. If no exact match exists, the whole database is being searched.
- In order to be able to find variations of the ordernumber, you can add these variations as seperate ordernumbers (f.e.
081512345|0815
- if the ordernumber should be found also by typing in the first 4 numbers).
name
Name of the article:
- Must not contain HTML- or XML-formatting.
summary
Short description of the article:
- Must not contain HTML- or XML-formatting.
description
Detailed description of the article:
- Must not contain HTML- or XML-formatting.
price
The gross price (base price - incl. taxes) of the article.
- Must have a dot (
.
) as decimal seperator. - Must not contain seperators for numbers larger than or equal to 1000.
- Example:
24999.95
= right |24,999.95
= wrong - For certain cases such as items without a price, intranet- or CMS-search, use a price of
0.00
.
instead
The gross price shown instead of the base price, for example Now only 39.95$ instead of 59.95$
–> base price=59.95, instead=39.95
.
- The same rules as in the column
price
(described above) apply.
maxprice
The price for the most expensive article variant. It can be used for prices like from 29 €
–> price=“29.00”, maxprice=“39.00”
- The same rules as in the column
price
(described above) apply.
taxrate
Tax rate of given article (f.e.: 19
für 19% VAT).
- Must not contain the
%
character. - If column is left empty, a tax rate of 19% is assumed.
url
The URL, which links to the article-detail-page.
- May be relative or absolute.
- If a relative URL is given, it will be appended to the search result page URL.
image
The URL, which links to the article image.
- May be relative or absolute.
- If a relative URL is given, it will be appended to the search result page URL.
attributes
This column is used to set all values, that will be used as filters. Examples for these filters are: categories, vendor, color, size, etc. Here you can find our documentation about filter configuration.
- Attribute name length must not exceed 247 characters and attribute value length must not exceed 16383 characters.
- All attributes have to be encoded in URL-style. Example: product with vendor “Dolce & Gabbana” from category “Schnürschuhe” should have attributes like
vendor=Dolce%20%26%20Gabbana&cat=Schn%C3%BCrschuhe
.- It is very important that you also encode characters like
=
or&
that are contained in the values. - For example, a bike made by a manufacturer called
Sons&Partners
would look like this:vendor=Sons%26Partners&cat=bikes
. - It is also important that all attributes are UTF-8 encoded before you URL encode them.
- If you use a slider, do not export the values like this: 100 cm. Correct: 100. You can set the unit in the filter configuration in the Findologic customer account.
- More than one value of the same attribute may be used: Use it like this:
color=red&color=green
. - All attribute names and values are case-insensitive.
categories
- Categories must be given with the key
cat
. This is important!- Sub-categories have to be separated with an underline character
_
, which must not be URL-encoded. - For example, an article from the category
Bikes > Mountain Bikes
has to look like this:cat=Bikes_Mountain+Bikes
cat_url (Category paths for navigation)
In order to use Findologic Navigation with Direct Integration, the parameter cat_url
has to be added with the category path to the “attributes” column. If a product is shown in several categories, all paths have to be exported.
cat_url's
and sub-cat_url's
for the main- and sub-categories, that an article is assigned to.
For example for a product, which is assigned to the following categories …
… these cat_url's
should be added to the “attributes” column
cat_url=/presents&cat_url=/presents/champagne&cat_url=/wedding-presents&cat_url=/jacken%26maentel&cat_url=/de/geschenke/champagner
vendor
- Vendors (manufacturers) must be given with the key
vendor
. This is also very important!
keywords
Keywords, that you specify for the given article. As this column has a big influence on the calculation of the results, please fill this colums very senseful in order to get the best search results.
- Keywords have to be seperated by a comma (
”,“
). - Keyword may contain more than one word (
“hiking shoe”
). - Example:
hiking shoe, mountains
groups
This parameter can be used to assign given articles to certain groups. These groups can be used to seperate search result for subshops or customer-groups.
- Have to be seperated by a comma (
”,“
). - The values have to be strings.
- There is a maximum of 1 024 groups supported per export.
- If the value of a group contains more than one word, you have to replace the whitespaces with
”+“
. - Example:
uk_01,uk_02,ger_01,ger_02,rest+of+the+world
. - The maximum character limit of each group ist 255.
- To get search results for specific group - use parameter group in request, e.g. via hidden input field in the search form.
—-
bonus
With this value, you can influence the ranking of certain articles.
- The bonus ranking is computed after the following formula:
( 1 + bonus )
, meaning that a bonus of1
will double this articles relevance. - Negative values are allowed, if you want to lower the ranking of the article.
- To boost an article, we recommend using a value from 1 to 3.
- To lower the ranking of an article, we recommend a value from 0 to -0.9.
sales_frequency
Amount of sold items of the given article.
- This value has to be an integer (whole number), whose value is bigger as or equals 0.
- This value will be computed into ranking calculation.
- This value can also be used as a sort criteria.
date_added
The date, on which the article was added.
- The date hast to be given in the UNIX-Time format. (Wikipedia: Unix time)
- This value can be used as a sort criteria.
sort
Freely choosable integer (whole number) value to sort articles on the search result page.
- Articles may be sorted ascending or descending after this value.
- This value can also be used as a sort criteria.
visibilities
- The visibility must be set in the column visible.
- The column visible is an optional column, if it did not exist all products will be visible.
- The column visible must contain lowercase true (or 1 as a replacement) for visible initial state or lowercase false (or 0 as a replacement) for invisible initial state.
- If the column value is blank or one of the values (True, faLse, yes, no, -1 ….) , this will cause validation warnings, and will use true as fallback value.
properties
These values can have freely choosable names, which can be used as properties:
- The values in this column won't be used by for the calculation of the search results.
- All informations given here can be used for your specific needs.
- F.e.: stock information, shipping details, etc.
Using properties for product variants in search results
If you want to show different variations (colors, sizes etc.) of a certain product in your shop and you want to display those variants in specific product-cards on the search result page, it can be realized by following the steps described below (example for colors):
Functionality:
- All color-variants displayed for parent (master)-product.
- While hovering over the variant picture - appropriate image should be displayed.
- By click on a color-variant or on an image the page of the product with the right color should be opened.
How the content of the variants-property should look like:
You have to provide an appropriate property (for example “variants”) for every parent-product by using a JSON-string. Here is an example of this property:
{ "Mud" : { "VariantIconPic" : "https://www.shop.com/media/jacket_mud_variant_icon.jpg", "productPic" : "https://www.shop.com/media/jacket_mud_variant_pic.jpg", "productUrl" : "https://www.shop.com/jacket_mud" }, "Black" : { "VariantIconPic" : "https://www.shop.com/media/jacket_black_variant_icon.jpg", "productPic" : "https://www.shop.com/media/jacket_black_variant_pic.jpg", "productUrl" : "https://www.shop.com/jacket_black" }, "Red" : { "VariantIconPic" : "https://www.shop.com/media/jacket_red_variant_icon.jpg", "productPic" : "https://www.shop.com/media/jacket_red_variant_pic.jpg", "productUrl" : "https://www.shop.com/jacket_red" }, "Navy" : { "VariantIconPic" : "https://www.shop.com/media/jacket_navy_variant_icon.jpg", "productPic" : "https://www.shop.com/media/jacket_navy_variant_pic.jpg", "productUrl" : "https://www.shop.com/jacket_navy" } }
Exporting variants with parent id
This format allows the export of variant specific attributes. Those attributes can then be used to filter for the variant and not just the parent product.
- Example: A shirt in
size=M
is available inred
, but the same shirt insize=L
is only available inblue
.
This export format is not set as default and must be activated by Findologic.Please contact our technical support if you have any questions regarding this export format.
Format
- A parent product must contain all ordernumbers of its variants and the variants must not contain any ordernumber at all.
- A variant export must contain a column called parent_id
- Variant products must follow the parent product immediately, without any other parent products in between.
- Header column names (id, parent_id, price etc.) shouldn't be wrapped in quotes/parentheses.
- Only the attributes of the parent have a effect on the outputAttributes.
- Attributes which should be applied to all variants must be defined in the attributes field of the parent.
- ItemVariants/children without attributes will not be imported.
- A child must not contain keywords. This will break the export.
- Prices of variant items won't be used for sorting.
- Only parent products are available for Push Rules and Bonus Values.
Demo CSV
id | ordernumber | name | price | image | attributes | groups | parent_id | keywords | bonus |
---|---|---|---|---|---|---|---|---|---|
123 | ABC|DEF|GHI | Parent | 99.90 | brand=ham | 215_public_parent,215_public | keyword1 | 1 | ||
123-1 | 60.00 | color=red&size=M | 215_public,218_public | 123 | |||||
123-2 | 70.00 | color=blue&size=L | 215_public,220_public | 123 | |||||
456 | JKL | Product without variants | 9.90 | brand=spam&length=50 | 215_public,222_public | keyword2 | 1 |