Catalog construction guidelines

To ensure optimal performance in advertising campaigns and better targeting using Moloco’s machine learning capabilities, a well-structured product catalog is essential.

Moloco Commerce Media provides two catalog types:

  • Single Seller Per Item (SSPI)
  • Multiple Sellers Per Item (MSPI)

Please review both catalog formats and choose the option that best suits your business needs.
The following guide outlines best practices for constructing your catalog, including data accuracy, field completeness, and optimal structure.

Best Practices & Requirements for Product Data Fields

Required Fields

  • id – Unique identifier for the product.
    • Ensure each product has a unique, immutable ID.
  • title – Product name.
    • Create a concise, accurate description with relevant keywords.
  • category – Product category.
    • Use a consistent and logical category hierarchy.
  • image link – URL of the product image.
    • Use high-quality images (minimum 600x600 px).
  • seller_id - The unique seller/vendor ID functions as the unique Ad account ID for ad servicing and campaign management.
    • It should pass the regex -
      ^\[a-zA-Z0-9-\_.]+$
  • seller_title - Name of seller/vendor.
  • price – Product price in platform currency.
    • Ensure pricing updates are accurate, consistent, and in the same currency.
  • sale_price – Discounted price during promotional periods.
    • Use during sales events to drive conversion.
      • During the non-sales season, please set this to the 'price' value.

Recommended Fields:

  • location – Specifies where the product can be sold.
    • Ensures ads are aligned with product availability in specific locations.
    • It is a required field if your product's inventory changes based on user location.
  • description – Product description.
    • Provide clear descriptions with keywords for SEO.
  • availability – Stock status (e.g., In Stock, Out of Stock).
    • Update frequently to avoid promoting unavailable products.
    • If set to out_of_stock, the item can be added to new campaigns but will not be advertised.
  • blocked – Prevents a product from being advertised until the field is cleared.
    • Send a “reason” for blocking an item from advertisement.
    • Any text in this field disables advertising for the specified product.
    • To remove the block, simply clear the field.
  • brand_id - Product brand
    • Provide the brand ID to improve brand-specific ads.
    • This is a required field if you plan to use Decision Brand Filtering.
    • Example:
      • Item A: Brand Name "Apple" with Brand ID "10001"
      • Item B: Brand Name "Apple" with Brand ID "49120"
  • updated_time - Last updated timestamp for the item.
  • item_group_id – ID for a product group with variants.
    • Use a consistent item_group_id to link all variant SKUs.
    • Example: Assign a unique ID to each variant (e.g., different sizes or colours) and link them to the main product.

Best Practice Guidelines for Catalog Management

  1. Complete Required Fields
    1. Complete all mandatory fields, including Item ID, Title, Price, Availability, and Image URL, to ensure accurate ad creation and optimal performance.
  2. Ensure Data Consistency and Accuracy
    1. Stock & Pricing: Regularly update stock status and pricing to reflect real-time availability.
    2. Field Formatting: Format fields consistently (e.g., URLs must follow RFC standards) and use UTF-8 encoding to prevent data corruption.
    3. Category and Brand Consistency: Use uniform naming conventions for categories and brands across the catalog.
    4. Please follow the allowed standard and character limit as described here.
  3. Regular Feed Updates and use "updated_time"
    1. Submit updated catalog feeds frequently to reflect changes in inventory, especially for dynamic products. This minimizes ad errors due to outdated data.
    2. The minimum interval (highest frequency) currently supported is once per hour.
    3. Using the "updated_time" field allows the platform to promptly change the item's current status.
    4. To update the item's state to restrict ad serving only utilize the Item Kill Switch( UpdateItemStatusBulk) API
  4. Use High-Quality Images
    1. Provide URLs for high-resolution images with a 1:1 aspect ratio to ensure the items have better visuals during campaign creations.
  5. Optimize for filtering with Optional Metadata
    1. Populate optional fields (e.g., Brand, Location, Custom Labels) to enable more granular targeting, which can increase ad performance.
  6. Data Integrity Checks
    1. Verify catalog integrity before upload, avoid duplicate entries, and manage discontinued products correctly to avoid advertising inactive products.
  7. Test for Edge Cases: Validate long strings, special characters, and unusual data patterns to ensure system robustness.

Catalog Field Attributes

  1. Special Characters
    1. Enclose all commas, with quotation marks “,”
    2. \n (new line), \r (carriage return) \x00, & nbsp;   will be removed if found inside a field.
    3. Other special characters may be rejected depending on the field’s data type requirements. Please see Catalog Feed Specification for details on each catalog field.
  2. Whitespace Issues
    1. Leading, trailing, and in-between whitespaces (except for those between words) should be removed.
  3. Duplicate Entries
    1. The import process tolerates duplicate catalog entries, but for accurate data handling, ensure uniqueness or validate post-import.
    2. Customer-side validation is recommended to confirm the correct entries are utilized.
  4. Headers
    1. Headers in the feed file must be lowercase.
  5. Field Formatting
    1. Fields like URLs must follow specific formats.
    2. For example, URLs should be unquoted and comply with RFC 2396 or RFC 1738. Please refer to the notes fields for specifications and examples.
    3. Fields that should have consistent values across the feed, such as category names or brand names, should be standardised to avoid mismatches.
  6. Adding ‘Null’ or ‘empty_string’ values
    1. Data Representation:
      1. Represent null for optional fields by omitting the field entirely.
      2. Represent an empty string using "".
    2. For Required Field Rules:
      1. Required fields must always be present (cannot be omitted) and cannot contain null values.
      2. Empty strings ("") are disallowed for required fields, except for the category field, which is the sole exception where "" is permitted.
  7. Case Sensitive
    1. The values are case sensitive.
    2. For example, Title: Brown and Title: brown are treated differently.
  8. Currency and Price
    1. The currency used in the catalog feed must match the currency set on the platform with Moloco.
    2. For accurate attribution, the price shown on the landing and checkout pages should be identical to the price included in the catalog feed.
  9. Image Links
    1. Verify that all image links are valid and _accessible.
    2. Broken or incorrect image URLs can prevent ad products from displaying correctly in the campaign manager.
  10. Discontinued Products
    1. Mark discontinued, out of stock, and seasonal products within the catalog using the Availability field or the Blocked field to avoid advertising items that are no longer available.

Checklist for Catalog File Preparation (.csv)

  1. File Formatting: UTF-8 encoding, correct URL format, standardized category names.
  2. Feed Scheduling: Adhere to agreed upload schedules to prevent data synchronization issues.

Catalog Feed Common Errors

  • If CSV formatting errors are found, for example a row's length does not match the header, the entire catalog file will be rejected.
  • If contextual errors are found, such as missing or invalid data, the row containing the error will be rejected and the product will not be available for advertising. If more than 3,000 invalid rows are detected MCM will reject the entire catalog file