Guide
Product feed management
Product feed management is the work of turning your store's product data into a correct, current feed for every channel you sell or advertise on: Google Shopping, Meta, Pinterest, TikTok, Microsoft, Amazon, price comparison sites. It has five parts: collect the data, map it to each channel's fields, filter what each channel should get, schedule the updates, and check quality. This guide walks through each part, the multi-channel differences that cause most errors, and how often feeds should sync.
We connect your store, build the feed and keep it in sync. Updated 2026-10-27.
At a glance
- One source, many feeds: the store catalog stays the single source of truth, and each channel gets its own feed with its own field names, values and product set.
- Most multi-channel errors are value differences, not missing data: Google writes in_stock, Meta writes in stock; Google allows 150-character titles, Meta recommends 65.
- Scheduling has two halves: how often your feed is rebuilt from the store, and how often each channel fetches it. Google fetches daily by default and expires products after 30 days; Meta's scheduled feeds fetch at most hourly.
- Quality is measurable: completeness per field, values over channel limits, inconsistent spellings and broken URLs can be checked before a channel rejects anything.
What product feed management covers
A store's product data is written for its own website: titles that fit the theme, HTML descriptions, stock as a number, prices in whatever format the platform uses. Every sales and advertising channel wants something different, in its own field names and formats. Product feed management (also called shopping feed management or data feed management) sits between the two.
In practice that means five recurring jobs. Collect: pull products and variants from the store, a CSV or XML export or a spreadsheet, and join in data the store lacks, such as supplier GTINs. Map: translate each store field into each channel's attribute and format. Filter: decide which products each channel gets. Schedule: rebuild the feeds and let channels fetch them often enough that prices and stock stay accurate. Check: find missing, malformed or over-length values before the channel does.
The product feed management workflow
| Stage | What happens | In Textfinity |
|---|---|---|
| Collect | Products, variants, metafields, markets and stock are pulled from the source | Shopify connection, CSV or Google-shaped XML by URL or SFTP, Google Sheets |
| Enrich | Missing columns are joined from other files | Merged sources keyed on SKU or another id |
| Map | Store fields become channel attributes in the right format | Rename, combine, prefix/suffix, regex, Google Sheet find-and-replace, advanced expressions |
| Write | Titles and descriptions improved or translated | AI configs for titles and descriptions, reviewed before use |
| Filter | Each channel gets only the products it should | 26 filter operators, include or exclude |
| Publish | Feed file on a stable URL that each channel fetches | CSV or TSV URL; Merchant Center and Commerce Manager fetch it on a schedule, registered with you |
| Check | Data quality measured per field | Feed hygiene: completeness, lengths, languages, value consistency, outliers, URLs |
Multi-channel product feeds: what changes per channel
A multi-channel product feed setup does not mean one file for every channel. It means one source and one feed per channel, each with the channel's template, so a rule written for Google does not break Meta. The differences are small but every one of them rejects products:
| Field | Google Shopping | Meta catalog |
|---|---|---|
| id | Max 50 characters | Max 100 characters; duplicates all ignored |
| title | Max 150 characters | Max 200, 65 recommended |
| description | Max 5,000 characters, plain text | Max 9,999, plain text, no links |
| availability | in_stock, out_of_stock, preorder, backorder | in stock, out of stock |
| price | 29.90 EUR | 29.90 EUR |
| category | google_product_category | google_product_category or fb_product_category |
| images | 500 x 500 minimum enforced from Jan 31, 2027 | JPEG or PNG, 500 x 500 minimum, up to 8 MB |
From Google's product data specification and Meta's catalog fields reference, checked 2026-10-27.
Product feed scheduling: how often to sync
- Rebuild after the store changes, not on a fixed hour you picked once. In Textfinity each shop has a sync schedule: the source is re-pulled and every feed is rebuilt. A feed whose rules change is rebuilt within about five minutes.
- Align channel fetches with your rebuild. Google fetches a scheduled file every 24 hours by default; set the fetch after your rebuild so it picks up the new prices.
- Never let a feed go stale for a month. Google expires products 30 days after their last refresh.
- Know the floor for each channel. Meta's scheduled data feeds fetch at most once an hour, so stock that sells out in minutes needs Meta's batch API or the store's own channel integration.
- Measure the rebuild. Textfinity's median feed rebuild is 10.9 seconds, so the bottleneck is almost always the channel's fetch interval, not the feed.
Ways to manage product feeds, and when each fits
- A spreadsheet by hand: fine for a few dozen products that rarely change. Breaks once prices or stock change weekly.
- The store's own channel apps: one app per channel, no feed to manage, but titles and product sets follow the store and the apps differ in what they let you change.
- A feed management tool: one place for every channel, with rules, filters, schedules and quality checks. Costs a subscription and a setup afternoon.
- An in-house script: total control, and a developer on call every time a channel changes its spec.
- An AI assistant over MCP: Textfinity runs an MCP server that clients can connect an assistant such as Claude to, so it can list feeds, create one and add mapping and filter rules on request. Useful for bulk edits; the rules it writes are the same ones written by hand.
Examples
Worked examples, by situation
Five stores managing feeds for different channel mixes, markets and update speeds.
One source, three feeds with different titles
Before
One Shopify title: "Relaxed Linen Shirt" sent everywhere
After
Google: Marlow Women's Relaxed Linen Shirt, Sand, M Meta: Sand Linen Shirt by Marlow Pinterest: Relaxed Linen Shirt in Sand
How we set it up
We build three feeds from the Google Shopping, Meta Ads and Pinterest Ads templates and map title as an advanced expression on each, with gender in a product metafield and a short product type: [product_vendor] + " " + [product_metafield_custom_gender] + " " + [product_title] + ", " + [variant_color] + ", " + [variant_size] on Google, [variant_color] + " " + [product_productType] + " by " + [product_vendor] on Meta (under its recommended 65 characters), [product_title] + " in " + [variant_color] on Pinterest.
Prisjakt and PriceRunner from a WooCommerce export
Before
WooCommerce CSV export with Swedish column names and prices in kronor
After
Two feeds on the Prisjakt and PriceRunner templates, both from one source
How we set it up
We read the export by CSV URL, build one feed from the Prisjakt template and one from the PriceRunner template, map each template column as a rename, and add an exclude filter on both if Stock (the export column) is less or equal to 0.
Sync and fetch aligned to stop price mismatches
Before
Store sync at random times; Merchant Center fetch at 06:00; daily price mismatch warnings
After
Shop sync at 05:00, feed rebuilt in seconds, Merchant Center fetch at 05:30
How we set it up
We set the shop's sync schedule to run before the fetch, and register the feed URL in the store's Merchant Center with a 05:30 fetch, so each fetch picks up the prices rebuilt half an hour earlier.
One catalog, two languages, two feeds
Before
English titles and descriptions only
After
DE feed: German titles and descriptions SE feed: Swedish titles and descriptions
How we set it up
We set up one translation AI config per field and language: title and description into German, and the same into Swedish (four configs). Title and description use replace from AI config on each market feed, with the English text as fallback until generations are accepted.
The same baseline rules added across shops
Request to an AI assistant connected over MCP
For every Google Shopping feed in this organization,
add a filter: exclude if the source stock column is less or equal to 0,
then run feed hygiene and list fields under 90% complete.How we set it up
The agency's assistant is connected to its Textfinity organization over MCP with an API token. It lists the feeds, adds the filter rule to each and runs feed hygiene, using the same rule types we write by hand.
Copy this plan
Plan: set up product feed management in an afternoon
Start with one channel, get it clean, then add the next on the same source.
01
Connect the source
Shopify connects natively; other stores use a CSV export or a Google-shaped XML feed by URL or SFTP, and small catalogs can use a Google Sheet.
What we set up: We connect your store: Shopify natively, any other platform through its export URL or a Google Sheet.02
Profile the catalog
See completeness per field, over-length titles, inconsistent values and broken URLs before you map anything.
What we set up: We run feed hygiene on the catalog and share the findings before mapping anything.03
Build the first channel feed
Pick the channel template, map each attribute, and add the baseline filters (out of stock, no image, below price floor).
What we set up: We build the feed from the channel template (Google Shopping, Meta Ads, Pinterest Ads, TikTok Ads, Microsoft Ads and others), map every attribute and add the baseline filters.04
Register the feed URL with the channel
Add the feed URL to the channel's scheduled feed settings, such as a scheduled fetch in Merchant Center or a scheduled feed in Commerce Manager. This happens in the channel's interface.
What we set up: We register the feed URL in Merchant Center, Commerce Manager or the channel's own feed settings, with access you give us or on a short call.05
Set the sync schedule
Rebuild the feeds after the store's busiest change window, and set the channel fetch shortly after.
What we set up: We set the shop's sync schedule around your change window and time the channel fetches after it.06
Add the next channel
New feed, same source. Copy only the rules that apply; channel value differences go in that feed's mapping.
What we set up: We add the next channel's feed on the same source, from its template, carrying over only the rules that apply.
Customization tips
Make it yours
Fix in the store or fix in the feed
Data that is wrong everywhere (a misspelled brand, a missing barcode) belongs fixed in the store. Data that is right for the store but wrong for a channel (title length, availability spelling) belongs in the feed. Fixing channel quirks in the store breaks the website.
Separate feeds per channel, even when they look alike
Google and Microsoft Shopping feeds are nearly identical, so one file seems enough. Separate feeds cost one more template and save you the day one channel changes a rule the other does not.
Lookup sheets for anything a colleague maintains
Category mappings, brand lists and margin bands change often and are owned by people outside the feed. Keep them in Google Sheets referenced by the rules rather than inside the rules.
Schedule for your slowest channel
If one channel only fetches daily, rebuilding hourly helps the others but not that one. Spend the effort on fetch timing and on excluding low-stock items there.
FAQ
Questions about product feed management
What is product feed management?
The process of collecting product data from a store, mapping it to each sales or advertising channel's required fields and formats, filtering which products each channel receives, keeping the feeds updated on a schedule, and checking data quality before channels reject products.
What is a multi-channel product feed?
A setup where one product source feeds several channels, such as Google Shopping, Meta, Pinterest and price-comparison sites, each through its own feed with that channel's field names, values and filters.
How often should a product feed be updated?
At least daily for most stores, and always after price or stock changes. Google fetches a scheduled feed every 24 hours by default and expires products 30 days after their last refresh; Meta's scheduled feeds can fetch hourly at most.
Do I need a feed management tool?
Not for a small catalog on one channel with a store app that does what you need. A tool pays off once you sell on several channels, need different titles or product sets per channel, or keep fixing the same feed errors by hand.
Set up for you
We'll set up every channel feed in Textfinity from your one product source.
Tell us your store and the channels you sell on. We configure a feed per channel in Textfinity, set the sync schedule and register each feed with the channel; the software rebuilds them on schedule. Priced per catalog after a short call.
Tell us your store and channels. We reply within 24 hours.