XML Based Product Catalog Integration Methodology
  • 30 Apr 2024
  • 4 Minutes to read

    XML Based Product Catalog Integration Methodology


      Article Summary

      To create a new product catalog integration, you can utilize an XML file. This XML file allows you to manage the settings of your product catalog integration. This functionality proves beneficial for Smart Recommender as it enables the provision of relevant and personalized product recommendations to users, taking into account their clicks, views, and purchases.

      For Smart Recommender to have an up-to-date product catalog database for each account, XML based product catalog integration is one of the methods.

      How to create Catalog Integration

      You can do the configurations in the language of your choice. You can establish multiple product catalog integrations as long as they share the same locale.

      Your title goes here
      You can create a separate XML integration for each locale.
      1.  In the Insider's InOne panel, navigate to Components > Product Catalog Management > XML Integration.
      2. Click Create 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 Integration
        2. Set the source URL for the product catalog XML file for the selected partner and set the language of the product catalog. You can create multiple product catalog integrations as long as each has a different language.
      4.  Enter the product tag. Product tags are not case-sensitive.
      5.  You should do attribute matching before activating the integration. A set of pre-defined matching for Google and Criteo formats will be shown on the screen when selected. 
      6. You can add a custom attribute if the listed matched attributes between your product data attributes and Insider product catalog data attributes are insufficient. 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 that represents the custom attribute. Afterward, the custom attribute’s value is matched to the value of the matched 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 custom attributes of the product. Before adding custom attributes, make sure 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 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. You must decide on an update interval that correlates with the interval you upload your internal XML file. The interval values can be changed between 1 hour to days.
      8.  Click Save and Activate.
      Your title goes here
      Read Product Catalog Feed Structure for the default attributes based on feed management type and product attributes information.

      Criteo Formatted Product Catalog XML File

      The Insider Product Catalog Attribute Matching System automatically matches the product catalog attributes ofCriteo 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 you can see an XML file sample following the RSS 2.0 specification with additional Google namespace elements (prefixed with "g:") including a product catalog data feed. 

      Inside the <item> element, 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 the custom formatted XML files. You must match each attribute including the default product attributes and custom product attributes. When you click Match Attributes, a matching popup is opened, and used as it is in Criteo or Google Merchant formatted XML files 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 like visualization, you can precondition the attribute-based filters or specific algorithms for other attributes’ matching.

      Catalog Integration Operations

      On the Product Catalog Integration home page, you can:

      • View details of a configuration
      • Edit a configuration
      • Activate or deactivate a configuration

      View details of a configuration

      Click Details 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 the edit mode. You can then modify the configuration.

      Activate or deactivate a configuration

      You can select Active or Passive for any configuration. The default status for a new configuration is Active and it lasts according to the scheduled period. To stop the synchronization, select the Passive status.

      Observations and Notes

      For XML-based Product Catalog Integration, follow these observations or guidelines:

      • For each partner and locale, multiple product catalog integrations can be created but only one of them can be in active status.
      • The synchronization period cannot be less than 1 hour and more than 5 days.
      • When a product catalog configuration is updated, the changes are reflected in the next synchronization period.
      • When a synchronization period is changed, a new synchronization starts with a new schedule immediately unless there is an existing synchronization task with the old schedule.
      • The product is ignored if a required field is missing.

      Was this article helpful?


      ESC

      Eddy, a super-smart generative AI, opening up ways to have tailored queries and responses