Ducted turns messy product data into platform-ready feeds: map fields, compute values, validate against each channel's spec, and serve always-fresh feed URLs. Here is exactly how, feature by feature.
Best matches pre-filled
Matching dozens of source columns to each platform's exact field names by hand is slow and easy to get wrong.
Ducted scores every source column against the template and pre-fills the best match, so even a 40-field feed maps in seconds. You just confirm or tweak.
Every channel has its own spec. The usual routine: dig through docs, guess the field names, submit, then wait for the platform to tell you what is broken.
Start from a prebuilt, ready-to-map template for Google, Meta, ChatGPT, Bing and more. Or build any custom format and save it as your own reusable template. You are never limited to the channels we ship.
Platforms often want a value you don't store as a column: a discount, a margin, a unit price.
Compute it from the fields you already have with a simple formula. {{ MSRP }} - {{ sale_price }} becomes a clean sale_discount, with currency symbols and EU/US number formats handled for you.
Some fields are part fixed format, part data, like a VLA installment string that has to read exactly 36:250.00 USD:1000.00 USD:finance:2.00.
Compose it once by mixing hardcoded literals with mapped tokens. The : separators, the USD units, and the finance credit type stay fixed; the numbers come straight from your data.
Availability, condition, and labels shouldn't be columns you maintain by hand for every product.
Derive them with if / else rules. If stock is above zero, output 'in stock'; if a restock date exists, 'Coming {{restock_date}}'; otherwise 'out of stock'. First match wins.
Source data is messy: stray whitespace, inconsistent casing, raw numbers where the platform wants currency.
Chain transforms to clean it up. red T-SHIRT becomes Red T-Shirt; 1500.5 becomes €1,500.50. Stack as many steps as you need, applied in order.
Most feed tools only tell you something is wrong after the platform rejects the whole file, days later.
Ducted resolves your mapping against real sample rows as you edit, shows every transform step, and flags values outside a field's accepted list or format on the spot. Fix it before you ever publish.
Live feeds drift. A supplier drops a column, image URLs rot, required fields go missing, and you find out when your ads get disapproved.
Every feed is continuously scored for missing required fields, invalid values, broken URLs, and duplicates. A health badge surfaces issues and email alerts warn you the moment quality drops.
You rarely want your entire catalog in every feed: only in-stock items, a price band, a brand, a category.
Build precise rules with grouped conditions. Conditions inside a group are AND-ed, groups are OR-ed, so you can express 'in stock and 10 to 100, or anything featured' and ship only the records that qualify.
The full product picture is usually split up: catalog in one export, costs in another, live stock in a third.
Join them on a shared key into one feed. Match on sku and every record picks up its cost, supplier, and stock, with no spreadsheets or VLOOKUP.
Smaller tools that quietly save time once your feeds are live.
Upload CSV, TSV, XML/RSS, JSON, or XLSX, or point to a URL. Shopify, WooCommerce, and BigCommerce shapes are detected automatically.
When a field is empty, fall back to another field or a default value, so a missing sale price quietly drops to the regular price instead of going blank.
Flexible, regex-driven find-and-replace for the cases simple transforms cannot reach.
Multi-step transform chains saved as one-click presets for your common formatting tasks.
Reusable values like store code or fulfillment settings, available to every feed in the project.
Permanent feed URLs in CSV, JSON, and XML, ready to plug into any platform or integration.
Refresh on a schedule, and detect source changes by ETag or content hash so feeds stay fresh.
Products that leave your source are kept in a separate feed, so nothing silently disappears.
Clone a feed's full setup in one click, and regenerate public tokens whenever you need to.
Create a free account, connect a source, and map your first feed in minutes. No payment information required.