Dynamic Product Ads use your product catalog to generate personalized ads that feature the most relevant products for each user. To ensure accuracy, performance, and consistent event matching, the product catalog must follow Rokt’s Product Data Specification.
If you already maintain a Google Merchant Center or Meta product feed, you’ll find the structure familiar. Rokt intentionally aligns to industry standards for faster onboarding.
A downloadable template is available here:
Rokt DPA Product Feed Template
1. Catalog Overview
Each row in your feed represents a product or variant. The fields below allow Rokt to:
- Display accurate product information
- Optimize recommendations
- Match user events (ViewContent, AddToCart, Purchase)
- Dynamically personalize creatives
Rokt requires 8 core fields and strongly recommends additional fields for ad performance and data quality.
2. Required Product Attributes
These fields must be present for every product.
| Field | Description | Format & Requirements |
| id | Unique product identifier (SKU recommended) |
• ≤100 chars, case-sensitive • Must not change once assigned • Must match Product ID passed in your Rokt events |
| title | Product name |
• Plain text, 1–200 chars (≤65 recommended) • No HTML, emojis, or promo text |
| description | Product description |
• Plain text, ≤9,999 chars • Must differ from title • No HTML, URLs, or promotional text |
| price | Price with currency |
<value> <ISO 4217> (e.g., 29.99 USD) Must match landing page price exactly |
| link | Product landing page URL | Full URL, must load with HTTP 200, must use your domain |
| image_link | Primary product image |
JPEG/PNG ≥500×500 (1024×1024 recommended) No borders, overlays, or watermarks |
| brand | Brand name | ≤100 characters |
| availability | Stock status |
Accepted values: • in stock • out of stock |
3. Recommended Product Attributes
Optional Attribute Table (General)
| Field | Description | Format & Notes |
| item_group_id | Groups variants of a single parent product (e.g., different sizes or colors). |
Plain text ≤100 characters Guidance:
|
| product_type | Merchant-defined category or hierarchy | Plain text, ≤2,000 chars |
| sale_price | Discounted price | Must be < price; same format |
| sale_price_effective_date | Sale date range | ISO 8601 range (start/end) |
| google_product_category | Google taxonomy code | Numeric ID |
| custom_label_0–4 | Up to 5 segmentation labels | ≤100 chars each |
| mobile_link | Mobile-optimized URL | Full URL |
| additional_image_link | Extra product images | Direct image URLs; multiple allowed |
| average_review_rating | Avg product rating | Decimal, 1.0–5.0 |
| number_of_ratings | Review count | Integer ≥0 |
4. Recommended Category-Specific Attributes (Retail)
| Field | Description | Format & Notes |
| color | Product color | ≤200 chars |
| size | Product size | ≤200 chars |
| gender | Gender targeting | male, female, unisex |
| age_group | Intended age group | newborn, infant, toddler, kids, adult |
| material | Material composition | ≤100 chars (e.g., “100% cotton”) |
| pattern | Product pattern | ≤100 chars (e.g., “striped”) |
| condition | Product condition | new, refurbished, used |
5. Feed Quality & Governance
Rokt automatically validates your feed for:
- Presence of required fields
- Correct formatting and accepted values
- Image accessibility and quality
- Price/availability freshness
- Product ID consistency
- Variant grouping issues
Items that do not meet required criteria will not be ingested into Rokt Catalog. You must make any edits in the feed file itself.
6. Frequently Asked Questions
Do sale prices and price changes update automatically?
Yes. Rokt refreshes file-based and external feed connections once every 24 hours at 12:00am.
What if my catalog contains variants?
Use item_group_id to group related products. Each variant must still have its own id, price, availability, and link.
7. Complete Specification Table
For a full, consolidated version of fields as they appear in your CSV template, refer to the:
Rokt DPA Product Feed Template