You can use an XML file to create a new product catalog integration and manage its settings. This method keeps Smart Recommender’s product catalog database up to date for each account, ensuring that recommendations remain relevant and personalized by considering users’ clicks, views, and purchases.
XML-based Product Catalog Integration is one of the available approaches for maintaining accurate product data in Smart Recommender.
This article covers the topics below:
- How can I create Catalog Integration?
- Criteo Formatted Product Catalog XML File
- Google Merchant Formatted Product Catalog XML File
- Custom Formatted Product Catalog XML File
- What should I consider when integrating an XML-based product catalog?
Create Catalog Integration
- Navigate to Components > Product Catalog Management > XML Integration.

- Click the Create button and enter a name.
- Select the integration type and add the integration settings:
- Select one of the following integration types:
- Criteo XML Integration
- Google Merchant XML Integration
- Custom Integration

- Set the source URL for the product catalog XML file and the language of the product catalog. If each language is different, you can create multiple product catalog integrations.
- Select one of the following integration types:
- Enter the product tag. A product tag is a custom element or markup used to represent a product or specific information about a product. It is not case-sensitive. For example, <item> is a product tag here:

- You should do attribute matching before activating the integration. When selected, a set of predefined matches for Google and Criteo formats will be shown on the screen.
- You can add a custom attribute if the listed attributes do not match between your product data and the Insider product catalog data. Under Custom Attributes, click Add Custom Attribute.
Select one of the following types of attribute match:- Exact Match: Custom product attributes are matched with the field name in the XML file representing the custom attribute. Afterward, the custom attribute’s value is matched to the value of the match field in the XML file.

- Custom Match: The values of custom product attributes are matched with a JavaScript expression, which calculates a value by combining the values of specific field names in a formatted XML file. This XML file represents the product's custom attributes. Before adding custom attributes, ensure that the product attributes are defined in the Product Attributes menu in the InOne panel.

Refer to the example of the following expression:
Insider stock information attribute: in_stockThe Criteo XML field stock information:
“<g:availability>in_stock</availability>”The expression JS script for a custom match:
“ obj => obj["g:availability"] == "in stock" ? 1: 0”
- Exact Match: Custom product attributes are matched with the field name in the XML file representing the custom attribute. Afterward, the custom attribute’s value is matched to the value of the match field in the XML file.
- Set the synchronization period for fetching the latest XML file and updating the product catalog. The update interval must correspond to the interval at which you upload your internal XML file. The interval values can be changed between 1 hour and 5 days.
- Click Save.
Criteo Formatted Product Catalog XML File
The Insider Product Catalog Attribute Matching System automatically matches the product catalog attributes of Criteo-formatted XML files to the Insider product catalog attributes. The matching of common product attributes is listed below:
| Insider Product Attribute | Criteo formatted XML tag |
| item_id | id |
| name | title |
| url | link |
| image_url | image_link |
| original_price | price |
| price | sale_price |
| currency | price | sale_price |
| in_stock | availability |
| description | description |
| category | google_product_category |
| brand | brand |
| groupcode | item_group_id |
| sku | id |
| gender | gender |
| color | color |
| size | size |
| multipack | multipack |
| product_type | product_type |
| gtin | gtin |
Google Merchant Formatted Product Catalog XML File
The Insider Product Catalog Attribute Matching System automatically matches the product catalog default attributes of Google Merchant formatted XML files to the Insider product catalog attributes. The matching of default product attributes is listed below:
| Insider Product Attribute | Google Merchant formatted XML tag |
| item_id | id |
| name | title |
| url | link |
| image_url | image_link |
| original_price | price |
| price | sale_price |
| currency | price | sale_price |
| in_stock | availability |
| description | description |
| category | google_product_category |
| brand | brand |
| groupcode | item_group_id |
| sku | id |
| gender | gender |
| color | color |
| size | size |
| multipack | multipack |
| product_type | product_type |
| gtin | gtin |
Below is an XML file sample that follows the RSS 2.0 specification, with additional Google namespace elements (prefixed with "g:") and a product catalog data feed.
Inside the <item> element, which is a product tag, you can see various Google-specific elements (<g:item_id>, <g:name>, <g:url>, etc.) providing details about the product, such as ID, name, URL, stock information, price, discount, and more.
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
<channel>
<title>Your Website</title>
<link>http://www.yoursite.com/us/</link>
<description>Your Website</description>
<item>
<g:item_id>1</g:item_id>
<g:name>nametest</g:name>
<g:url>http://www.testing1.com/product/image/working-boots.png</g:url>
<g:in_stock>19</g:in_stock>
<g:image_url>http://www.imagetest.com/product/image/working-boots.png</g:image_url>
<g:locale>Istanbultest</g:locale>
<g:category>shoestest</g:category>
<g:price>1399.99</g:price>
<g:original_price>1009.99</g:original_price>
<g:discount>10</g:discount>
<g:google_title>googletitletest</g:google_title>
<g:size>sizetestm</g:size>
<g:description>descriptiontest</g:description>
<g:brand>brandtest</g:brand>
<g:color>Blacktest</g:color>
<g:rating>67</g:rating>
<g:custom_score>234</g:custom_score>
<g:translated_content>343</g:translated_content>
<g:multipack>multipacktest</g:multipack>
<g:gtin>testnumberone</g:gtin>
<g:product_type>typetest</g:product_type>
<g:gender>testmale</g:gender>
<g:groupcode>twofive</g:groupcode>
<g:stock_count>786</g:stock_count>
<g:omnibus_discount>76</g:omnibus_discount>
<g:sku>skutest</g:sku>
<g:omnibus_price>989879</g:omnibus_price>
<g:product_string_attribute>stringtest</g:product_string_attribute>
<g:product_number_attribute>8789</g:product_number_attribute>
<g:product_boolean_attribute>0</g:product_boolean_attribute>
<g:product_url_attribute>http://www.attributetest.com/product/image/working-boots.png</g:product_url_attribute>
<g:uniq_attribute>uniqtest</g:uniq_attribute>
<g:dev_test>devtesttest</g:dev_test>
<g:testproduct>0</g:testproduct>
<g:app_mobile_test>apptest</g:app_mobile_test>
<g:rating_star>118</g:rating_star>
<g:rating_star_2>1978</g:rating_star_2>
<g:brand>brandtest</g:brand>
<g:testtesttest>testtesttesttes</g:testtesttest>
<g:test_date>testdatetest</g:test_date>
<g:test_array>testarraytest</g:test_array>
</item>
</channel>
</rss>Custom Formatted Product Catalog XML File
The product catalog XML file does not have a standard for custom-formatted XML files. You must match each attribute, including the default and custom product attributes. When you click Match Attributes, a matching pop-up is opened and used as it is in Criteo or Google Merchant-formatted XML files for custom attribute matching. Matching at least item_id, name, and in_stock information is needed, but the rest of the attributes are optional. For specific needs, such as visualization, you can precondition attribute-based filters or particular algorithms to match other attributes.
You can also refer to the video below to learn better about the XML-based Product Catalog methodology:
Catalog Integration Operations
On the Product Catalog Integration home page, you can:
View details of a configuration
Click the Details button to view the following information:
- Source URL for XML file
- Language information
- Matched Attribute List
Edit a configuration
Click a listed item to open the configuration management screen in edit mode. You can then modify the configuration.
Activate or deactivate a configuration
You can select Active or Passive for any configuration. A new configuration's default status is Active, which remains in effect according to the scheduled period. To stop the synchronization, select the Passive status.

Observations and Notes for XML-Based Product Catalog Integration
- Multiple Integrations: You can create multiple product catalog integrations per account and locale, but only one integration can be active at a time.
- Synchronization Period: Must be set between 1 hour and 5 days.
- Configuration Updates: Any updates to the product catalog configuration are applied in the next synchronization period.
- Schedule Changes: If you change the synchronization period, a new synchronization starts immediately with the new schedule—unless an existing task from the old schedule is still running.
- Missing Fields: Products with missing required fields are ignored.