Get Started
Batch size configuration product feed - AdTribes
  1. Home
  2. Knowledge Base
  3. Common Feed Problems
  4. Batch size configuration product feed

Batch size configuration product feed

Large catalogs can make Product Feed Pro generation slow, or push it past your server’s time and memory limits. To avoid that, the plugin splits feed generation into batches and processes one batch at a time. This article covers how the plugin picks a batch size automatically, how it self-tunes as your feed runs, and how to set a manual batch size if you ever need a fixed value.

How the plugin picks a batch size

Before any run, Product Feed Pro estimates a starting batch size from your store’s published product count:

Published productsStarting batch size
Up to 1,000200 products per batch
1,001 to 5,000300 products per batch
5,001 to 10,000500 products per batch
10,001 to 50,0001,000 products per batch
Over 50,0001,500 products per batch

From Product Feed Pro 13.5.7, this table is only a starting point. The plugin then self-tunes the batch size while the feed runs, described below. A feed’s very first run is also capped at 500 products per batch regardless of catalog size, so a first guess is never too large for an untested host.

Adaptive batch sizing (Product Feed Pro 13.5.7+)

Starting with Product Feed Pro 13.5.7, feed generation no longer sticks to one fixed batch size for the whole run. Every batch is timed and its peak memory use measured, and the next batch is sized from what your host just proved it can handle. This is a Product Feed Pro core feature, so it applies whether or not Product Feed Elite is active.

Time budget: Each batch targets 60% of a time budget calculated from your server’s own limits, so a slow host still makes steady progress instead of timing out.

Growth and memory: The batch size can grow by up to 2x per step, but shrinks as much as needed. If a batch’s peak memory use gets close to your host’s memory limit, the next batch is cut in half immediately, regardless of timing.

Learning across runs: Once a batch completes fully within its time budget, the plugin saves that size for the feed. The next run starts near that learned size instead of back at the table above, so repeated runs on the same host keep getting more efficient.

Crash recovery: If a batch crashes (times out or exhausts memory), the plugin halves the batch size and sets a temporary ceiling so future batches don’t retry at the size that just failed. Each fully completed run afterward raises that ceiling by 25%, so it recovers gradually rather than jumping straight back to the old size.

Benchmark: On an 18,201-product Google Shopping feed, adaptive batch sizing cut a first run from 19 batches down to 5 or 6, and a warm-started run down to 2, for roughly 19% to 24% faster generation. The gain comes from removing repeated WordPress bootstraps between batches, not from faster per-product processing, so the benefit is largest on low-traffic stores where each batch already waits on WP-Cron. For the full picture on large catalogs, see Ultimate guide to scaling feeds for 10K+ products.

Setting a manual batch size (below) disables adaptive sizing entirely. If you turn on Change products per batch number and enter a number, that number always wins, and the controller never runs. Leave the batch size unset unless you already know your host needs a fixed value.

Set a manual batch size

Adaptive sizing works well for most stores. Set a manual batch size only if you already know your host has a hard constraint, for example, a shared host with a strict memory cap that you want to stay well under.

The Product Feed plugin settings showing the Change products per batch number option
  1. Go to Product FeedSettings.
  2. On the General tab, enable Change products per batch number.
  3. Enter your desired value in the Insert batch size: field that appears.
  4. Save your settings.
The Change products per batch number checkbox and Insert batch size field on the Product Feed Settings General tab

The new value is saved automatically and used starting with the next refresh, manual or scheduled.

Enabling Change products per batch number also disables HTTP-triggered batch processing by default, so batches only continue through Action Scheduler or server cron instead of a browser request. If you need HTTP-triggered batches back, use the Disable HTTP feed generation requests setting to control that separately. See What Does “Disable HTTP Feed Generation Requests” Do?

Choosing a value: Start lower (100-300) if your feed times out or hits a memory error, and raise it (1,000+) only once you’ve confirmed your server handles the current size without errors. Always test again after changing it.

Feeds parked after repeated crashes

If a feed’s scheduled generation crashes 3 times in a row, Product Feed Pro pauses that feed’s automatic runs and shows an admin notice in wp-admin so it doesn’t keep failing silently in the background. This only pauses scheduled (cron) generation, not a manual refresh you trigger from the Manage Feeds page.

To recover, either lower the batch size manually (above) or simply trigger a manual refresh. A single fully completed run clears the crash count, removes the admin notice, and lets scheduled generation resume.

Checking batch decisions in the logs

Product Feed Pro writes two different kinds of entries to WooCommerce → Status → Logs under the woo-product-feed-pro source:

  • Crash and parked-feed warnings appear unconditionally. You don’t need to turn anything on to see them.
  • Per-batch sizing decisions (the size chosen for each batch, and why) only appear if you’ve turned on Enable logging in the plugin’s settings.

If a feed keeps getting parked, check WooCommerce → Status → Logs even if you haven’t enabled logging. Turn logging on only if you need the batch-by-batch detail.

Troubleshooting

Changing the batch size doesn’t seem to do anything
This happens if Change products per batch number isn’t enabled, or the Insert batch size: field is empty or non-numeric. Without both, Product Feed Pro ignores the manual value and falls back to adaptive sizing (or the starting table on versions before 13.5.7).
My feed still gets stuck or times out
Try a smaller manual batch size, and confirm your server’s max_execution_time and memory limit are high enough for your catalog. See Help, my feed won’t update or is stuck processing! for the full diagnosis steps.
A feed shows a “parked” notice in wp-admin
The feed crashed 3 scheduled runs in a row. Lower the batch size manually, then trigger a manual refresh from Manage Feeds to clear the notice and let scheduled generation resume.

FAQ

Does adaptive batch sizing require Product Feed Elite?
No. Adaptive batch sizing is a Product Feed Pro core feature. It works the same whether or not Product Feed Elite is active.
Can I go back to a fixed batch size after trying adaptive sizing?
Yes. Enable Change products per batch number and enter a value, as described above. This disables adaptive sizing immediately for that feed.
Will a manual batch size that’s too large cause problems?
It can. A manual value skips the adaptive controller’s memory and time guards entirely, so an oversized manual value can still time out or exhaust memory. Lower it if that happens.

Need more help?

If you’re on Product Feed Elite, open a support ticket, and our support team will help you tune batch size for your setup.

If you’re using the free Product Feed Pro plugin, open a new topic in the WordPress.org support forum.

Was this article helpful?

Related Articles

Complete Your Purchase
AdTribes WooCommerce Product Feed

The best WooCommerce product feed plugin

  • AdTribes Pty Ltd
    ABN: 40 675 636 816
Product
Resources & Info
Partner Sites
Rymera