> ## Documentation Index
> Fetch the complete documentation index at: https://developer.dashsocial.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Product feed setup guide

> Import and sync your product catalog with Dash Social using SFTP or URL upload.

A product feed is a way to import all your product information into Dash and ensure product data stays updated with the latest details. The easiest way to integrate your product feed is by using [Facebook Product Catalog Importing](https://help.dashsocial.com/hc/en-us/articles/4415092573965-Importing-your-Facebook-Product-Catalog-to-Dash-Hudson) but if this is not an option or if you're working with a large data source (hundreds of thousands of products), there are other ways to import your products. This guide will explain everything you need to set up a product feed.

## Before starting

Before starting, please ensure all your product information is up-to-date and accurate. Each product must have a unique URL and an accurate product name.

## Methods for establishing the product feed

There are two ways to import your product feed without Facebook Product Catalog importing:

* Upload product feed file to the designated SFTP
* Upload product feed via URL
  * Supported URL protocols: `http`(recommended),` https`(recommended), `ftp`, `sftp`
  * If the file is hosted on an ftp/sftp server, please provide the username and password to access the server.
  * If you need to add Dash to the whitelist of IPs, please contact your Account Representative to get the list of IP addresses.

If you are not using a [Facebook Product Catalog](https://help.dashsocial.com/hc/en-us/articles/4415092573965-Importing-your-Facebook-Product-Catalog-to-Dash-Hudson), please use this guide to prepare your file in the specified format with the necessary product information and **contact your Account Representative to set up the product feed.**

## Supported file types

To set up the product feed, all we need is a file containing all your product information. We currently support any file with delimiter-separated values. This includes:

* Tab-separated values`.tsv`
* Comma-separated values `.csv`
* Any text file (`.txt`) that contains delimiter-separated values
* Extensible Markup Language `.xml`. Please note that localized product feed does not support `.xml` format

### Accepted fields

The following fields in the product feed are accepted. If your product feed uses different field names than those listed below, please provide the field mapping to your Account Representative to ensure data consistency.

**Required Fields:**

| Field | Type   | Description                                                          |
| :---- | :----- | :------------------------------------------------------------------- |
| url   | string | A URL that links to the product. It must be unique for each product. |
| title | string | The product name.                                                    |

**Optional Fields:**

Provide any number of the following fields to add the information to the given product.

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Type
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        id
      </td>

      <td>
        string
      </td>

      <td>
        A unique identifier for the product. It can be SKU, external system product ID, etc.
      </td>
    </tr>

    <tr>
      <td>
        image\_url
      </td>

      <td>
        string
      </td>

      <td>
        A URL that links to an image of the product. If this field is not provided, we will automatically source the product image from the URL's metadata.
      </td>
    </tr>

    <tr>
      <td>
        price
      </td>

      <td>
        string/number
      </td>

      <td>
        The price of the product. You can provide a price including the currency symbol/code, e.g., "\$80.99," or a numeric price, e.g., "80.99."

        When providing a price without the currency symbol/code, it is highly recommended that the `currency_code` field also be provided.
      </td>
    </tr>

    <tr>
      <td>
        currency\_code
      </td>

      <td>
        string
      </td>

      <td>
        A 3-letter code specifying the type of currency used for the product's price. The `currency_code` is appended to the price when displayed in the media popup only if the price is numeric (e.g., "5.99"). If the price is non-numeric (e.g., "\$5.99"), then currency\_code will not be appended.

        For example, if the `price` is specified as "5.99" and the `currency_code` is "CAD," the `price` will be displayed as "5.99 CAD" in the media popup.

        If the `price` is specified as "$5.99" with the currency symbol/code and `currency_code` is "CAD", the `price` will show as "$5.99" in the media pop-up.
      </td>
    </tr>

    <tr>
      <td>
        availability
      </td>

      <td>
        string
      </td>

      <td>
        The current availability of the product.

        Acceptable values are: in stock, out of stock, preorder, available for order, discontinued.
      </td>
    </tr>

    <tr>
      <td>
        description
      </td>

      <td>
        string
      </td>

      <td>
        The description of the product.
      </td>
    </tr>

    <tr>
      <td>
        source\_group\_id
      </td>

      <td>
        string
      </td>

      <td>
        The product group ID, which is useful when product variants are displayed as separate products in the feed. The `source_group_id` should be used as the parent product ID for all variants, helping to establish the relationship between the main product and its variants.
      </td>
    </tr>
  </tbody>
</Table>

## Example

Here is an example of product feed:

| id       | url                                                                                                      | title                             | price | currency\_code |
| :------- | :------------------------------------------------------------------------------------------------------- | :-------------------------------- | :---- | :------------- |
| CKS-1001 | [https://www.dashsocial.com/en/fakeproduct/cks-1001](https://www.dashsocial.com/en/fakeproduct/cks-1001) | Cozy Knit Sweater                 | 89    | CAD            |
| CTB-1002 | [https://www.dashsocial.com/en/fakeproduct/ctb-1002](https://www.dashsocial.com/en/fakeproduct/ctb-1002) | Classic Tote Bag                  | 149   | CAD            |
| SWE-3001 | [https://www.dashsocial.com/en/fakeproduct/swe-3001](https://www.dashsocial.com/en/fakeproduct/swe-3001) | Sleek Wireless Earbuds            | 349   | CAD            |
| UCM-4002 | [https://www.dashsocial.com/en/fakeproduct/um-4002](https://www.dashsocial.com/en/fakeproduct/um-4002)   | UltraComfort Memory Foam Mattress | 559   | CAD            |

## Localized product feed

A localized product feed allows you to provide alternative values, such as language or currency, for product fields in your default product feed. This way, you can show localized versions of your products to customers in different countries or who speak other languages.

For more details on setting up a localized product feed, click [here](https://developer.dashsocial.com/docs/localized-product-feed-setup-guide).

## Frequently asked questions

**Q: Where can I find my imported product feed(s) and their status?**

A: You can find it in your Dash Social Library. Navigate to **Library > Products**, click "Import" and then "Product Feed" to view all of your established product feeds and their status.

**Q: Can I modify or add my product information to the file once my product feed is established?**

A: Yes. Every 24 hours, we fetch new products and update any products that have been modified or had their statuses changed. During this update process, you will see the product feed status change to "Updating." However, when modifying the existing product data, please ensure that the URL is unchanged.

**Q: I understand the URL is the primary key of each product, but we need to update our domain. What should we do?**

A: Please contact your Account Representative for this change so we can help you further!

**Q: We have another price level for each product. Can we enter more than one price for each product?**

A: Currently, only one price column is available for each product. We suggest pushing the sale price to the main price field.
