TestFreaks Product Feed

A product feed is used to send your active product catalog to TestFreaks. It contains details about your products and describes how they are identified and organized into families and categories.

Concepts

Product The most specific level in your catalog. For example a black iPhone 11, 128GB.
Family A collection of products that can share the same reviews. For example all iPhone 11 variants.
Category A product type like Mobile phones that can share review features such as asking about battery life etc.

Reviews are typically collected from order data on the Product level, and shared across all products in the same Family.

Supported fields

sku Product ID used to identify a product across the system (in APIs, website implementations, order data, etc.) Required
name Product name Required
url Product page location Required
image_url Product image location

JPEG or PNG images around 300x300 pixels in size
Required for review collection with images
family_id or parent_sku Family ID used to identify a family in APIs and website implementations Required for sharing reviews across similar products
category Product category name Required for aggregated content and category-specific questions
ean or gtin GTIN / EAN / UPC codes Required for aggregated content
manufacturer Brand / Manufacturer name Required if not included in the product name
manufacturer_sku Brand / Manufacturer product SKU Required for aggregated content

Pre-existing product feeds may use different field names. The names above are guidelines for new feeds or when adding fields to existing feeds.

Feed formats

Most existing product feed formats (Google Merchant etc.) are supported, and we accept custom feeds in XML, CSV or JSON.

Google Merchant

The Google Merchant product data feed is fully supported, and usually a good choice.

XML feed example

<?xml version="1.0" encoding="UTF-8"?>
<products>
  <product>
    <sku>P001-02-BLK</sku>
    <family_id>P001</family_id>
    <name>ACME Product1 20mm Black</name>
    <category>Electronics &gt; Widgets</category>
    <url>https://retailer.example/p-001</url>
    <image_url>https://retailer.example/images/300x300/p00102B.jpg</image_url>
    <manufacturer_sku>ACMEP1</manufacturer_sku>
    <ean>36725234635</ean>
  </product>
</products>

JSON feed example

{
  "products": [
    {
      "sku": "P001-02-BLK",
      "family_id": "P001",
      "name": "ACME Product1 20mm Black",
      "category": "Electronics > Widgets",
      "url": "https://retailer.example/p-001",
      "image_url": "https://retailer.example/images/300x300/p001021B.jpg",
      "manufacturer_sku": "ACMEP1",
      "ean": "36725234635"
    }
  ]
}

Feed delivery

We schedule daily fetches of your feeds and support feed URLs on http://, https://, ftp:// and sftp://.

Alternatively, you can schedule feed uploads to TestFreaks using FTP or SFTP after setting up an account with us.

For supported platforms, TestFreaks has direct integrations to access the product information. Please ask your TestFreaks contact for details.

Products API and Review Summaries API

You can use our Products API to access your product data, or the Review Summaries API to see what review information is available for each product and product family.

Checklist and best practices

Is the feed automatically updated?

Is the feed filtered? Product which are temporarily out of stock should ideally still be in the feed. Additional filtering can be done in the TestFreaks system if required.

If you want syndicated data, are you sending all product identifiers that will allow that product matching?

Can product families and variations be deduced from the feed?

Should some products be excluded or dealt with in a different way? If so, is the data needed to make those decisions included in the feed? This might apply to gift cards, services, products which you need to wait longer before being able to review, or items where you want to specifically ask about size fit, etc.

Does it contain what we need to create review invitation mails? Product images? Human readable names?

Does it contain the same identifiers that you intend to use in order feeds and in your display integrations?