Destinations

AdRoll Product Feed Setup and Field Mapping Guide

Complete technical reference for configuring AdRoll product feeds, including field specifications, data requirements, and optimisation strategies for retargeting campaign performance.

14 min read 14 views Updated 2 Jul 2026

No results found

Try different keywords or browse all help articles.

    Overview

    AdRoll is a retargeting and prospecting platform that uses product feed data to display personalised ads across the web. Your product feed supplies AdRoll with the inventory information needed to match user behaviour to relevant products, enabling dynamic creative optimisation and audience segmentation.

    Merchants use AdRoll feeds to:

    • Show visitors the exact products they viewed or added to cart.
    • Segment audiences by product attributes (brand, category, price range).
    • Optimise ad creative based on product performance metrics.
    • Scale retargeting campaigns across display, social, and native channels.

    Feed quality directly affects campaign relevance, click-through rates, and return on ad spend. Incomplete or inaccurate product data results in lower match rates, poor creative rendering, and wasted ad budget.

    Core Feed Fields and Requirements

    Field Required Type Notes
    id Yes String (max 2000 chars) Unique product identifier. Must match your internal product ID consistently.
    title Yes String (max 150 chars) Product name. Used in ad creative and search. Be descriptive and avoid keyword stuffing.
    description Yes String (max 5000 chars) Full product description. Include key features, materials, and use cases.
    link Yes URL Direct landing page URL for the product. Must be publicly accessible and return HTTP 200.
    image_link Yes URL Primary product image. Minimum 100x100 pixels recommended; 800x800 or larger for quality. Use HTTPS URLs.
    price Yes Decimal (max 15 digits) Current product price in your local currency. Format as number only (no currency symbol).
    availability Yes Enum One of: in stock, out of stock, preorder, or backorder. Controls ad eligibility and frequency.
    brand Conditional String (max 250 chars) Product brand or manufacturer. Required for most verticals; critical for brand-aware audiences.
    condition Conditional Enum One of: new, refurbished, or used. Required for non-apparel and non-consumable products.
    gtin Conditional String (14 digits max) Global Trade Item Number (UPC, EAN, ISBN). Improves matching and prevents duplicate product issues.
    mpn Conditional String (max 70 chars) Manufacturer Part Number. Use with gtin to uniquely identify products.
    identifier_exists Conditional Boolean Set to true if gtin or mpn is present; false if neither exists. Required if product lacks both identifiers.
    google_product_category Yes Integer or String Google product category ID or name. Controls vertical targeting and ad policy compliance.
    product_type Yes String (max 750 chars) Your internal product category hierarchy (e.g. Electronics > Laptops > Gaming). Use consistent delimiter.
    color Conditional String (max 100 chars) Product colour. Required for apparel and fashion; improves variant matching.
    size Conditional String (max 100 chars) Product size. Required for apparel, shoes, and furniture. Include size system (S/M/L or numeric).
    age_group Conditional Enum One of: newborn, infant, toddler, kids, adult. Required for children's products and apparel.
    gender Conditional Enum One of: male, female, unisex. Required for gender-specific apparel and accessories.
    material Conditional String (max 100 chars) Primary material (e.g. cotton, polyester, leather). Improves relevance for fashion and home goods.
    sale_price Optional Decimal Discounted price if product is on sale. Format as number only.
    sale_price_effective_date Optional Date range Start and end dates for sale price (format: YYYY-MM-DD/YYYY-MM-DD).
    item_group_id Optional String (max 2000 chars) Parent product ID for variants (e.g. shirt in multiple colours). Groups variants under one product.
    additional_image_link Optional URL Secondary product images (up to 10 recommended). Comma-separated URLs in single field.
    custom_label_0 to custom_label_4 Optional String (max 100 chars each) Custom attributes for audience segmentation and bidding rules (e.g. margin_tier, season, supplier).
    shipping_weight Optional Decimal Product weight (in pounds or kilograms). Used for shipping cost estimation in dynamic ads.
    mobile_link Optional URL Mobile-specific landing page. If omitted, link is used for all devices.
    availability_date Optional Date Date product becomes available (format: YYYY-MM-DD). Use for preorder products.
    cost_of_goods_sold Optional Decimal Internal product cost. Not visible to users; used for profitability analysis and bidding.
    expiration_date Optional Date Date product listing expires (format: YYYY-MM-DD). Use for seasonal or limited inventory.
    unit_pricing_measure Optional Decimal Quantity of unit_pricing_base_measure (e.g. 500 for 500ml bottle).
    unit_pricing_base_measure Optional Decimal Base unit for price comparison (e.g. 100ml). Enables per-unit price display.
    multipack Optional Integer Number of items in a multipack product.
    is_bundle Optional Boolean Set to true if product is a bundle of multiple items.
    energy_efficiency_class Optional String EU energy label rating (A to G). Required for certain appliances in EU regions.
    size_type Optional Enum One of: regular, petite, maternity, big-and-tall, oversize. Clarifies apparel sizing.
    size_system Optional String Sizing system used (e.g. US, EU, UK, international).
    promotion_id Optional String (max 100 chars) Internal promotion or campaign identifier for tracking ad performance by promotion.

    Feed Format and Delivery

    AdRoll accepts product feeds in the following formats:

    • CSV (comma-separated values).
    • XML (structured markup).
    • JSON (key-value pairs).
    • API integration (real-time sync).

    Feeds can be uploaded manually, scheduled for automatic refresh, or ingested via API. Recommended refresh frequency is daily or weekly to keep inventory and pricing current.

    Feed File Best Practices

    • Ensure the file encodes in UTF-8 to support special characters and international products.
    • Validate the feed structure before upload using AdRoll's feed validator tool or a third-party feed validator.
    • Include a header row (for CSV) or proper XML/JSON schema declaration.
    • Compress large feeds (>100 MB) using gzip to reduce upload time and storage.
    • Test a small subset of products before uploading the full feed.

    Field Mapping and Data Quality

    Identifier Fields (id, gtin, mpn, identifier_exists)

    The id field is your primary key and must be unique and stable across feed updates. If a product's id changes, AdRoll treats it as a new product, breaking historical data and audience targeting.

    gtin and mpn provide secondary identifiers that help AdRoll match products across different data sources and prevent duplicate listings. If your product lacks a gtin (common for private label or digital goods), set identifier_exists to false. Omitting this field when both gtin and mpn are absent may cause feed validation errors.

    Title and Description

    Title should be concise, descriptive, and keyword-rich without appearing spammy. Avoid all-caps text, excessive punctuation, or repeated keywords. Examples of strong titles:

    • 'Men's Merino Wool Running Socks, Moisture-Wicking, Size 10-13'
    • 'Stainless Steel 3-Piece Cookware Set with Glass Lids'

    Description should expand on the title with material, dimensions, colour options, and benefits. Include details that help users decide whether the product matches their needs. Avoid duplicate title text in the description.

    Image Links

    image_link must point to a valid, publicly accessible image file. Common issues:

    • Broken or expired URLs (validate URLs before upload).
    • Images that are too small (<100x100 pixels) or very large (>10 MB), which slow ad rendering.
    • Transparent or white-background images that may not display well in all ad formats.
    • Watermarked or low-quality images that reduce ad appeal.

    Use high-contrast product photography with a clean background. If you provide additional_image_link, ensure all images are consistent in style and quality.

    Pricing and Availability

    price must always reflect the current, publicly listed price. If price differs from your website, ads will be marked as misleading or disapproved. Update price daily or whenever you change it.

    availability must be one of the four allowed values: in stock, out of stock, preorder, or backorder. Do not use custom values. AdRoll pauses ads for out-of-stock products to prevent wasted spend on clicks that cannot convert.

    If you offer a sale_price, ensure sale_price_effective_date covers the actual promotion period. Ads will show the sale price only during this window. After the end date, AdRoll reverts to the regular price field.

    Category Classification

    google_product_category must be a valid Google product category ID (integer) or name string. This field controls which ad policies apply to your product and affects audience targeting options. Incorrect categorisation can result in ads being disapproved or shown to irrelevant audiences.

    Common category IDs:

    • 3034: Apparel & Accessories > Clothing > Shirts & Tops
    • 1604: Electronics > Computers & Tablets > Laptops
    • 2582: Home & Garden > Furniture > Bedroom Furniture

    Refer to Google's product category taxonomy for the complete list. product_type is your internal hierarchy and can use any consistent delimiter (e.g. '>' or '|').

    Variant and Bundle Products

    For products available in multiple colours, sizes, or configurations, use item_group_id to group variants under a single parent product ID. Each variant still requires its own row with a unique id, but all share the same item_group_id.

    Example: A shirt sold in red/small, red/large, blue/small, and blue/large would have four rows, each with a unique id, but all with the same item_group_id value.

    For bundled products (e.g. a laptop bundle including mouse and case), set is_bundle to true. Ensure the bundle price reflects the total value of all items.

    Custom Labels for Segmentation

    custom_label_0 through custom_label_4 allow you to tag products with attributes that don't fit standard fields. Common uses:

    • Margin tier: 'high_margin', 'low_margin', 'seasonal'.
    • Supplier or warehouse: 'supplier_a', 'warehouse_west'.
    • Promotion status: 'clearance', 'new_arrival', 'bestseller'.
    • Audience segment: 'high_value', 'vip_only'.

    Use consistent, lowercase values. These labels enable advanced audience segmentation and bidding rules in AdRoll's campaign settings.

    Validation and Troubleshooting

    Common Feed Errors

    Error Cause Resolution
    Missing required field id, title, description, link, image_link, price, availability, or google_product_category not provided Add the missing field to every product row.
    Invalid URL format image_link or link uses http:// instead of https:// or contains spaces Encode URLs properly and use HTTPS.
    Price format error price includes currency symbol, comma, or non-numeric characters Use numeric format only (e.g. 19.99, not £19.99).
    Availability value invalid availability uses a custom value instead of in stock, out of stock, preorder, backorder Replace with one of the four allowed values.
    GTIN format incorrect gtin is not 8, 12, 13, or 14 digits Validate GTIN length and remove non-numeric characters.
    Duplicate product IDs Two or more products share the same id Ensure every product has a unique id.
    Broken image URLs image_link returns HTTP 404 or 403 Test all URLs before upload; use a link checker tool.
    Character encoding issue Feed contains special characters that don't display correctly Save feed as UTF-8 and test a sample in AdRoll's preview tool.

    Feed Validation Steps

    1. Download your feed file and open it in a text editor to check for obvious syntax errors.
    2. Validate the file structure using AdRoll's built-in feed validator or a third-party tool.
    3. Check that all required fields are present in every product row.
    4. Sample 10-20 products and verify that data matches your live website.
    5. Test image URLs by opening them in a browser to confirm they load and display correctly.
    6. Verify that price values match your current website prices.
    7. Upload the feed to AdRoll in a test or staging environment before deploying to production.

    Optimisation for Campaign Performance

    Data Completeness

    Products with complete data (all optional fields filled) receive higher quality scores and better ad placement. Prioritise adding:

    • Additional images (additional_image_link) to improve creative quality.
    • Colour and size for apparel and fashion products.
    • Brand for luxury or recognised brands.
    • Custom labels to enable advanced targeting and bidding strategies.

    Inventory Synchronisation

    Out-of-sync inventory is a major source of wasted ad spend. If a product is out of stock on your website but marked as in stock in AdRoll, users click the ad but cannot purchase. This increases cost per conversion and damages return on ad spend.

    Implement a daily or real-time feed refresh to keep availability in sync with your inventory system. Use availability_date for preorder products to set a specific availability date rather than marking them as out of stock.

    Dynamic Pricing Strategy

    Use sale_price and sale_price_effective_date to highlight promotions without changing the base price field. This allows AdRoll to track both regular and promotional performance separately.

    For time-limited offers (flash sales, seasonal promotions), set the sale_price_effective_date to match your promotion window. AdRoll will automatically revert to the regular price after the end date.

    Audience Segmentation

    Use custom_label_0 to custom_label_4 to create audience segments based on product attributes:

    • Segment by margin to bid higher on high-margin products.
    • Segment by category to run category-specific creative tests.
    • Segment by price range to target users with different budgets.
    • Segment by new vs. returning inventory to prioritise bestsellers.

    These segments can then be targeted with different bid strategies, creative, and audience rules in AdRoll's campaign settings.

    Product Condition and Refurbished Items

    For refurbished or used products, always set condition to the appropriate value. Failure to disclose condition can result in ads being disapproved or account suspension. Refurbished and used products often require separate audience targeting and bid strategies.

    International and Regional Considerations

    For multi-region campaigns:

    • Provide prices in the currency of the target region.
    • Use size_system and size_type to clarify apparel sizing (e.g. EU vs. US).
    • Include energy_efficiency_class for appliances sold in the EU.
    • Translate title and description into the target language while keeping id, brand, and category consistent.

    Feed Integration Workflows

    Manual Upload

    1. Prepare your feed file in CSV, XML, or JSON format.
    2. Log into AdRoll and navigate to the Merchant Center or Feeds section.
    3. Select 'Upload Feed' and choose your file.
    4. AdRoll validates the feed and displays any errors or warnings.
    5. Review the validation report and correct any errors.
    6. Confirm the upload and monitor the ingestion process.

    Scheduled Automatic Refresh

    1. Host your feed file on a publicly accessible URL (HTTPS).
    2. In AdRoll, select 'Schedule Feed' and provide the feed URL.
    3. Set the refresh frequency (daily, weekly, or custom schedule).
    4. AdRoll automatically downloads and ingests the feed on the schedule.
    5. Monitor feed status and error logs in the AdRoll dashboard.

    API Integration

    For real-time inventory synchronisation, use AdRoll's API to push product updates directly. This approach is ideal for high-velocity inventory (e.g. retail, travel, classifieds) where availability changes frequently.

    API integration requires development resources but provides the most accurate and timely product data.

    Monitoring and Maintenance

    Key Metrics to Track

    • Feed health score: Percentage of products with no errors or warnings.
    • Product approval rate: Percentage of products approved vs. disapproved.
    • Image quality score: Average quality rating of product images.
    • Data completeness: Percentage of optional fields populated across all products.
    • Inventory sync lag: Time between inventory change on your website and update in AdRoll.

    Regular Maintenance Tasks

    • Weekly: Review feed health score and address any new errors.
    • Bi-weekly: Audit a sample of 20-30 products to verify data accuracy.
    • Monthly: Analyse which products have the highest approval and performance rates; identify data gaps.
    • Quarterly: Review category mapping and custom labels; update if business rules change.

    Summary

    The AdRoll product feed is the foundation of your retargeting and prospecting campaigns. Accurate, complete, and well-maintained product data directly impacts ad approval, relevance, and return on ad spend.

    Prioritise the required fields (id, title, description, link, image_link, price, availability, google_product_category, product_type) and ensure they are accurate and up to date. Then progressively add optional fields (brand, colour, size, custom labels) to improve targeting precision and creative quality.

    Implement a daily or real-time feed refresh process to keep inventory and pricing in sync with your website. Use AdRoll's feed validator and monitoring tools to catch and resolve errors early.

    With a high-quality, well-maintained feed, you can build sophisticated audience segments, test creative variations, and optimise bids to maximise return on ad spend across all AdRoll channels.