If you offer different product variations (such as size, color, material, etc) than your integration will slightly be different, please follow the guidelines on the Product Variant page. |
You must comply with the following rules to ensure successful product.csv integration:
Click here to download and view a sample CSV file. |
Columns must be ordered in the following way:
All columns must be defined with a value. If a column does not have a value, it must be defined with a blank value. |
Column | Description | Example | |
---|---|---|---|
1. | Product Code | ||
2. | Product Name | ||
3. | Category Code | in hierarchical order | ELECT>CELLPHN>SMRTPDH |
4. | Category Name | in hierarchical order | Electronics>Cell Phones>Smart Phones |
5. | Brand | ||
6. | Is Active | 0 or 1 | |
7. | Inventory | total quantity in stock | |
8. | Original Price | ||
9. | Discounted Price | ||
10. | Product URL | http://www.website.com/productURL.html | |
11. | Small Image URL | http://www.website.com/productImage.jpg | |
12. | Medium Image URL | ||
13. | Large Image URL | ||
14. | Rating | User Ratings | |
15. | Original Price Currency | USD | |
16. | Discount Price Currency | USD | |
17. | Same Day Delivery | 0 or 1 | |
18. | Free Delivery | 0 or 1 | |
19. | Number of Comments | ||
20. | Discount Ratio | ||
21. | Attribute 1 | ||
22. | Attribute 2 | ||
23. | Attribute 3 | ||
24. | Attribute 4 | ||
25. | Attribute 5 | ||
26. | Color | ||
27. | Material | ||
28. | ItemGroupID | ||
29. | Gender | Gender Information Use M for Male, F for Female, NULL for empty columns | |
30. | Age Group | ||
31. | Commentator | ||
32. | Comment | ||
33. | Gifts | ||
34. | Attribute 6 | ||
35. | Attribute 7 | ||
36. | Attribute 8 | ||
37. | Attribute 9 | ||
38. | Attribute 10 |
First 20 columns are mandatory. Even if you are not going to use them you have to include semicolons for the first 20 columns. Columns after the Discount Rate column are optional. |
The following columns can not be left blank: Product Code, Category Code, Category Name, Inventory, Original Price, Discounted Price, Product URL, Original Price Currency. |
At least one of the following columns must contain a valid URL of the product image: Small Image URL, Medium Image URL, and Large Image URL. |
Once you have prepared the required file based on the rules and standards mentioned above, follow these steps below to validate it and schedule an automatic upload:
If you wish to send your product information to RMC using Google Product Feed XML, you have to follow Google standards. |
Following tags have to be inside the <item> or <product> tags to run RMC Segment Reporting properly. |
Click here to download and view a sample XML file. |
Tags | Description |
---|---|
<product_code> | |
<product_name> | |
<category_code> | |
<category_name> | |
<brand> | |
<is_active> | |
<inventory> | |
<original_price> | |
<discounted_price> | |
<product_url> | |
<small_image> | |
<medium_image> | |
<large_image> | |
<rating> | |
<original_price_currency> | |
<discount_price_currency> | |
<same_day_delivery> | 0 or 1 |
<free_delivery> | 0 or 1 |
<number_of_comments> | |
<discount_ratio> | between 0 and 100 |
<attribute1> | |
<attribute2> | |
<attribute3> | |
<attribute4> | |
<attribute5> | |
<color> | |
<material> | |
<itemgroupid> | |
<gender> | Gender Information Use M for Male, F for Female, NULL for empty columns |
<agegroup> | |
<commentator> | |
<comment> | |
<gifts> | |
<attribute6> | |
<attribute7> | |
<attribute8> | |
<attribute9> | |
<attribute10> |
To verify your product file format and content, you can use the Product File Integrator.
Choose; Cog Icon > Personalization Center > Recommendation > Product Integration
|
You can go to Recommend > Product Catalog from the menu on top to see the uploaded products. |
In this section, you can find the rules to be followed in product integration in order for the products recommended in the widgets of RMC Recommend to work responsively with websites that support multi-language and multi-currency.
Visilabs CSV product integration service has a structure that does not have header information, and fixed column order in CSV. Additions have been made to the existing integration file standards so that the products to be proposed in widgets on sites that support multi-language and multi-currency can be displayed in the language and currency preferred by the visitor.
The changes are briefly as follows:
In order for widgets to work with sites that support multi-language / multi-currency, all guidelines under Product Data integration must be followed. Some columns in the product information will be customized with currency, some columns with the availability of the product (location) and some columns with language. |
In this section, you can only find information about product integrations made with CSV. |
ProductCode;ProductName;CategoryCode;CategoryName;Brand;IsActive;Inventory;OriginalPrice;DiscountedPrice;TargetURL;SmallImageURL;MediumImageURL;LargeImageURL;Rating;OriginalPriceCurrency; DiscountPriceCurrency;ShippingOnSameDay;FreeShipping;CommentCount;DiscountRatio |
Attribute1;Attribute2;Attribute3;Attribute4;Attribute5;Color;Material;ItemGroupID;Gender;AgeGroup;Commentator;Comment;Attribute6;Attribute7;Attribute8;Attribute9;Attribute10 |
";" (semicolon) must be used as the column separator. |
Standard for column naming to be used for customizing data: New title names to be added for localization should be generated, beginning with the original column name followed by the '_ ' character, by combining a language, currency or location code suffix due to the area to be customized. The details of the columns that can be customized according to language, currency, location will be mentioned in the next section. |
We mentioned that product information can be customized on the basis of language, currency and availability (location) in the “CSV File Header Information” section above.
Product information that can be customized with language:
Column naming to be used in the data to be customized with the language should be done as follows: the ' ' character and the 2-character ISO 639-1 code should be added after the original name of the related field. |
Example of 2 digit ISO 639-1 language codes | |
---|---|
English | en |
German | de |
French | fr |
Spanish | es |
Russian | ru |
The columns of the CSV product integration file that can be customized to the language are as follows:
Original Column Name | Customized Column Format | Data Type | Example(Sample) |
---|---|---|---|
CategoryName | CategoryName_[language] | string | CategoryName_en,CategoryName_de,CategoryName_fr |
ProductName | ProductName_[language] | string | ProductName_en,ProductName_de,ProductName_fr |
TargetURL | TargetURL_[language] | string | TargetURL_en,TargetURL_de,TargetURL_fr |
SmallImageURL | SmallImageURL_[language] | string | SmallImageURL_en,SmallImageURL_de,SmallImageURL_fr |
MediumImageURL | MediumImageURL_[language] | string | MediumImageURL_en,MediumImageURL_de,MediumImageURL_fr |
LargeImageURL | LargeImageURL_[language] | string | LargeImageURL_en,LargeImageURL_de,LargeImageURL_fr |
Rating | Rating_[language] | string | Rating_en,Rating_de,Rating_fr |
CommentCount | CommentCount_[language] | int | CommentCount_en,CommentCount_de,CommentCount_fr |
Color | Color_[language] | string | Color_en,Color_de,Color_fr |
Material | Material_[language] | string | Material_en,Material_de,Material_fr |
Gender | Gender_[language] | string | Gender_en,Gender_de,Gender_fr |
AgeGroup | AgeGroup_[language] | string | AgeGroup_en,AgeGroup_de,AgeGroup_fr |
Attribute1 | Attribute1_[language] | string | Attribute1_en,Attribute1_de,Attribute1_fr |
Attribute2 | Attribute2_[language] | string | Attribute2_en,Attribute2_de,Attribute2_fr |
Attribute3 | Attribute3_[language] | string | Attribute3_en,Attribute3_de,Attribute3_fr |
Attribute4 | Attribute4_[language] | string | Attribute4_en,Attribute4_de,Attribute4_fr |
Attribute5 | Attribute5_[language] | string | Attribute5_en,Attribute5_de,Attribute5_fr |
Commentator | Commentator_[language] | string | Commentator_en,Commentator_de,Commentator_fr |
Comment | Comment_[language] | string | Comment_en,Comment_de,Comment_fr |
Product information that can be customized with currency:
Column naming to be used in the data to be customized with the currency should be done as follows: the ' ' character and the 3-character ISO-4217 code should be added after the original name of the related field. |
Example of 3 digit ISO-4217 currency codes | |
---|---|
Turkish Lira | TRY |
Euro | EUR |
United States Dollar | USD |
Russian Ruble | RUB |
British Pound | GBP |
The columns of the CSV product integration file that can be customized to the currency are as follows:
Original Column Name | Customized Column Format | Data Type | Example(Sample) |
---|---|---|---|
OriginalPrice | OriginalPrice_[currencycode] | money | OriginalPrice_USD,OriginalPrice_GBP,OriginalPrice_EUR |
DiscountedPrice | DiscountedPrice_[currencycode] | money | DiscountedPrice_USD,DiscountedPrice_GBP,DiscountedPrice_EUR |
OriginalPriceCurrency | Currency_[currencycode] | string | Currency_USD,Currency_GBP,Currency_EUR |
DiscountRatio | DiscountRatio_[currencycode] | float | DiscountRate_USD,DiscountRate_GBP,DiscountRate_EUR |
DiscountPriceCurrency | DiscountCurrency_[currencycode] | string | DiscountedPriceCurrency_USD,DiscountedPriceCurrency_GBP,DiscountedPriceCurrency_EUR |
Product information that can be customized with location:
Column naming to be used in the data to be customized with the currency should be done as follows: the ' ' character and the 2-character ISO 3166-1 code should be added after the original name of the related field. |
Example of 2 digit ISO 3166-1 location codes | |
---|---|
Turkey | TR |
Germany | DE |
United States of America | US |
Russia | RU |
France | FR |
United Kingdom | GB |
The columns of the CSV product integration file that can be customized to the location are as follows:
Original Column Name | Customized Column Format | Data Type | Example(Sample) |
---|---|---|---|
Inventory | Inventory_[location] | int | Inventory_US,Inventory_UK,Inventory_DE |
FreeShipping | FreeShipping_[location] | bit | FreeShipping_US,FreeShipping_UK,FreeShipping_DE |
ShippingOnSameDay | ShippingOnSameDay_[location] | bit | ShippingOnSameDay_US,ShippingOnSameDay_UK,ShippingOnSameDay_DE |
In order for widgets to be displayed on the site, the visilabs JavaScript library must be placed on all pages to be displayed. This library sends some of the information that the visitor obtains during their browsing while requesting suggestions from visilabs internet services. At the same time, due to the implementation to be made on the site, some knowledge other than this information can be sent by the site coders on the related pages through some methods in the library.
For multi-language and multi-currency support, 3 parameters must be added to the parameter array collected by the visilabs library, before the desired method is called.
These parameters are: OM.p_lng, OM.p_loc, OM.p_dc
OM.p_lng | The parameter containing the language in which the user views the site should be the 2 character ISO 639-1 language code |
---|---|
OM.p_loc | The parameter containing the location information of the user must be the 2 character ISO 3166-1 country code. |
OM.p_dc | The parameter containing the user's preferred currency information should be the 3 character ISO-4217 currency code. |
In the light of this information, while the visilabs suggestion service is sending the recommended products, the service provides the delivery of the entire information that can be used in the design compatible to the user's localization settings.
At this point, to avoid undesirable situations, the information that is used for localization should be compatible.
For example, when requesting a suggestion for a visitor, let the submitted parameter value be:
OM.p_lng = de
OM.p_loc = DE
OM.p_dc = EUR
Let the fields localized for the product "ABC" in the product file be as follows:
Inventory_DE = 1
Let originalPrice_EUR = empty or "". In this case, if the suggested product is "ABC", the price information that can be used while creating the widget on the site will not be sent and will be displayed as 0.
The same can be true for the product view link (TargetUrl). If "TargetUrl_de" is not sent or if it is sent blank while Inventory_DE = 1 is submitted, there will be no link that can be accessed because the product is clicked on the widget.
Based on this, in order for the widgets to work in harmony in a site that supports 3 languages, 3 currencies and 3 locations, while the widgets are rendered besides the standard fields, the customized columns of the most required fields should be sent in the product integration.
These fields are as follows:
ProductName, TargetURL, (SmallImageURL veya MediumImageURL veya LargeImageURL) en az bir tanesi, OriginalPrice, Currency, DiscountedPrice, DiscountCurrency ,Inventory
In this case, the number of columns that should be in the product file:
You can find the rules to follow for the product integration to allow the widgets in the RMC Product Recommend product to run smoothly on the websites that support multi-language and multi-currency.
The naming of the colons to be used on the data to be customized with language should be done accordingly: The character “_” and the 2-character ISO 639-1 code should be entered at the end of the original name of the relevant field.
2-character ISO 639-1 language codes | |
English | en |
German | de |
French | fr |
Espanol | es |
Russian | ru |
Following are the XML product integration file colons that can be customized with language.
Tags | Customized Tags | Data Type | Example |
---|---|---|---|
<category_name> | <category_name_[language]> | string | <category_name_en></category_name_en> <category_name_fr></category_name_fr> |
<product_name> | <product_name_[language]> | string | <product_name_en></product_name_en> <product_name_fr></product_name_fr> |
<target_url> | <target_url_[language]> | string | <target_url_en></target_url_en> <target_url_fr></target_url_fr> |
<small_image_url> | <small_image_url_[language]> | string | <small_image_en></small_image_en> <small_image_fr></small_image_fr> |
<medium_image_url> | <medium_image_url_[language]> | string | <medium_image_en></medium_image_en> <medium_image_fr></medium_image_fr> |
<medium_image_url> | <large_image_url_[language]> | string | <large_image_en></large_image_en> <large_image_fr></large_image_fr> |
<rating> | <rating_[language]> | string | <rating_en></rating_en> <rating_fr></rating_fr> |
<comment_count> | <comment_count_[language]> | int | <comment_count_en></comment_count_en> <comment_count_fr></comment_count_fr> |
<color> | <color_[language]> | string | <color_en></color_en> <color_fr></color_fr> |
<material> | <material_[language]> | string | <material_en></material_en> <material_fr></material_fr> |
<gender> | <gender_[language]> | string | <gender_en></gender_en> <gender_fr></gender_fr> |
<agegroup> | <agegroup> | string | <agegroup_en></agegroup_en> <agegroup_fr></agegroup_fr> |
<attribute1> | <attribute1_[language]> | string | <attribute1_en></attribute1_en> <attribute1_fr></attribute1_fr> |
<attribute2> | <attribute2_[language]> | string | <attribute2_en></attribute2_en> <attribute2_fr></attribute2_fr> |
<attribute3> | <attribute3_[language]> | string | <attribute3_en></attribute3_en> <attribute3_fr></attribute3_fr> |
<attribute4> | <attribute4_[language]> | string | <attribute4_en></attribute4_en> <attribute4_fr></attribute4_fr> |
<attribute5> | <attribute5_[language]> | string | <attribute5_en></attribute5_en> <attribute5_fr></attribute5_fr> |
<commentator> | <commentator_[language]> | string | <commentator_en></commentator_en> <commentator_fr></commentator_fr> |
<comment> | <comment_[language]> | string | <comment_en></comment_en> <comment_fr></comment_fr> |
The naming of the colons to be used on the data to be customized with currency should be done accordingly: The character “_” and the 3-character ISO-4217 code should be entered at the end of the original name of the relevant field.
3-character ISO-4217 currency code examples | |
Turkish lira | TRY |
Euro | EUR |
American Dollar | USD |
Russian | RUB |
English Pound | GBP |
Following are the XML product integration file colons that can be customized with currency.
Tags | Özelleştirilmiş Tag Formatı | Veri Tipi | Örnek |
---|---|---|---|
<original_price> | <original_price_[currencycode]> | money | <original_price_EUR></original_price_EUR> <original_price_USD></original_price_USD> |
<discounted_price> | <discounted_price_[currencycode]> | money | <discount_price_currency_EUR></discount_price_currency_EUR> <discount_price_currency_USD></discount_price_currency_USD> |
<original_price_currency> | <currency_[currencycode]> | string | <currency_EUR></currency_EUR> <currency_USD></currency_USD> |
<discount_ratio> | <discount_ratio_[currencycode]> | float | <discounted_rate_EUR></discounted_rate_EUR> <discounted_rate_USD></discounted_rate_USD> |
<discount_price_currency> | <discount_currency_[currencycode]> | string | <discount_price_currency_EUR></discount_price_currency_EUR> <discount_price_currency_USD></discount_price_currency_USD> |
The naming of the colons to be used on the data to be customized with location should be done accordingly: The character “_” and the 2-character ISO 3166-1 country code should be entered at the end of the original name of the relevant field.
2-character ISO 3166-1 country codes examples | |
Turkey | TR |
Germany | DE |
United States of America | US |
Russian Federation | RU |
France | FR |
Great Britain | GB |
Following are the XML product integration file colons that can be customized with location:
Tags | Customized Tag Format | Data Type | Example |
<inventory> | <inventory_[location]> | int | <inventory_US></inventory_US> <inventory_EUR></inventory_EUR> |
<free_shipping> | <free_shipping_[location]> | bit | <free_shipping_US> <free_shipping_EUR> |
<shipping_on_same_day> | <shipping_on_same_day_[location]> | bit | <shipping_on_same_day_US> <shipping_on_same_day_EUR> |
For products to be integrated sent in multiple XML files with multiple languages and currency info, the XML files should be created according to the following rules:
Xmls should be structured like <products><product>…</product><product>…</product></products>, meaning that products should be defined within <product> tags under <products> tag.
Tags should be the same in each xml file, without using extensions like _en, _tr, etc.
Xml example for https://mysite.com/products.xml?language=tr¤cy=tl
<?xml version="1.0" encoding="UTF-8"?>
<products>
<product>
<product_code><![CDATA[190406310]]></product_code>
<product_name><![CDATA[Elbise-190406310]]></product_name>
<category_code><![CDATA[ctgcode]]></category_code>
<category_name><![CDATA[ctgname-tr]]></category_name>
<brand><![CDATA[mysite]]></brand>
<is_active><![CDATA[1]]></is_active>
<inventory><![CDATA[11]]></inventory>
<product_url><![CDATA[https://www.mysite.com/tr/190406310]]></product_url>
<small_image><![CDATA[https://www.mysite.com/tr/190406310-small.jpg]]></small_image>
<medium_image><![CDATA[https://www.mysite.com/tr/190406310-medium.jpg]]></medium_image>
<large_image><![CDATA[https://www.mysite.com/tr/190406310-large.jpg]]></large_image>
<discount_rate><![CDATA[70]]></discount_rate>
<original_price><![CDATA[800.00]]></original_price>
<discounted_price><![CDATA[500.00]]></discounted_price>
<original_price_currency><![CDATA[TL]]></original_price_currency>
<discount_price_currency><![CDATA[TL]]></discount_price_currency>
<gender><![CDATA[]]></gender>
<same_day_delivery><![CDATA[0]]></same_day_delivery>
<free_delivery><![CDATA[0]]></free_delivery>
<number_of_comments><![CDATA[]]></number_of_comments>
<rating_en><![CDATA[]]></rating_en>
</product>
</products>
Xml example for https://mysite.com/products.xml?language=en¤cy=eur
<?xml version="1.0" encoding="UTF-8"?>
<products>
<product>
<product_code><![CDATA[190406310]]></product_code>
<product_name><![CDATA[Dress-190406310]]></product_name>
<category_code><![CDATA[ctgcode]]></category_code>
<category_name><![CDATA[ctgname-en]]></category_name>
<brand><![CDATA[KNITSS]]></brand>
<is_active><![CDATA[1]]></is_active>
<inventory><![CDATA[11]]></inventory>
<product_url><![CDATA[https://www.mysite.com/en/190406310]]</product_url>>
<small_image><![CDATA[https://www.mysite.com/en/190406310-small.jpg]]</small_image>>
<medium_image><![CDATA[https://www.mysite.com/en/190406310-medium.jpg]]</medium_image>>
<large_image><![CDATA[https://www.mysite.com/en/190406310-large.jpg]]</large_image>>
<discount_rate><![CDATA[70]]></discount_rate>
<original_price><![CDATA[90.00]]></original_price>
<discounted_price><![CDATA[64.00]]></discounted_price>
<original_price_currency><![CDATA[EUR]]></original_price_currency>
<discount_price_currency><![CDATA[EUR]]></discount_price_currency>
<gender><![CDATA[]]></gender>
<same_day_delivery><![CDATA[0]]></same_day_delivery>
<free_delivery><![CDATA[0]]></free_delivery>
<number_of_comments><![CDATA[]]></number_of_comments>
<rating_en><![CDATA[]]></rating_en>
</product>
</products>
Xml example for https://mysite.com/products.xml?language=en¤cy=usd
<?xml version="1.0" encoding="UTF-8"?>
<products>
<product>
<product_code><![CDATA[190406310]]></product_code>
<product_name><![CDATA[Dress-190406310]]></product_name>
<category_code><![CDATA[ctgcode]]></category_code>
<category_name><![CDATA[ctgname-en]]></category_name>
<brand><![CDATA[mysite]]></brand>
<is_active><![CDATA[1]]></is_active>
<inventory><![CDATA[11]]></inventory>
<product_url><![CDATA[https://www.mysite.com/en/190406310]]></product_url>
<small_image><![CDATA[https://www.mysite.com/en/190406310-small.jpg]]></small_image>
<medium_image><![CDATA[https://www.mysite.com/en/190406310-medium.jpg]]></medium_image>
<large_image><![CDATA[https://www.mysite.com/en/190406310-large.jpg]]></large_image>
<discount_rate><![CDATA[70]]></discount_rate>
<original_price><![CDATA[100.00]]></original_price>
<discounted_price><![CDATA[70.00]]></discounted_price>
<original_price_currency><![CDATA[USD]]></original_price_currency>
<discount_price_currency><![CDATA[USD]]></discount_price_currency>
<gender><![CDATA[]]></gender>
<same_day_delivery><![CDATA[0]]></same_day_delivery>
<free_delivery><![CDATA[0]]></free_delivery>
<number_of_comments><![CDATA[]]></number_of_comments>
<rating_en><![CDATA[]]></rating_en>
</product>
</products>
Parent Topic: Sending Data to RMC