> For the complete documentation index, see [llms.txt](https://ctracker-docs.keywordrush.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ctracker-docs.keywordrush.com/ai-and-seo/bulk-generation.md).

# Bulk generation

Writing for one shop is a button. Writing for four hundred is this.

### Starting a run

`Cashback Tracker` → `Shop catalog` → **Generate**, or the equivalent on the Coupons screen.

You choose:

* **What to write** — which of the four shop fields, or which coupon fields
* **How many** — the run's cap

Then it works through them in the background. You can close the browser.

### Anything already written is skipped

A bulk run **fills gaps**. A shop whose description you wrote yourself is left exactly as it is.

That makes bulk generation safe to run more than once: do a run, add more shops next month, run it again, and only the new ones cost you anything.

{% hint style="info" %}
It also means bulk generation will not fix text you dislike. To replace something already written, clear the field first, or regenerate that shop by hand.
{% endhint %}

### The cap

`Settings` → `AI` → **Bulk limit** sets the most items any single run may process. The run's own cap cannot exceed it.

It exists because this spends your money without asking again. A filter that matched more shops than you expected is an expensive thing to discover halfway through, and the cap is what makes that discovery cheap.

Set it to a number you would not mind spending twice.

### Watching it

A progress strip shows how far through it is, and updates as it goes. It reports what was written, what was skipped, and what failed.

**Stop** ends the run. Everything already written is kept — stopping is not undoing.

### If it stops on its own

A run gives up after several failures in a row rather than working through your whole catalogue failing.

That is nearly always the provider: an expired key, a spending limit reached, a model that no longer exists. `Cashback Tracker` → `Logs` has what the provider actually said.

Fix that, and start a new run. The shops already done are skipped, so you do not pay twice.

### If it is interrupted

A run that stops because of a server restart or a fatal error is reported as abandoned rather than sitting there looking busy for ever.

Nothing is lost. Start a new run: what was written is skipped.

### Doing it well

**Start small.** Run twenty shops before four hundred. Read them. Adjust your **Shop instructions**. Then do the rest.

**Do the shops that matter first.** Filter the catalogue to the shops with pages, or to one network, and generate for those. A description on a shop nobody visits earns nothing.

**Not every shop needs one.** A catalogue where every page has AI text and none has traffic is money spent for nothing. Shops you would write about by hand are the ones worth generating for.

{% hint style="warning" %}
Generated descriptions are drafts. Publishing four hundred unread is how a factual error about a merchant ends up on your site — and search engines are not kind to a catalogue of near-identical pages either. Read at least a sample from every run.
{% endhint %}

### Related

* [Setting up AI](/ai-and-seo/setting-up-ai.md)
* [Writing shop pages with AI](/ai-and-seo/shop-descriptions-and-metadata.md)
* [Rewriting coupons with AI](/ai-and-seo/coupon-rewrites.md)
