Field Mapping ​
When your product feed doesn't follow the native Videobot format, use field mapping to transform your data. This guide explains how to configure custom field mappings.
When You Need Field Mapping ​
Use custom field mapping when your feed:
- Uses different field names (e.g.,
nameinstead oftitle) - Has nested data structures
- Stores images in arrays
- Uses different JSON paths
Standard Product Fields ​
Videobot products require these five fields:
| Field | Type | Description |
|---|---|---|
id | String | Unique product identifier |
title | String | Product name/title |
image | URL | Product image URL |
description | HTML | Product description (supports basic HTML) |
url | URL | Link to product page |
Configuring Field Mapping ​
- Create or edit a feed
- Select Custom format
- Expand Field Mapping section
- Enter paths for each field
Path Syntax ​
Use dot notation to navigate nested structures:
Simple Paths ​
{ "name": "Product Name" }Path: name
Nested Paths ​
{
"details": {
"title": "Product Name"
}
}Path: details.title
Array Index Paths ​
{
"images": [
{ "url": "https://example.com/image1.jpg" },
{ "url": "https://example.com/image2.jpg" }
]
}Path to first image: images.0.url
Deep Nesting ​
{
"data": {
"product": {
"media": {
"primary": {
"src": "https://example.com/image.jpg"
}
}
}
}
}Path: data.product.media.primary.src
Example Mapping ​
Given this custom feed structure:
{
"data": {
"items": [
{
"sku": "SKU-12345",
"name": "Running Shoes",
"media": {
"images": [
{ "src": "https://example.com/shoe.jpg" }
]
},
"pricing": {
"amount": 129.99,
"currency": "USD"
},
"info": "Lightweight mesh with cushioning",
"link": "https://example.com/products/12345"
}
]
}
}Configure these settings:
| Setting | Value |
|---|---|
| Products Path | data.items |
| ID | sku |
| Title | name |
| Image | media.images.0.src |
| Description | info |
| URL | link |
Using Test Connection for Field Discovery ​
When testing your feed, the response shows the structure of your products which helps identify the correct field paths:
- Click Test Connection
- Check if products were found
- Review any field mapping errors
- Use field names from your API documentation to build paths
HTML in Description ​
The description field supports basic HTML tags:
<strong>,<b>- Bold text<em>,<i>- Italic text<br>- Line break<p>- Paragraph<span>- Inline container<s>,<del>- Strikethrough
Price Formatting Example ​
{
"description": "<strong>$129.99</strong><br>Free shipping on orders over $50"
}Displays as:
$129.99 Free shipping on orders over $50
Numeric Values ​
Numeric fields are automatically converted:
| Original Value | Converted To |
|---|---|
129 | "129" |
129.99 | "$129.99" (for description fields) |
Validation Errors ​
If field mapping fails, test results show specific errors:
| Error | Cause | Solution |
|---|---|---|
| Missing field: title | Field not found at path | Verify the path in raw data |
| Empty value for: image | Path exists but value is empty | Check for alternate image fields |
| Invalid URL for: url | Value isn't a valid URL | Ensure the field contains full URLs |
Tips for Complex Feeds ​
- Start with Products Path: Get products array working first
- Use Test Connection: Verify each field as you configure it
- Check Raw Data: Refer to actual field names, not documentation
- Handle Arrays: Remember 0-based indexing for array positions
- Test Edge Cases: Verify products with missing optional data