
Product feed error codes: meaning and how to fix them
Discover the most-read articles
When Affilae analyses your product feed and cannot read it, the analysis stops on an error code, for example D15. Each code points to exactly what went wrong: an unreachable URL, a wrong format, an encoding, a product tag or a missing column mapping.
This page is a reference table. Find your code in the list, read its message, apply the matching action, then let the feed be analysed again.
Where you can see that a feed is in error
The feeds page sits in your program menu, not in the global sidebar.
- In the sidebar, open Manage programs, then click your program name.
- Expand Medias and click Products Feeds.
- In the Status column, a failing feed shows the red chip Error and its title turns red.
- Open the feed with the Modify feed action. If the analysis returns a code, it appears in the red banner at the top of the form.
The main families of causes
Eleven families cover every code. If you have no code at hand, start with the family that best matches your situation.
- Feed cannot be downloaded: D3, D4, D5, D6, D7, D8, D9, D25, D28, D29
- Format not recognised or file unreadable: D1, D2, D13, D27, D30, D31, B2
- Encoding: D10, D11, D12
- CSV specific: D19, D20, D21, D22, C6
- XML product tag: D14, D15, D16, D17, D18, B3
- JSON: D30, D32
- Column mapping: A1, D23, D24, C5
- Automatic mapping detection: B1
- Partnership: A3
- Temporary states, nothing to do on your side: A2, A4, C1, C2
- Affilae technical errors: C3, C4, D26
The error codes, one by one
The Disables the feed column tells you whether the code can lead to the feed being deactivated during its analysis. A Yes therefore calls for a quick fix, otherwise your affiliates lose access to the catalogue.
| CODE | MESSAGE | WHAT TO DO | DISABLES THE FEED |
|---|---|---|---|
| A1 | Url tag is not specified in mapping for this feed. | Reopen the feed and map the Landing page attribute to the column holding the product page URL. Without it, no tracked link can be built. | No |
| A2 | Temporary state: the feed is in error and will be picked up again automatically. | Nothing to do. Wait for the next analysis. If the code comes back several days in a row, treat the feed as a regular failing feed. | No |
| A3 | Current partnership disabled or blocked. | This is not a file issue. Open My affiliates and check the status of the partnership: a disabled or blocked partnership cannot receive a tracked feed. | No |
| A4 | The feed analysis has not been done yet. | Nothing to do. This is expected right after a feed is created or edited. | No |
| B1 | An error occurred during mapping detection for this feed. | Automatic column detection failed. Check the file and the declared format first, then run the mapping step again, or fill in the attributes manually. | No |
| B2 | An error appear when trying to parse feed. | The file was downloaded but could not be parsed. Check that the actual content matches the declared format, and that the file is complete rather than truncated. | Yes |
| B3 | Xml reader timeout when reading feed, double check feed URL. | Reading the XML took too long. Publish a static file instead of an export generated on demand, and trim it down if your catalogue is very large. | Yes |
| C1 | The feed analysis has not been done yet. | Nothing to do, same as A4. Wait for the analysis to finish. | No |
| C2 | This feed as currently has an error, it will back soon as possible. | Nothing to do straight away. The feed will be analysed again automatically. If the message persists, look for the underlying cause in the other families. | No |
| C3 | An error occurred during mongo data writer for the feed. | A technical error on the Affilae side, not yours. Contact support with the feed name and the code. | No |
| C4 | An error occurred during data insertion in mongo for this feed. | A technical error on the Affilae side. Contact support with the feed name and the code. | No |
| C5 | Feed lang not set, double check if lang is correctly set. | Reopen the feed and fill in the Feed language field, among FR, EN and ES. | No |
| C6 | Unable to retrieve products, with current tag. please check the tag. | The declared tag or column returns no product. Compare the column names in your export with the ones saved in the mapping, then correct them. | No |
| D1 | Unable to parse feed, check if separator is set. | Set the Field separator actually used in your CSV: comma, semicolon, pipe or tab. | No |
| D2 | Unable to read feed, check if separator is set. | Same cause as D1, with a heavier consequence. Open your file in a text editor to spot the exact separator, then declare it. | Yes |
| D3 | Unable to retrieve feed data, double check feed URL. | Test the URL in a private browsing window. It must return the file with no password, no redirect to a login page and no IP filtering. | No |
| D4 | Unable to retrieve feed data, double check feed URL. | Same checks as D3. This code disables the feed, so treat it as a priority. | Yes |
| D5 | Unable to retrieve feed data, double check feed URL. | Same checks as D3. | No |
| D6 | Connection timeout when retrieving feed with current url, double check feed URL. | Your server took too long to answer. Generate the file ahead of time with a scheduled task, rather than at the moment of the call. | No |
| D7 | Connection reset error when retrieving feed with current url, double check feed URL. | The connection was cut mid-download. Ask your host to check anti-bot protections, the web application firewall and rate limits. | No |
| D8 | Unable to retrieve feed data, double check feed URL. | Same checks as D3. This code disables the feed. | Yes |
| D9 | Server has returned an HTTP Error 500, check your server. | The problem is on your server, not in your Affilae settings. Pass the feed URL to your technical team or your host. | No |
| D10 | Encoding not set for this feed, encoding possibly detected. Check encoding. | Set the File encoding field, among UTF-8, UTF-16 and ISO-8859-1. When in doubt, export in UTF-8 and declare UTF-8. | Yes |
| D11 | Encoding not set for this feed. Check encoding. | Same fix as D10. | Yes |
| D12 | Unable encode feed data with current encoding type. Check encoding. | The declared encoding does not match the file. Typical sign: accented characters show up as odd symbols. Export again in UTF-8 and declare UTF-8. | No |
| D13 | Feed format not set for this feed. Check if you give us the right format in your feed configuration. | Declare the right format: CSV, XML or JSON. Beware, the file extension proves nothing, only the actual content counts. | Yes |
| D14 | Xml item not found in mapping for this feed. | Fill in the XML Item field, that is the tag which delimits one product and repeats for every product. | Yes |
| D15 | No item retrieve with current xml_items tag. Check if you set the correct tag. | The tag exists but returns nothing. Give the tag repeated for each product, often item or entry, not the tag that wraps the whole catalogue. Case matters, and so does any prefix. |
No |
| D16 | Unable to retrieve landing_page data. Check the tag used. | In an XML feed, the tag mapped to the Landing page attribute returns no usable URL. Check the exact tag name, and that every product carries one. | Yes |
| D17 | No product found, xml_items tag used. Update your feed mapping. | Same fix as D15, with feed deactivation at stake. Go through the mapping step to the end. | Yes |
| D18 | No item retrieve with current xml_items tag. Check if you set the correct tag. | Same fix as D15, with feed deactivation at stake. | Yes |
| D19 | Unable to retrieve landing_page data. | In a CSV, the column mapped to the Landing page attribute is empty or wrongly named. Check the column name, spelling included. | Yes |
| D20 | Unable to read csv header, check if csv contains header. | Your CSV must start with a header row naming the columns. Add it, with no blank line or comment above it. | No |
| D21 | Unable to parse csv with current separator. Check if you set correct separator. | The declared separator does not split your rows. Also check that values containing the separator are wrapped in quotes. | Yes |
| D22 | Unable to retrieve csv fieldnames. | The column names could not be read. Check the header row, the separator and the encoding, in that order. | Yes |
| D23 | Feed information not found. | No column mapping is stored, often because the configuration was never taken through to the Create button. Reopen the feed and finish the three steps. | Yes |
| D24 | No landing page found. Update your feed mapping. | The Landing page attribute is mapped, but no value comes back. Check that the column is filled for every product, with a complete URL. | Yes |
| D25 | Unable to retrieve feed information, can be deleted, disabled or doesn’t exists. Double check feed URL. | The file is no longer at the declared address. Common cases: unpublished export, shared document switched back to private, address changed after a website redesign. | Yes |
| D26 | Internal Server Error | An internal error on the Affilae side. Contact support with the feed name and the time of the analysis. | No |
| D27 | Unable to parse xml feed. | The XML is not valid. Run it through an XML validator: unclosed tag, forbidden character or truncated file are the usual causes. | No |
| D28 | Unable to download feed from host, double check feed url | The server hosting the file refused the download. Check the domain name, the certificate and any access restrictions. | Yes |
| D29 | Unable to download feed from Lengow, check feed status on Lengow. | Your feed is hosted on Lengow. Log in to your Lengow account and check that the feed is active and published. | Yes |
| D30 | Unable to read json content, check if json content is correct. | The JSON is not valid. Run it through a JSON validator before the next analysis. | Yes |
| D31 | Your feed is incorrect, please check your mapping or encoding. | A generic code. Go through it in order: the declared encoding first, then the mapping of every attribute against the real columns of your file. | Yes |
| D32 | JSON item not found in mapping for this feed. | Fill in the JSON Item field, that is the key holding the product list in your file. | Yes |
Three codes reserved for product search feeds
Three further codes exist, tied to more recent cases. Their exact message is not published, but the cause and the action are.
- A5: an identical analysis was already running, so this one was skipped. A temporary state, nothing to do on your side.
- D33 and D34: the product identifier is missing or invalid on one or more products. Check that the Product ID attribute is mapped, and that every product in your file carries one, unique and not empty.
What happens if you leave a feed in error
- While the feed is in error, the activation toggle disappears from its row in the table. You cannot switch it back on by hand, you have to fix the cause.
- A warning triangle shows next to Products Feeds in the program menu, so you do not have to watch the page.
- The feed is no longer presented on your public program page in the Marketplace: only feeds without errors are counted there.
- Affilae alerts you by email when a feed stays in error, then sends a warning before deletion.
- A feed left in error for several weeks is eventually deleted automatically. You then have to create it again from scratch.
Avoiding the most common errors
- Publish a static file rather than an export generated on every call. This is the best protection against D6, D7 and B3.
- Do not change the URL of a feed already in place. A website redesign that moves the export triggers a D25 a few hours later.
- If your server filters IP addresses, allow the one Affilae downloads feeds from,
34.76.237.145. When in doubt, have the address confirmed by support before setting it up. - Export in UTF-8 and declare UTF-8. That is the setting which triggers the fewest encoding errors.
- After a change in your export structure, reopen the feed and validate the column mapping again. A single renamed column is enough to send the feed into error.
- Handle the codes marked Yes first in the Disables the feed column: those are the ones that really cut your affiliates off from your catalogue.
Three typical situations
- A shop that has just redesigned its website. The feed switches to D25 overnight, because the old export address no longer exists. Updating the URL or Flux field with the new address is enough.
- An XML catalogue reused from a Google Shopping feed. The feed shows D15 or D17 because the declared tag is the one wrapping the whole catalogue. Replace it with the tag repeated for each product and the analysis runs again.
- A CSV export opened and saved again in a spreadsheet. The separator changed, or accented characters broke: depending on the case, the feed falls into D21 or D12. Export again from your management tool, without going through the spreadsheet.
Related articles
- Adding a product feed
- Product feeds: what they are for and what your file must contain
- Dashboard: top selling products
- Affiliate Marketing Glossary
Frequently asked questions
Voir plus de questions reponses
The feeds table does not show the code, only the Error chip. Open the feed with the Modify feed action: if the analysis returns a code, it appears in the red banner at the top of the form. If you see no code, ask support for it and give the feed name and URL.
Follow this order, it covers the vast majority of cases. 1. Open the feed URL in a private browsing window: the file must show without a password. 2. Check the declared format, CSV, XML or JSON, against the actual content. 3. Check the encoding, and the separator for a CSV. 4. Go through the column mapping again, especially the Landing page attribute.
Yes. The status tooltip says it: after correction, the status may take a few hours to update, because the analysis runs periodically. Wait for the next analysis before drawing conclusions. Above all, do not create a second feed with the same URL, it would be refused and you would end up with a duplicate.
It tells you whether the code can lead to the feed being deactivated at analysis time. A Yes means your affiliates may lose access to the catalogue, so handle it first. A No flags a real problem that does not cut distribution straight away.
Affilae alerts you by email, then sends a warning before deletion. After several weeks of continuous error, the feed is deleted automatically and you have to create it again from scratch, column mapping included. In the meantime, the feed is no longer presented on your public program page in the Marketplace.
The one that delimits a product and repeats for every product, often item or entry. It is not the tag wrapping the whole catalogue. Two classic traps: case, which matters, and the prefix some exports add in front of the tag name.
Your browser is already authenticated on your site, Affilae is not. So test the URL in a private browsing window. If your server filters IP addresses, or if a web application firewall blocks automated downloads, the Affilae call is rejected while yours goes through. In that case, allow the address Affilae downloads feeds from, and have it confirmed by support.
No. These three codes point to a technical error inside Affilae, not to a problem in your file. Contact support with the feed name, its URL and the approximate time of the analysis. There is nothing to fix on your side.