Product Feed Best Practices

A well-configured product feed is the foundation for all AIDE personalizations. The quality of your recommendations, triggers, and enrichments depends directly on the quality and structure of your product data. This guide provides practical tips for setting up your product feed correctly.

Why Does the Product Feed Matter?

The AIDE uses the product feed to:

  • Match products from your website (views, add-to-carts) and order system (purchases) to the correct catalog items

  • Display product information in recommendations (name, image, price, URL)

  • Apply business rules like boosting, filtering, and diversity controls based on product attributes

  • Group product variants so the AI model understands that a "Blue Nike Air Max Size 42" and a "Red Nike Air Max Size 38" are variations of the same product

If the product feed is incomplete or inconsistent, personalizations will be less accurate or may not work at all.

1. Product ID Must Match Your Order System

This is the most critical requirement.

The product ID in your product feed must be exactly the same as the product ID that appears in your transaction and web tracking events (PDP views, add-to-cart, purchases). If these don't match, the AI engine cannot link what a customer viewed or bought to the correct product in the catalog.

How to verify

  • Take a few recent purchase transactions from your CDP

  • Check the product ID in those transactions

  • Verify that the exact same ID exists in your product feed

Common pitfalls

Problem

Example

Impact

Different ID formats

Feed uses SKU-12345, transactions use 12345

Products not recognized — no recommendations

Variant vs. parent ID mismatch

Feed contains parent ID SHOE-001, transactions contain variant ID SHOE-001-BLUE-42

Purchases not linked to products

Leading zeros stripped

Feed has 007891, transactions have 7891

Silent mismatch — hard to detect

Mixed case

Feed has ABC-123, transactions have abc-123

May cause mismatches depending on system

Tip

Ask the customer's development team: "What product ID is sent in the purchase event to the CDP?" — then make sure that exact ID is the primary key in the product feed.

2. Handling Product Variants

Many catalogs have products with variants — for example, a t-shirt available in 3 colors and 5 sizes (= 15 variants of the same product).

Why this matters

If variants are not properly handled, the AI model may treat each variant as a completely separate product. This leads to:

  • Recommending the same shirt in 5 different sizes instead of 5 different products

  • Fragmented engagement data (views spread across 15 variants instead of concentrated on 1 product)

  • Diversity controls not working properly

How to set it up

The product feed should include a way to identify which variants belong together. Common approaches:

Approach

Example

When to use

Parent ID column

All variants share parentId = "TSHIRT-001"

When the source system has a parent/child structure

Variant Group ID

All variants share variantGroupId = "TSHIRT-001"

When there's no strict parent but variants need grouping

Base Product Name

All variants share baseName = "Classic V-Neck Tee"

As a fallback when no ID-based grouping exists

Example

productId

parentId

name

color

size

price

TSHIRT-001-BLU-S

TSHIRT-001

Classic V-Neck Tee Blue S

Blue

S

29.95

TSHIRT-001-BLU-M

TSHIRT-001

Classic V-Neck Tee Blue M

Blue

M

29.95

TSHIRT-001-RED-S

TSHIRT-001

Classic V-Neck Tee Red S

Red

S

29.95

TSHIRT-001-RED-M

TSHIRT-001

Classic V-Neck Tee Red M

Red

M

29.95

With this structure, the AI model can group all 4 variants under TSHIRT-001 and treat them as one product for recommendation purposes.

Tip

Discuss with the customer early in onboarding: "Do you sell products with variants (sizes, colors, configurations)? How are these identified in your systems?"

3. Categories Must Be Clean and Consistent

Product categories are used by several AIDE features:

  • Diversity controls — "show maximum 3 products from the same category"

  • Attribute Tagger — "tag users with their preferred category"

  • Boosting rules — "boost products from category X"

  • Fallback recommendations — "show popular items from the same category"

Best practices

  • Use a consistent hierarchy: If you use category levels, separate them clearly (e.g., category_level1 = "Clothing", category_level2 = "Shirts", category_level3 = "T-Shirts")

  • Avoid mixing languages: Don't mix "Schoenen" and "Shoes" in the same column

  • Avoid empty categories: Every product should have at least a top-level category

  • Use standardized naming: "T-Shirts" not sometimes "Tshirts", "T shirts", "t-shirts"

Example of good category structure

productId

category_level1

category_level2

category_level3

SHOE-001

Footwear

Sneakers

Running

SHOE-002

Footwear

Sneakers

Casual

SHIRT-001

Clothing

Tops

T-Shirts

JACKET-001

Clothing

Outerwear

Jackets

Example of problematic categories

productId

category

SHOE-001

Sneakers

SHOE-002

Schoenen > Sneakers > Casual

SHIRT-001


JACKET-001

clothing/outerwear

In the second example: inconsistent formats, mixed languages, missing values, and different separators make it impossible to use categories reliably in business rules.

4. Keep Other Attributes Clean

Beyond categories, other product attributes are used for boosting, filtering, and personalization. The more attributes are available and clean, the more powerful the personalizations become.

Commonly used attributes

Attribute

Example values

Used for

brand

"Nike", "Adidas", "Puma"

Attribute Tagger (brand preference), boosting own-label products, filtering

price

29.95, 149.00

Numerical boosting (promote high-margin items), Item Enricher price buckets

image_url

https://cdn.example.com/img/shoe-001.jpg

Displaying products in recommendations and campaigns

detail_url

https://www.example.com/products/shoe-001

Linking from recommendation to product page

in_stock

true / false

Excluding out-of-stock items from recommendations

gender

"Men", "Women", "Unisex"

Filtering recommendations by target audience

type

"Running Shoe", "Casual Shoe", "Hiking Boot"

Fine-grained product type for diversity and targeting

margin or profit

12.50, 45.00

Numerical boosting to promote high-margin products

is_new_arrival

true / false

Boosting new products in recommendations

season

"SS26", "AW26"

Filtering by current season

Tips for attribute quality

  • Consistent values: Use "Nike" everywhere, not sometimes "nike", "NIKE", or "Nike Inc."

  • No empty values: If a product has no brand, use a fallback like "Unknown" or "No Brand" rather than leaving it blank

  • Correct data types: Prices should be numbers (29.95), not strings ("€29,95"). Boolean fields should be true/false, not "yes"/"no"/"1"/"0"

  • Keep it up to date: Stock status, prices, and seasonal flags should be refreshed regularly (daily is ideal)

5. Quick Checklist for CSMs

Use this checklist during onboarding to verify the product feed is ready for AIDE:

  • Product IDs match between product feed, web tracking events, and order/transaction system
  • Product variants are identifiable (parent ID, variant group ID, or equivalent)
  • Categories are clean, consistent, and hierarchical where possible
  • Essential attributes are present: name, image_url, detail_url, price, brand, category
  • Stock status is available (in_stock or equivalent) for excluding out-of-stock items
  • No empty values in critical columns (productId, name, category, price)
  • Data types are correct (prices as numbers, booleans as true/false)
  • Naming is consistent (no mixed languages, casing, or formats within the same column)
  • Feed is refreshed regularly (daily recommended for stock/price changes)

Common Questions

Q: What if the customer's order system uses a different ID than their website?
This needs to be resolved before AIDE can work. The product ID must be consistent across web tracking, transactions, and the product feed. Work with the customer's tech team to align on a single identifier.

Q: What if the customer doesn't have a parent ID for variants?
Explore alternatives: can a variant group be derived from the product name, or from a shared attribute? If not, the AI model will treat each variant as a separate product — which may be acceptable for catalogs with few variants but problematic for catalogs with many.

Q: How many products should be in the feed?
The feed should contain all products that can be recommended. This typically means all active, purchasable products. Archive or exclude discontinued products that can no longer be bought.

Q: What if some attributes are missing for some products?
This is common. The AIDE can work with incomplete data, but the personalizations that rely on those attributes won't work for those products. For example, if 20% of products have no brand, those products won't appear in brand-based attribute tagging results.