Skip to main content

Custom Channels

Custom channels let you define your own feed structure and format, giving you full control over field names, data layout, and output format. Unlike built-in channels (such as Facebook or Google) which have predefined fields, custom channels are entirely configured by you.

Custom Channels List
Custom Channels List

When to Use Custom Channels

Custom channels are useful when:

  • You need to export to a platform not supported by Feedr's built-in channels
  • A marketplace or partner requires a specific format you can't achieve with a built-in channel
  • You want to send product data to internal systems like an ERP, PIM, or inventory tool
  • You need full control over field names, structure, and output format
  • You want to generate multiple formats (XML, CSV, JSON) from a single channel definition

Creating a Custom Channel

  1. Navigate to your shop in the sidebar
  2. Click Custom Channels
  3. Click Create in the top right
  4. Enter a title and select one or more output formats
Create Custom Channel
Create Custom Channel
tip

You can select multiple formats (XML, CSV, JSON) for a single channel. Each format has its own configuration options, so you can tailor the output for different consumers from a single channel definition.

Supported Data Formats

FormatBest forExtension
XMLAd platforms, marketplaces, structured data.xml
CSVSpreadsheets, simple imports, flat data.csv
JSONAPIs, modern integrations, nested data.json

Configuring XML

The XML format gives you control over the document structure, namespaces, and element wrapping.

XML Configuration
XML Configuration

XML Options

OptionDescription
Wrapper elementsRoot element name. Can be nested multiple levels (e.g., rsschannel).
Item elementThe element wrapping each product. Defaults to item.
AttributesKey-value pairs added to wrapper elements (e.g., version="2.0").
NamespacesXML namespace declarations — map a prefix to a URI (e.g., ghttp://base.google.com/ns/1.0).
Static childrenHardcoded child elements with a name, value, and optional CDATA wrapping. Useful for metadata like <title>My Feed</title>.

Example XML Output

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>My Product Feed</title>
<item>
<name>Blue T-Shirt</name>
<price>29.99</price>
<description><![CDATA[A comfortable blue t-shirt]]></description>
</item>
<item>
<name>Red Hoodie</name>
<price>59.99</price>
<description><![CDATA[A warm red hoodie]]></description>
</item>
</channel>
</rss>

Configuring JSON

The JSON format lets you control the structure of the JSON document and add static metadata fields.

JSON Configuration
JSON Configuration

JSON Options

OptionDescription
Item keyThe key for the products array. Defaults to products.
Wrapper elementsNested object layers around the item array (e.g., datacatalog).
Static fieldsHardcoded key-value pairs at each wrapper level (e.g., "version": "1.0").

Example JSON Output

{
"version": "1.0",
"data": {
"catalog": {
"products": [
{
"name": "Blue T-Shirt",
"price": "29.99"
},
{
"name": "Red Hoodie",
"price": "59.99"
}
]
}
}
}

Configuring CSV

The CSV format offers detailed control over delimiters, quoting, and how nested or multi-value fields are represented.

CSV Configuration
CSV Configuration

CSV Options

OptionDescriptionDefault
DelimiterField separator (comma, semicolon, tab, pipe),
Include headerWhether to output a header rowYes
Quote characterQuoting style (double quotes, single quotes, or none)"
Line endingLF or CRLFLF
Empty field valueValue to use for empty fields(empty)
Multi-value separatorSeparator for fields with multiple values\|
Nested field formatHow nested fields are formatted: key_value or value_onlykey_value
Key-value separatorSeparator between key and value in nested fields:
Pair separatorSeparator between key-value pairs in nested fields;
Group separatorSeparator between nested groups\|

Example CSV Output

name,price,description
"Blue T-Shirt","29.99","A comfortable blue t-shirt"
"Red Hoodie","59.99","A warm red hoodie"

Managing Output Fields

Output fields define which fields appear in your feed and in what order. You manage them from the Output Fields tab on your custom channel.

Output Fields
Output Fields
  • Adding — click Add to create a new field. Fill in the title and configure options.
  • Editing — click on a field row to open the edit modal.
  • Deleting — click the delete button on a field row. You'll be asked to confirm.
  • Reordering — drag and drop fields using the drag handle to change their order in the output.
Output Field Modal
Output Field Modal

Field Options

OptionDescriptionApplies to
TitleThe field name as it appears in the outputAll formats
Output typeData type hint (text, url, image, date, boolean)All formats
NamespaceXML namespace prefix for this fieldXML only
CDATAWrap the value in a CDATA sectionXML only
MultipleField can contain multiple valuesAll formats

Creating Nested Fields

Custom channels support a parent-child field hierarchy up to two levels deep. Nested fields let you group related data under a parent element.

To create nested fields:

  1. Add a parent field (e.g., shipping)
  2. Add child fields and set their Parent to the field you just created (e.g., country, price)
info

A parent field acts as a container — it won't have a value of its own. Only child fields carry product data.

How Nested Fields Render

The same parent-child structure renders differently depending on the format:

XML — nested elements inside the parent element:

<shipping>
<country>US</country>
<price>5.99</price>
</shipping>

JSON — nested object inside the parent key:

{
"shipping": {
"country": "US",
"price": "5.99"
}
}

CSV — flattened using the configurable separators:

shipping
"country:US;price:5.99"

Creating a Feed with a Custom Channel

Once your custom channel is configured with output fields, you can create a feed that uses it:

  1. Go to FeedsNew Feed
  2. Select your custom channel from the channel list
  3. Click Create
  4. Copy the feed URL to use in your integration
  5. Configure Output Mapping to map your product data to the output fields you defined
Create Custom Feed
Create Custom Feed

Accessing Different Formats

If your custom channel has multiple formats enabled, you can access each one by changing the file extension in the feed URL:

  • https://feeds.feedr.com/your-hash.xml
  • https://feeds.feedr.com/your-hash.csv
  • https://feeds.feedr.com/your-hash.json

Only formats that you configured on the channel will be available. Requesting a format that isn't configured will return an error.

Use Custom Feed
Use Custom Feed
caution

Make sure you've configured the format-specific options (wrapper elements, delimiters, etc.) for each format you enable. The defaults work for simple cases, but most integrations will need some customization.

Duplicating a Custom Channel

You can duplicate an existing custom channel to create a copy with all output fields and format configurations intact. This is useful when you need a similar channel with small variations — duplicate it and adjust the differences instead of starting from scratch.

You can duplicate an existing custom channel to create a copy with all output fields and format configurations intact. This is useful when you need a similar channel with small variations — duplicate it and adjust the differences instead of starting from scratch.