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 |
Products not recognized — no recommendations |
|
Variant vs. parent ID mismatch |
Feed contains parent ID |
Purchases not linked to products |
|
Leading zeros stripped |
Feed has |
Silent mismatch — hard to detect |
|
Mixed case |
Feed has |
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 |
When the source system has a parent/child structure |
|
Variant Group ID |
All variants share |
When there's no strict parent but variants need grouping |
|
Base Product Name |
All variants share |
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 |
|
Displaying products in recommendations and campaigns |
|
detail_url |
|
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.