XML Based Product Catalog Integration Methodology

Prev Next

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:

Create Catalog Integration

You can create a separate XML integration for each locale.
  1.  Navigate to Components > Product Catalog Management > XML Integration.
  2. Click the Create button and enter a name.
  3. Select the integration type and add the integration settings:
    1. Select one of the following integration types:
      • Criteo XML Integration
      • Google Merchant XML Integration
      • Custom IntegrationThis image shows XML integration types.
    2. 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.
  4. 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:This image shows the product tag. Here it is <item>
  5.  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. 
  6. 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_stock

      The 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”
  7. 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 days.
  8.  Click Save.
Read the Product Catalog Feed Structure for the default attributes based on the feed management type and product attribute information.

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 AttributeCriteo formatted XML tag
item_idid
nametitle
urllink
image_urlimage_link
original_priceprice
pricesale_price
currencyprice | sale_price
in_stockavailability
descriptiondescription
categorygoogle_product_category
brandbrand
groupcodeitem_group_id
skuid
gendergender
colorcolor
sizesize
multipackmultipack
product_typeproduct_type
gtingtin

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 AttributeGoogle Merchant formatted XML tag
item_idid
nametitle
urllink
image_urlimage_link
original_priceprice
pricesale_price
currencyprice | sale_price
in_stockavailability
descriptiondescription
categorygoogle_product_category
brandbrand
groupcodeitem_group_id
skuid
gendergender
colorcolor
sizesize
multipackmultipack
product_typeproduct_type
gtingtin

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.