Error-free Google Shopping feeds per country, currency and language, with category mapping, variants, custom labels, rules and a validation report.
Available Updated Oct 13, 2026Version 1.1.1CS-Cart, Multi-Vendor 4.17.2 – 4.21.x No core file edits
Built for
Product Feed Pro for Google Merchant Center: overview1 of 17
What it does
Product Feed Pro creates Google Shopping product feeds for stores that sell in one or many countries. Each feed has its own country, currency, language and secret URL, in XML (RSS 2.0) or TSV.
It sends the attributes Google needs, from title, price and availability to GTIN, item_group_id, shipping, sale price and custom labels. A validation report lists missing values per product.
Google and Google Merchant Center are trademarks of Google LLC; this add-on is not endorsed by Google.
What it changes for your store
Required attributes checked for every product, with counts and fixes.
GTIN check digits, title length and allowed values validated.
Variations sent as grouped items with their own price and stock.
Price band, margin and bestseller labels for smarter bidding.
Rules exclude or fix products in bulk.
Memory-safe batch generation for large catalogs.
No core file changes.
How it works
Admin: create a feed and pick the country, language and currency. Map store categories to the bundled Google taxonomy with a search picker, choose a source for each attribute (field, feature, option, label or fixed value) and add rules if needed. Copy the feed URL into Merchant Center as a scheduled fetch.
The feed is built on request with caching or by cron. Catalog discounts become sale prices and cart promotions a promotions feed. In Multi-Vendor, vendors can manage feeds for their own products.
Features
Unlimited feeds per country, currency and language, each with its own secret URL
XML (RSS 2.0, g: namespace) and TSV output
On-request cached or cron-scheduled generation, memory-safe batches
Attribute mapping to product fields, features, options, labels or fixed values, with defaults
Google category mapping with the bundled taxonomy and a search picker
Product variations with item_group_id and variant titles
Custom labels: price band, margin, bestseller, new arrival, on sale, stock level, category, vendor
Rules to exclude products or set attributes, product-level overrides
Validation report with issue counts per attribute and a product drill-down
Sale price with effective dates, shipping, shipping weight, destinations
Promotions feed from cart promotions with promotion_id linking
Multi-Vendor: marketplace, per-vendor and vendor self-service feeds
What you get
Package
kv_google_merchant_feed_pro-1.1.0.zip, installed through Add-ons → Manage add-ons
Updates & support
12 months included. Download new versions from your account and install them in Add-ons → Manage add-ons or the Upgrade Center.
License
1 production installation. Staging, dev and localhost are free and unlimited. The add-on keeps working after the update period ends. How licensing works
For developers
Uses 10 CS-Cart PHP hooks. No core files are changed.
Compatibility
We list only the builds we install and test on. “Tested” means the full test plan was run on that build; “Supported” means the build is inside the supported range and uses the same hooks.
CS-Cart version and edition compatibility
CS-Cart version
CS-Cart
CS-Cart Ultimate
Multi-Vendor
Multi-Vendor Ultimate
4.22 and later
Testing next
Testing next
Testing next
Testing next
4.21.2
Supported
Supported
Tested
Supported
4.20.x
Supported
Supported
Supported
Supported
4.19.x
Supported
Supported
Supported
Supported
4.18.3
Supported
Supported
Tested
Supported
4.17.2
Tested
Supported
Tested
Supported
Before 4.17.2
Not supported
Not supported
Not supported
Not supported
Last tested build: Multi-Vendor 4.21.2, Oct 13, 2026Tested on: Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3
Requirements
PHP
CS-Cart and Multi-Vendor 4.17.2 – 4.21.x (tested on CS-Cart 4.17.2, Multi-Vendor 4.17.2 and Multi-Vendor 4.21.2 with PHP 8.3)
PHP
PHP 7.4 – 8.3, as supported by your CS-Cart version, with mbstring (standard in CS-Cart)
Requirement
Write access to var/files/ (generated feeds are stored in var/files/kv_google_merchant_feed_pro/)
Requirement
For scheduled feeds: a cron job, or a service that can call a URL on a schedule
Core changes
None. Hooks and template overrides only
1.1.0
Oct 13, 2026
Latest
Added 3
License check. Enter your license key (or CS-Cart Marketplace license number) on the new License tab of the settings. The add-on verifies it with cs-cart.kaviolabs.com when the key is saved and then once a day, only from the admin panel or cron, never on storefront requests. The license covers the domain entered at purchase and all its subdomains; local development hosts are always allowed.
License status on the License tab (status, licensed domain, result per storefront, last check, end of the updates period) with a Check now button, and a cron entry point (php admin.php --dispatch=kv_google_merchant_feed_pro_license.check).
Without a valid license for the store's domain the feed URLs answer 404 (feeds are not generated on the fly) and scheduled generation skips the feeds with the status "paused". The feed editor, rules, category mapping, product fields, Generate now and the validation report keep working, product saves are never affected, and the admin panel shows a notice. New installations and upgrades from 1.0.x work for 14 days before a key is required, and if the license server cannot be reached the add-on keeps working for 14 days.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3. No breaking changes.
1.0.4
Oct 12, 2026
Changed 1
Compatible with CS-Cart and Multi-Vendor 4.21 and PHP 8.3: tested on Multi-Vendor 4.21.2 with PHP 8.3 and the new Nova theme. The add-on now declares the supported range 4.17.2 – 4.21.x.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3. No breaking changes.
1.0.3
Oct 12, 2026
Added 1
In-place upgrades now complete themselves. After the add-on files are replaced (uploading the new zip over the installed add-on in Add-ons → Manage add-ons, copying the files by FTP, or installing an Upgrade Center package), the next admin page view adds any missing tables, columns, settings, language variables and e-mail templates, and updates the stored add-on version and icon flag. Existing data and setting values are kept. A hidden schema_version setting records the last applied version.
Fixed 1
Feeds of an Ultimate storefront that no longer exists caused PHP warnings on the Feeds page. Their URL now falls back to the main store URL.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3. No breaking changes.
1.0.2
Oct 12, 2026
Fixed 1
The admin add-on icon is now 150×150, the size the add-ons list uses.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3. No breaking changes.
1.0.1
Oct 12, 2026
Removed 1
Unused language files from the package.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3. No breaking changes.
1.0.0
Oct 12, 2026
Added 14
Product feeds for Google Merchant Center: unlimited feeds per country, language and currency, each with a secret URL and access key; XML (RSS 2.0, g: namespace) and TSV output.
Generation on request with a file cache (configurable lifetime) or by cron (console command and secret web cron URL); locking, atomic publish, HTTP 304 support; keyset-paginated batches with flat memory use.
Attribute mapping per feed to product fields, features, options, computed labels or fixed values, with default values and automatic detection (brand feature, GTIN/EAN/UPC features, color/size/gender/age group/material/pattern features and options).
Google category mapping page with the bundled Google product taxonomy, a search picker, inheritance from parent categories and a per-feed default.
Product variations: one item per variation with a shared item_group_id, variation links, optional variation features in titles.
Custom label generators: price band, margin band (cost feature), bestseller, new arrival, on sale, stock level, top category, vendor.
Rules: exclude, set or fill attributes on conditions (category, vendor, price, stock, units sold, margin, age, on sale, product code, features, feed attributes), per feed or global.
"Google Merchant" product tab with product-level overrides and exclusion, including child variations.
Validation report: issue counts per attribute and severity, product drill-down, fix hints; GTIN check digit, enumerations, length limits and apparel requirements checked.
Prices in any store currency with optional percentage adjustment; catalog promotions as sale_price with effective dates; flat or free-over shipping with handling and transit times; shipping weight in lb/oz/g/kg.
Promotions feed (TSV) from cart promotions, with skipped promotions and reasons, and promotion_id linking in product feeds.
Multi-Vendor: marketplace feeds, vendor filter, per-vendor feeds and optional vendor self-service feeds in the vendor panel.
CS-Cart Ultimate: feeds per storefront.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2, Multi-Vendor 4.18.3. First release.
Which format should I use, XML or TSV?
Both work. XML (RSS 2.0) is the most common and handles repeated attributes and shipping sub-attributes natively. TSV files are smaller. Promotions feeds are always TSV.
On request or scheduled?
For up to a few thousand products, On request, cached is simplest: the feed is built when Google fetches it and reused for the cache lifetime. For larger catalogs, use Scheduled (cron), so Google never waits for the build.
Can it handle large catalogs?
Yes. Products are read in batches (200 by default) and written straight to the file, so memory use does not grow with the number of products. Build time grows roughly linearly. Use scheduled generation for large catalogs.
Why are some products missing from the feed?
The validation report shows the reason. Common reasons: an error such as no image or a zero price (with Leave out items with errors on), an exclude rule, the product's Exclude from all feeds override, the category or price filters of the feed, or the product not being visible on the storefront (disabled, hidden category, user group).
Why does Google say "Missing value [gtin]"?
Map gtin to the feature that holds your EAN/UPC (the automatic source finds features named GTIN, EAN, UPC, ISBN, JAN or Barcode). For products without a GTIN, such as custom-made goods, identifier_exists is sent as no automatically when brand or MPN is also missing. You can also set it with a rule or a product override.
My prices differ from the landing page.
The feed uses guest prices with catalog promotions, like a visitor who is not logged in. Check user-group prices, the price adjustment percentage, and the currency rate. In the US and Canada prices must be without tax. In most other countries they must include VAT. If your catalog prices exclude tax, use Price adjustment.
How are variations sent?
Each variation of a CS-Cart variation group is its own item with its own link (?variation_id=), price, stock and image. All variations of the group share item_group_id (the group code). Make sure each variation has a distinct value in the attributes that differ (color, size...). The automatic source uses the variation features.
Products with options but without variations?
Options are not split into items. Option values can be sent with an Options source (for example all colors joined as Red/Blue). For Google, separate variants work best: convert option combinations to variations with the CS-Cart Product variations add-on.
Is the feed URL secret?
Yes. It contains a 24-character random key, and wrong keys return 404. If the URL leaks, use Regenerate access key and update the URL in Merchant Center. Feed files are stored under a name derived from the key, and the directory is protected.
Does it use the Content API or Merchant API?
No. Version 1.0 uses scheduled file fetches, which Google fully supports and which are not affected by the Content API sunset. Direct Merchant API sync is on the roadmap.
Local inventory ads?
Not in 1.0. A local inventory feed is on the roadmap.
Does it replace the core "Google export" add-on?
Yes. The core add-on is not needed for feeds made with Product Feed Pro. Both can run side by side.
Which languages does the admin interface support?
The admin interface ships in English. Feed texts can be in any language installed in your store.
Merchant Center reports that the feed cannot be fetched and the admin panel shows a license notice.
Open Add-ons → Manage add-ons → Product Feed Pro for Google Merchant Center → Settings → License. The status line says what is wrong: no key, a key for another add-on, a revoked license, or a domain that the license does not cover. Fix it and click Check now. See License.
Does the add-on work on my staging copy?
Yes. Subdomains of your licensed domain (for example staging.example.com) and local development hosts (localhost, private IP addresses, .local, .test) are covered by the same license.
What happens if your license server is down?
Nothing visible: the add-on keeps the last verified result and keeps working for 14 days while it retries. The admin panel shows a notice from the first failed check.
Does the license check slow down my storefront?
No. The check runs in the admin panel or from cron, once a day. The storefront only reads the stored result.