Configuring Custom Channels
This article explains how to ingest a retailer-provided XLSX or XLSM template and configure it as a Custom Channel in Akeneo Activation. You’ll upload the file, define how product data is structured, and configure channel requirements so the file can be validated and generated correctly.
By the end of this process, your Custom Channel will be ready for validation and file generation.
Feature availability
Some Custom Channels features are in Beta. Beta features are enabled per customer: if an option described in this article does not appear in your Activation, it is not enabled for you yet. Contact your Akeneo Customer Success Manager to enable it.
| Feature | Status |
|---|---|
| Single family pattern | Available |
| One sheet per family pattern | Beta |
| All families on one sheet pattern | Beta |
| Primary and secondary sheets | Beta |
| Several workbooks in one channel | Beta |
| Replace the template | Beta |
Step 1: Name your channel and upload your file
Start by giving your Custom Channel a clear, descriptive name. This name helps you identify the channel later, especially if you manage multiple retailers or templates.
Upload the retailer-provided XLSX or XLSM file you want to use as your product template. Activation will analyze the file structure before allowing you to continue.
If the file cannot be ingested, you’ll be notified before moving to the next step.
Bundle several workbooks in one channel (Beta)
Some retailers split their template across several Excel files that share the same structure, for example one file per product Family or per main Category. Instead of creating and managing one Custom Channel per file, you can bundle all these files, called workbooks, in a single Custom Channel.
In this step, add up to 20 workbooks (100 MB maximum per file). Each workbook is exported to its own output file, so you deliver the same set of files the retailer sent you, filled with your product data.
If a file cannot be added, for example because it is too large, contains no sheet, or cannot be read, Activation tells you which file was rejected and why. The other files stay in the list.
Configure shared attributes once
When your Custom Channel bundles several workbooks, you don't have to configure the same Attributes again in each workbook. When you review your channel requirements, the Attributes are organized in tabs:
- A Shared attributes tab lists the Attributes found in every workbook. Configure them there once: their type, whether they are required, their possible values, and their help text. These settings apply to all workbooks.
- One tab per workbook lists all the Attributes of that workbook. Shared Attributes are marked with a Shared badge. Attributes that only exist in some of the workbooks are configured here.
If one workbook needs a different setting for a shared Attribute, change it in that workbook's tab: the other workbooks keep the shared value. To go back to the shared value, click Reset to shared value.
Current limitations
- Several workbooks can only be bundled with the Single family pattern (see Step 2). When you add a second workbook, the other patterns are no longer available.
- Once a Custom Channel with several workbooks is created, you cannot add or remove workbooks. You can still edit its configuration with Edit, and replace the template of one workbook at a time (see Replace the template of a Custom Channel).
Step 2: Choose how families are configured
Retailer templates organize product Families in different ways. Choose the pattern that matches your template: it defines how sheets relate to Families, and whether Attributes are configured once for the whole channel or per Family.
| Pattern | Use it when your template… | Attribute configuration |
|---|---|---|
| Single family | Uses the same column structure for all products, on one or several sheets | Once, for the whole channel |
| One sheet per family (Beta) | Has one sheet per product Family, each with its own column structure, optionally with a sheet listing every product with the columns all Families share (a primary sheet) | Independently for each Family, plus once for the primary and secondary sheets |
| All families on one sheet (Beta) | Lists every Family on a single sheet, told apart by a "Family" column, with each Family requiring its own columns | Once per column, then each column is assigned to the Families it applies to |
This choice cannot be changed once the channel is created.
Single family
All products share the same Attribute configuration. Your template can still contain several sheets: each sheet you select maps to a distinct Family, so only products belonging to that Family are written to their corresponding sheet, along with only the Attributes present for those products.
How sheets and families work
When you select multiple sheets, each sheet acts as a dedicated destination for a specific group of products. This means:
- Products are written only to the sheet that matches their Family
- Each sheet includes only the Attributes relevant to that Family, keeping output clean and retailer-ready
Shared attribute configuration
Attributes are configured at the channel level, not at the individual sheet level. During the attribute configuration step, the system consolidates all Attributes across all sheets into a single, deduplicated list, so any Attribute that appears on more than one sheet is configured once and applies consistently everywhere it appears.
What this means in practice:
- If both a Shoes sheet and a Dresses sheet include a Description Attribute, you cannot mark it as required on one sheet and optional on the other: the same required/optional setting applies to both.
- If both sheets include a Color Attribute with a dropdown list, you cannot define different selectable values per sheet: the same list of options is used across all sheets where Color appears.
When to choose another pattern
If your sheets require different configurations for the same Attribute, such as distinct validation rules or separate dropdown lists, choose One sheet per family instead.
One sheet per family (Beta)
Each sheet corresponds to a different product Family, and each Family is configured independently. The same Attribute can be required for one Family and optional for another, or accept a different list of values.
- When you review your channel requirements, each Family has its own tab (or its own entry in a dropdown list when there are many Families).
- To import or export the attribute configuration, choose This family to work on the selected Family only, or All families to work on one workbook with one sheet per Family.
- When you configure the Activation options, Use the same identifier, label, and image for all families is on by default. Turn it off to pick different Attributes for each Family.
Templates with a sheet listing every product (Beta)
Some retailer templates do not put all the data of a product on a single sheet. They use a master data sheet that lists every product of the catalog, whatever its Family, with the columns all Families share (name, description, price...). The columns specific to a Family are on that Family's own sheet. Some templates also add other sheets that list every product again, with another set of columns, for example the product media.
In such a template, one product is written on several sheets. For example, a pair of sneakers is written:
- on the MASTER DATA sheet, with its name, description, and price,
- on the MEDIA sheet, with its image links,
- on the SHOES sheet, with its shoe size and sole material.
To configure this kind of template, choose the One sheet per family pattern, then give each sheet a role when you select the sheets containing product data (Step 3):
| Role | Which products the sheet lists | What it holds |
|---|---|---|
| Primary sheet | Every product, whatever its Family, once | The product identifier and the columns shared by all Families. A template has at most one primary sheet. |
| Secondary sheet | Every product again | Another set of shared columns, for example the product media. A secondary sheet requires a primary sheet. |
| Family sheet | Only the products of one Family | The columns specific to that Family |
| Not used | - | Nothing is exported to this sheet |
When the file is generated, each product is written on the primary sheet, then on each secondary sheet, then on the sheet of its Family, if it has one.
With a primary sheet, Family sheets are optional: if your template only has a primary sheet and secondary sheets, all their columns are configured as one single Family.
Each column is configured once
When the same column appears on several sheets, for example a Name column on both the primary sheet and a Family sheet, you configure it once, on the first sheet that holds it: the primary sheet first, then the secondary sheets in the order of the workbook, then the Family sheets. On the other sheets, the column is read-only and shows a Configured on badge with the name of the sheet where you configure it.
Link each sheet to the primary sheet
Activation needs to know which row of each sheet belongs to which product. Each Family sheet must have a join key: a column that repeats the product identifier of the primary sheet. You pick it when you configure the Activation options (Step 6). For each join key, you choose how it is filled:
- Fill with the product identifier: the export writes the product identifier in this column.
- Keep the template's formula: the template already computes the identifier with a formula, for example a lookup on the primary sheet. The export keeps the formula. On a row past the template's last formula row, the export writes the product identifier. This option is pre-selected when Activation finds a formula in this column on the first product row.
A secondary sheet can also have a join key. If it has no column repeating the product identifier, choose No matching column: rows are matched by position: each product is written on the same row as on the primary sheet, so formulas pointing at the same row of the primary sheet keep working.
Current limitations
- Primary and secondary sheets are available with the One sheet per family pattern, in a Custom Channel with a single workbook.
- The roles of the sheets are chosen when you create the channel and cannot be changed afterwards. When you edit the channel, the Attributes, rows, and join keys of the primary and secondary sheets stay editable.
- Once a primary sheet is set, the All families import and export of the attribute configuration is not available. Use This family on each tab instead.
All families on one sheet (Beta)
Some retailer templates put every product Family on a single sheet, and tell them apart with a "Family" column. Each Family only expects a subset of the columns: for example, Shoe size for shoes and Waist size for trousers. This pattern lets you describe which columns apply to which Family, so that each product is only validated against the columns its Family needs.
To configure it:
- When you select the sheets containing product data, select exactly one sheet.
- When you review your channel requirements, use the Applies to picker on each column to choose the Families it applies to. Type a name that does not exist yet to create a new Family, or use All for columns shared by every Family.
- Use the Families panel to review your Families, rename them, or remove a Family from every column at once.
Every column must apply to at least one Family, or be marked as Ignored.
The columns you choose as product identifier, display name, and image automatically apply to every Family.
Step 3: Select the sheets containing product data
Select the spreadsheet tabs that contain product information. Only selected sheets will be included in the channel configuration.
Each selected sheet will correspond to a product family in the completed Custom Channel. This allows you to support different product structures within the same retailer template.
Sheets that do not contain product data should not be selected.
With the All families on one sheet pattern, select exactly one sheet: it holds all your products.
With the One sheet per family pattern, when primary sheets are enabled for you, you choose a Role for each sheet instead: Primary sheet, Secondary sheet, Family sheet, or Not used (see Templates with a sheet listing every product).

Step 4: Identify the header row and the first product row
Specify:
- The row that contains attribute names or column headers
- The row that contains the first product record
These row positions apply to all selected sheets.
A primary or secondary sheet can have its header or its first product row elsewhere than the other sheets. In that case, preview this sheet and turn on Own rows for this sheet to set its own row numbers. Family sheets always share the same rows.
Use the file preview to verify that:
- Attribute names align with the expected columns
- Product data starts on the correct row
Correct row selection is required for attributes to be extracted properly.

Step 5: Review and configure your channel requirements
Activation extracts attributes from the selected sheets based on the rows you defined. Review the extracted attributes and configure how each one should behave in the channel.
For each attribute, you can:
- Set the attribute type
- Mark the attribute as required or optional
- Define possible values, if applicable
- Add help text or examples for users
- Ignore attributes you do not want to use
Ignored attributes can be restored at any time.
With a primary sheet, the primary sheet and each secondary sheet have their own tab, next to the Family tabs. The join key columns are not listed: Activation fills them itself.
Attribute Configuration Grid:
During this step, you'll see the following information for each attribute:
| Setting | Description |
|---|---|
| Attribute Name | The label extracted from the column header row |
| Ignored | Whether the attribute is excluded from mapping and output |
| Attribute Type | The data type assigned to the attribute (e.g. string, list) |
| Required | Whether a value must be present for the product to be valid |
| Possible Values | The allowed values for list-type attributes |
| Help Text | Guidance text displayed to users during mapping |
| Examples | Sample values extracted from the template or entered manually |
| Location | The sheet and column where this attribute appears in the template |
This information helps you understand how each attribute is used across the template.

Auto-Detected Configurations
When you upload a retailer template, Custom Channels automatically inspects the workbook and pre-configures several attribute settings based on conventions already present in the file. This reduces manual setup and helps ensure your channel configuration stays true to the retailer's original intent.
Ignored Columns that are hidden in the workbook are automatically marked as ignored. These columns will be excluded from your attribute configuration and will not be mapped or populated during syndication.
Valid Values If a column has conditional list validation (a dropdown) defined in the workbook, Custom Channels detects this and pre-populates the attribute's valid values. The selectable options are pulled directly from the retailer's own dropdown definitions.
Examples If you upload a pre-populated template that already contains sample product rows, Custom Channels extracts values from those rows and uses them as examples for the corresponding attribute.
Help Text Cell notes attached to a column header are automatically captured and surfaced as help text for that attribute. Retailer annotations (e.g., "If not a trademark brand, state 'unbranded'") are preserved and visible during configuration.
Attribute Types Attributes with a detected dropdown are automatically assigned the list type. Other type assignments — such as numeric, boolean, or date — are not yet auto-detected and will default to string unless manually updated.
Note: Auto-detected configurations are a starting point. You can review and adjust any of these settings during the attribute configuration step before activating your channel.
Step 6: Configure your Activation options
Define how products will be displayed and identified in the Activation grid for this Custom Channel.
You must select a Display Name and a Product Identifier. The Product Image is optional.
- Display Name – the attribute used to display the product name or title
- Product Identifier – the attribute used to uniquely identify each product
- Product Image – the attribute used to represent the product visually
These selections determine how products appear and are managed when working with this channel.
With the One sheet per family pattern, you can use the same Attributes for all Families or pick them per Family. With the All families on one sheet pattern, these Attributes apply to every Family.
With a primary sheet, these Attributes are the same for all Families: pick the Product Identifier among the columns of the primary sheet, and the Display Name and Product Image among the columns of the primary sheet or of a secondary sheet. Then, in the Join keys section, pick the join key of each Family sheet and secondary sheet (see Link each sheet to the primary sheet).

Edit a Custom Channel
Retailer requirements change over time. You can update the configuration of a Custom Channel after it is created.
To edit a Custom Channel, go to the Custom channels tab, open the actions menu of your Custom Channel, and click Edit. The configuration steps open with your current settings.
What you can change:
- The channel name and logo. Renaming the channel keeps it connected to its existing flows.
- The sheets containing product data. With the One sheet per family pattern, the Family labels cannot be renamed.
- The attribute row and the first product row
- The configuration of each Attribute: type, required or optional, possible values, help text, ignored
- The Activation options: Product Identifier, Display Name, Product Image, and join keys
What you cannot change:
- The pattern chosen in Step 2. This step is skipped when you edit a Custom Channel.
- The roles of the primary and secondary sheets
- The template file. To use the retailer's new version of the template, see Replace the template of a Custom Channel.
When you save, Activation updates the requirements of the channel in the catalogs connected to it.
Replace the template of a Custom Channel (Beta)
Retailers regularly send new versions of their templates: new columns, removed columns, renamed headers. Instead of recreating your Custom Channel, you can replace its template with the new version. The configuration you made on the columns that are still there is kept.
Replacing the template is currently available for Custom Channels that use the Single family pattern only.
To replace the template:
- In the list of channels, open the actions menu of your Custom Channel and click Replace template.
- Upload the retailer's new version of the template. If your Custom Channel bundles several workbooks, first select the Workbook to replace: you replace one workbook at a time, and the other workbooks keep their file and configuration.
- Go through the next steps to check the sheets and the rows of the new template. If your Custom Channel bundles several workbooks, the rows you set apply to the replaced workbook only.
- Review the changes of the new template, then go on to the last step and save your Custom Channel.
You can also start from Edit, and click Replace template file on the first step. To cancel the replacement, click Keep current file. Nothing is saved until you save the channel.
The generated files keep the name of the original template, shown under Exported as, so the retailer receives files with the same name as before.
Review the changes of the new template
Activation matches the columns of the new template with the current ones by their header text, and lists every change:
| Change | What happens |
|---|---|
| Unchanged | The column is at the same place. It keeps its configuration and PIM mappings. |
| Moved | The column has the same header, at another position. It keeps its configuration and PIM mappings. |
| New | The column is new in the template. It arrives unconfigured. |
| Removed | The column is no longer in the template. It is removed from the Catalogs listed in Affected catalogs. |
| Renamed | You declared that the retailer renamed this column. It keeps its configuration and PIM mappings under its new header. |
If the retailer renamed a column, Activation first sees it as one removed column and one new column. To keep its configuration and PIM mappings, pick its new header in Renamed to on the removed column.
Use the Show filter to display the changes only, or one type of change.
If the column used as Product Identifier, Display Name, or Product Image is no longer in the new template, you cannot save the channel until you declare its new header in Renamed to, or pick another column in the last step.
What happens next?
Your Custom Channel behaves like any other Activation channel. You can connect to it one or multiple times to create distinct data flows, generate files, and deliver them to their destination via sFTP/FTP.
The columns you configured become the requirements of the channel. From here, you set up your Custom Channel like any other channel:
- Create the product catalogs of your channel. See Create Your Activation Channel Product Catalogs.
- Select your products and map your PIM Attributes to the columns of your template. See Select, Map and Transform Your Product Data from Your PIM to Activation.