Introduction
CJ Affiliate is a performance marketing network that connects merchants with publishers and advertisers. Product feeds are the foundation of CJ Affiliate partnerships, enabling accurate product listing, inventory synchronisation, and campaign targeting across the network.
Merchants submit structured product data via XML feeds to CJ Affiliate, which validates, processes, and distributes that data to affiliate partners. A well-configured feed directly impacts listing approval rates, visibility in affiliate marketing campaigns, conversion quality, and overall program performance.
This guide covers the complete feed setup process, field specifications, data mapping requirements, and optimisation strategies for CJ Affiliate product feed management.
CJ Affiliate Feed Overview
CJ Affiliate accepts product feeds in XML format. The feed must conform to CJ Affiliate's data schema and include mandatory fields for every product. The platform validates feed structure, data types, and field values before accepting submissions.
Feeds are typically submitted via SFTP (Secure File Transfer Protocol) or HTTP/HTTPS upload, depending on your account configuration. CJ Affiliate processes feeds at scheduled intervals, usually daily or multiple times per day. Feed updates propagate to affiliate partners within hours of processing.
The feed serves multiple purposes: it provides affiliate partners with accurate product information for promotional content, enables dynamic product ads and comparison shopping, supports inventory synchronisation for real-time availability, and allows filtering and targeting by product attributes.
Required and Core Fields
Every product in your CJ Affiliate feed must include the following fields. Missing or invalid data in mandatory fields causes validation failures and product rejection.
| Field | Type | Required | Purpose | Notes |
|---|---|---|---|---|
| id | String | Yes | Unique product identifier | Must be consistent across all feed submissions. Use SKU or internal product ID. Maximum 100 characters. |
| title | String | Yes | Product name | Keep under 150 characters. Include brand and key variant details (colour, size) if space allows. |
| description | String | Yes | Product summary | 100-500 characters recommended. Describe function, materials, key features. Avoid promotional language. |
| link | URL | Yes | Product page URL | Must be a valid, direct link to the product page. Affiliate tracking parameters may be appended. |
| image_link | URL | Yes | Product image URL | High-quality primary image. Minimum 100x100 pixels, 1.2:1 aspect ratio or closer to square. JPG or PNG format. |
| availability | Enum | Yes | Stock status | Values: in stock, out of stock, preorder. Must reflect current inventory state. |
| price | Decimal | Yes | Current product price | Format: 12.99 or 12,99 (locale-dependent). Include currency code if required by feed destination. |
| brand | String | Yes | Manufacturer or brand name | Exact brand name. Do not use generic terms like 'Generic' or 'Unbranded'. |
| condition | Enum | Yes | Product state | Values: new, refurbished, used. Most products are 'new'. |
Extended and Attribute Fields
These fields enhance product data and enable better targeting, filtering, and matching in affiliate campaigns. While not always mandatory, including them significantly improves listing quality and visibility.
| Field | Type | Recommended | Purpose | Notes |
|---|---|---|---|---|
| gtin | String | Yes | Global Trade Item Number | 12 or 13-digit barcode (EAN, UPC). Improves matching with affiliate partner systems. |
| mpn | String | Yes | Manufacturer Part Number | Exact part number from manufacturer. Supports accurate product matching. |
| google_product_category | String | Yes | Product category | Use Google's product taxonomy. Format: Electronics > Computers > Laptops. Enables category-based filtering. |
| product_type | String | Yes | Your category structure | Your internal category hierarchy. Format: Category > Subcategory > Type. |
| sale_price | Decimal | No | Promotional price | Only include if currently on sale. Format same as price field. Must be lower than price. |
| item_group_id | String | No | Variant group identifier | Group variants (same product, different colours/sizes). All variants share the same item_group_id. |
| color | String | No | Product colour | Single colour per product. Use standard colour names (not 'Colour 1'). |
| size | String | No | Product size | Standard sizing (S, M, L or numeric). Include unit (cm, inches, UK, EU). |
| age_group | Enum | No | Target age range | Values: newborn, infant, toddler, kids, adult. Use only if applicable. |
| gender | Enum | No | Target gender | Values: male, female, unisex. Omit for unisex products. |
| material | String | No | Primary material | Main fabric or material (cotton, polyester, leather, plastic). |
| shipping_weight | Decimal | No | Product weight for shipping | Format: 2.5 kg or 5.5 lbs. Include unit. Helps partners estimate shipping costs. |
| additional_image_link | URL | No | Secondary product images | Pipe-separated list of URLs. Include 3-5 additional angles, lifestyle shots, or detail views. |
| mobile_link | URL | No | Mobile-specific product page | Alternative URL optimised for mobile devices. |
Product Identification and Matching
Accurate product identification is critical for inventory synchronisation and affiliate matching. Use these fields correctly to prevent duplicate listings and approval delays.
id field: This is your primary product identifier. It must be unique within your feed and consistent across all submissions. If a product's id changes between feed submissions, CJ Affiliate treats it as a new product. Use your internal SKU or product ID. Do not use sequential numbers; use meaningful identifiers that persist in your system.
gtin field: The Global Trade Item Number (barcode) is the industry-standard product identifier. CJ Affiliate uses gtin to match your products against affiliate partner databases and prevent duplicate listings. If your product has a barcode, always include it. If you do not have a gtin, set identifier_exists to false.
mpn field: The Manufacturer Part Number uniquely identifies a product from its maker. Include this if available. Combined with brand and gtin, mpn helps CJ Affiliate verify product authenticity and prevent counterfeit listings.
item_group_id field: Use this to group product variants (the same product in different colours or sizes). All variants share the same item_group_id but have unique id values. This prevents duplicate product entries and allows affiliate partners to show variant options.
identifier_exists field: Set to true if the product has a valid gtin or mpn. Set to false only for products without barcodes (handmade items, custom products, private labels). Products marked identifier_exists = false may face additional review before approval.
Pricing and Availability
Pricing and availability data must be accurate and updated frequently. Stale or incorrect data damages affiliate partner trust and increases return rates.
price field: Submit the current selling price. Include all applicable charges (VAT, taxes). Do not include shipping costs. Format the value as a decimal number with two decimal places (12.99). If your feed system requires a currency code, use ISO 4217 format (GBP, EUR, USD) as a separate field or prefix (GBP 12.99).
sale_price field: Include this only if the product is currently on sale or discounted. The sale_price must be lower than price. When sale_price is present, affiliate partners display both the original and discounted prices, highlighting the savings. Always remove sale_price when a promotion ends; leaving outdated sale prices damages credibility.
availability field: This field must reflect real-time stock status. Use one of three values:
- in stock: Product is available for immediate shipment.
- out of stock: Product is not currently available.
- preorder: Product is available for pre-order; shipment is delayed.
If you update inventory in real-time, submit feed updates multiple times daily. If inventory updates are less frequent (daily or weekly), consider the time lag and mark products conservatively (out of stock if low stock) to avoid overselling.
Category and Product Classification
Accurate categorisation helps affiliate partners find and promote your products to relevant audiences. Use both google_product_category and product_type.
google_product_category field: This is Google's standard product taxonomy, used across multiple platforms. Format your categories as a full path from root to leaf, separated by >. Example: Electronics > Computers > Laptops > Laptop Computers. Refer to Google's official product category taxonomy for valid categories. Using incorrect or non-existent categories causes validation errors.
product_type field: This is your own internal category structure. You can use any hierarchy that matches your website navigation. Example: Computers > Laptops > Gaming Laptops. This helps affiliate partners understand your product organisation and filter by your categories.
Both fields should point to the same product but using different category systems. Ensure consistency: a product categorised as Electronics > Computers in google_product_category should not be categorised as Clothing in product_type.
Attributes for Apparel, Accessories, and Variants
For apparel, footwear, and products with size or colour variants, include colour, size, age_group, and gender fields.
color field: Use a single, standard colour name per product variant. Valid examples: Black, Navy Blue, Rose Gold, Charcoal. Do not use manufacturer colour codes (SKU-C45) or generic terms (Colour 1). If a product is multi-coloured, describe the primary colour or list the dominant colours (e.g., Blue and White).
size field: Include the size for apparel and footwear. Use standard sizing conventions. Examples:
- Apparel: XS, S, M, L, XL, XXL
- Footwear: 6 UK, 7 UK, 8 UK or 36 EU, 37 EU
- Numeric: 32 inches, 50 cm
Always include the unit (UK, EU, cm, inches) to avoid confusion.
age_group and gender fields: Use these to target products correctly. age_group values are: newborn (0-3 months), infant (3-12 months), toddler (1-5 years), kids (5-13 years), adult (13+ years). gender values are: male, female, unisex. Omit these fields for products that are not gender or age-specific.
material field: For apparel and home goods, specify the primary material. Examples: 100% Cotton, Polyester Blend, Genuine Leather, Stainless Steel. This helps partners match products to customer preferences and filter by material.
Images and Visual Content
High-quality images are essential for affiliate partner campaigns. Products with poor or missing images have lower approval rates and lower click-through rates.
image_link field: This is your primary product image. It must be a direct URL to a JPG or PNG file. The image must be at least 100x100 pixels; 400x400 pixels or larger is recommended. Use a clean, well-lit product photo with a plain or minimal background. Avoid logos, watermarks, or promotional text overlaid on the image. The image should show the product clearly from a front or three-quarter angle.
additional_image_link field: Include 3-5 additional images to show the product from different angles, in use, or with lifestyle context. Separate URLs with a pipe character (|). Example:
https://example.com/product-side.jpg|https://example.com/product-back.jpg|https://example.com/product-detail.jpg
Additional images should meet the same quality standards as the primary image. Include detail shots (seams, materials, logos), lifestyle images (product in use), and packaging images if relevant.
mobile_link field: If you have a mobile-optimised product page, include the mobile URL. This helps affiliate partners direct mobile users to a fast-loading, mobile-friendly experience. If you do not have a separate mobile URL, omit this field; CJ Affiliate will use the standard link field.
Custom Labels and Merchant-Specific Data
CJ Affiliate allows three custom label fields for merchant-specific data and segmentation. Use these to enable flexible filtering and targeting in affiliate campaigns.
custom_label_0, custom_label_1, custom_label_2: These fields accept any text value. Common uses include:
- Profit margin tier (high, medium, low)
- Commission rate (standard, premium, promotional)
- Inventory source (warehouse, dropship, pre-order)
- Campaign tag (seasonal, clearance, new arrival)
- Partner segment (VIP partners, high-volume partners)
Define a consistent labelling scheme and document it for your affiliate partners. Labels enable partners to filter and segment your product feed for targeted campaigns.
Special Product Types
Certain product types require additional fields or special handling.
Multipack products: If a product is a bundle or multipack (e.g., a 3-pack of socks), include the multipack field with the quantity. Example: multipack = 3. This helps partners understand the product quantity and calculate per-unit pricing.
Bundle products: If a product is a bundle of different items (e.g., a laptop with accessories), set is_bundle to true. Bundles are treated differently in some affiliate systems and may have different commission structures.
Adult products: If a product is restricted to adults (alcohol, tobacco, age-restricted items), set adult to true. This prevents the product from appearing in campaigns targeting minors and ensures compliance with advertising regulations.
Feed Submission and Validation
CJ Affiliate provides multiple methods for feed submission.
SFTP upload: Most merchants use SFTP to upload feeds to CJ Affiliate's servers. You receive SFTP credentials during onboarding. Use an SFTP client (FileZilla, WinSCP, or command-line sftp) to connect and upload your feed file. CJ Affiliate typically processes SFTP feeds within 1-2 hours of upload.
HTTP/HTTPS upload: Some accounts support HTTP POST feed submission. Contact your CJ Affiliate account manager for the submission endpoint and authentication details.
Feed frequency: Submit feeds daily or more frequently if your inventory or pricing changes frequently. Real-time inventory updates are possible with multiple daily submissions.
Feed validation: After submission, CJ Affiliate validates the feed structure, data types, and field values. Common validation errors include:
- Missing required fields (id, title, description, link, image_link, availability, price, brand, condition).
- Invalid URLs (image_link or link fields pointing to non-existent pages).
- Invalid price format (letters or special characters in price field).
- Invalid enum values (availability = 'available' instead of 'in stock').
- Duplicate product ids within the same feed.
Review validation reports provided by CJ Affiliate and correct errors before resubmitting.
Data Mapping Best Practices
Most merchants use a feed management platform or custom script to map their product database to CJ Affiliate's schema. Follow these practices for reliable, accurate feeds.
Use consistent identifiers: Map your internal product id field to CJ Affiliate's id field. Do not change product ids between submissions; this causes duplicate listings and approval delays.
Standardise text fields: Clean and standardise title, description, and brand fields. Remove extra whitespace, special characters, and inconsistent formatting. Use title case for titles and proper nouns.
Validate URLs: Ensure all URLs (link, image_link, additional_image_link, mobile_link) are valid, accessible, and return HTTP 200 status. Test URLs before submission. Broken links cause validation failures and product rejection.
Handle missing data: For optional fields, omit them entirely rather than submitting empty or placeholder values. Do not submit N/A, unknown, or TBD for missing data.
Localise pricing and currency: If selling in multiple markets, create separate feeds per currency and market. Ensure prices are in the correct currency and include VAT or taxes as required by the market.
Test with a small batch: Before submitting your full product catalogue, test with 10-20 products. Verify that products are approved, display correctly, and link to the correct product pages.
Monitor approval rates: After submission, check CJ Affiliate's reporting dashboard for approval rates and rejection reasons. Address common rejection patterns (e.g., invalid categories, missing images) before resubmitting.
Feed Optimisation for Performance
A well-optimised feed improves affiliate partner engagement, conversion rates, and program profitability.
Accurate availability: Update availability status frequently. Products marked in stock that are actually out of stock cause returns and affiliate partner dissatisfaction. If you cannot update inventory in real-time, err on the side of caution and mark products out of stock if stock is low.
Competitive pricing: Ensure your prices are competitive and up-to-date. Stale pricing damages affiliate partner trust. If you change prices frequently, update feeds daily.
Descriptive titles and descriptions: Use titles that include key product attributes (brand, size, colour, key features). Descriptions should highlight unique selling points, materials, and use cases. Avoid generic or vague descriptions.
Complete categorisation: Always populate google_product_category and product_type. Incomplete or incorrect categorisation reduces visibility in partner campaigns.
High-quality images: Invest in professional product photography. Clear, well-lit images with minimal backgrounds perform better in affiliate campaigns. Include multiple angles and lifestyle shots.
Variant grouping: Use item_group_id to group variants correctly. This allows affiliate partners to show variant options without duplicate listings.
Timely updates: Submit feeds at consistent times. If you submit feeds daily, pick a time when your inventory and pricing data are most current (e.g., after daily inventory sync).
Troubleshooting Common Issues
Products not approved: Check validation reports for rejection reasons. Common causes include missing required fields, invalid URLs, incorrect category codes, and duplicate product ids. Correct errors and resubmit.
Low approval rate: Review approved vs. rejected products. If certain categories or product types have low approval rates, examine the data for those products. Check image quality, completeness of descriptions, and accuracy of categorisation.
Products not appearing in campaigns: Ensure products are approved and visible in CJ Affiliate's product dashboard. Check that affiliate partners have access to your product feed and have not filtered out your products by category, price, or custom labels.
Inventory sync issues: If inventory appears out of sync between your website and CJ Affiliate, increase feed submission frequency. Verify that your availability field reflects current stock status. Check for time zone differences between your system and CJ Affiliate's servers.
Duplicate listings: If the same product appears multiple times in CJ Affiliate's system, ensure that product ids are unique and consistent across all feed submissions. Check that you are not submitting the same product with different ids.
Summary
A successful CJ Affiliate product feed requires accurate, complete data across all required and recommended fields. Prioritise data quality in id, title, description, link, image_link, availability, price, brand, and condition fields. Include extended fields such as gtin, mpn, google_product_category, and product_type to improve product matching and visibility.
Map your product database to CJ Affiliate's schema using a feed management platform or custom script. Validate feeds before submission and monitor approval rates and rejection reasons. Update feeds frequently to keep pricing, availability, and inventory current.
Optimise your feed by using accurate categorisation, high-quality images, descriptive titles and descriptions, and correct variant grouping. Regular feed optimisation improves affiliate partner engagement, conversion rates, and overall program performance.