Skip to main content

Troubleshooting

The problems below account for most of the support tickets we get. Each one starts with the symptom you actually see, so scan the headings and jump to yours.

Blank page when navigating to Catalog -> Feeds

The required PHP library zf1/zend-reflection is missing.

Solution:

Install the missing library via composer:

composer require "zf1/zend-reflection"

Category filter applied, but no products in feed

Using the condition CATEGORY IS 1,2,3,4... means that only products assigned to all selected categories simultaneously will be included.

Solution:

Change the condition to CATEGORY IS ONE OF... instead.

  • Navigate to your feed settings.
  • Update the category filter condition.
  • Regenerate the feed.

Missing or incorrect required attribute [price]

Solution:

Try adding a currency directly to the price attribute in the Content settings of the feed, then regenerate it.

Before:

<g:price>{{ product.final_price }}</g:price>

After:

<g:price>{{ product.final_price }} EUR</g:price>

Alternatively, you can define the currency directly in Google Merchant Center.


Missing two out of three attributes [GTIN, Brand, MPN]

The attributes may not be set in your product data.

Solution:

Create a Dynamic attribute that ensures at least one of these values is provided. Then, use it in the <g:identifier_exists> tag.

Audience settings

Dynamic attribute

Also, you can add this dynamically to your feed.

Example:

<g:identifier_exists>{% if product.gtin or product.brand or product.mpn %}yes{% else %}no{% endif %}</g:identifier_exists>

Ensure that your feed correctly includes at least one of these attributes before regenerating.

Feed not generating automatically, but works when run manually

If bin/magento mirasvit:feed:cron (or mirasvit:feed:export) works correctly by hand but the feed is never generated on schedule, the most likely cause is a split-group crontab that omits the feed group.

The extension registers its cron jobs under the feed group. If your crontab runs separate entries for --group=default, --group=index, and --group=consumers (a common pattern on managed hosts like Hypernode), the feed group is simply never invoked.

Solution:

Add a dedicated entry for the feed group to your crontab:

* * * * * /usr/bin/php /var/www/magento/bin/magento cron:run --group=feed >> /var/www/magento/var/log/magento.cron.log 2>&1

Replace /var/www/magento with the actual path to your Magento installation.

You can verify the group name by checking vendor/mirasvit/module-feed/src/Feed/etc/crontab.xml.


Export stuck at a certain step?

  • Check if server resources (memory, CPU) are sufficient.
  • Ensure correct permissions for the export directory.
  • Check the message tab for more details.

Google Merchant Center upload is unavailable / disabled

The Google Merchant Center section on the feed edit page shows an install banner, and the Submit to Google Merchant Center button is disabled.

Cause:

The integration depends on the optional google/shopping-merchant-datasources Composer package, which is not installed by default and requires PHP 8.1+.

Solution:

From your Magento root, run:

composer require google/shopping-merchant-datasources:^1.2
bin/magento setup:di:compile
bin/magento cache:clean

If you are on PHP 7.4 or 8.0, upgrade PHP first. See the Google Merchant Center page for the full setup walkthrough.


Google Merchant Center upload fails with "NOT_FOUND"

This typically happens once, immediately after creating a brand-new data source - Google's read replicas have not yet replicated the create operation.

The extension automatically retries the fetch trigger up to three times with exponential backoff, so transient NOT_FOUND errors resolve themselves. If the error persists across multiple manual submissions:

  1. Open the feed and clear the Data source name field (under the Google Merchant API tab).
  2. Save the feed.
  3. Click Submit to Google Merchant Center again - the extension will register a new data source.