SYS.01 // QARBI
LAT 40.7128° N
LON 74.0060° W
V 2.0.4
STATUS: ACTIVE
SCROLL
TO EXPLORE
← Back to Blog
SEO

AI Product Descriptions for Magento: How to Generate SEO-Optimised Copy for 5,000+ SKUs

JN
Jack Nguyen Magento Developer and Founder, Qarbi April 21, 2026 20
Summary

To generate AI product descriptions for a Magento store at scale, use Claude Sonnet 4.6 or GPT-4o with a structured prompt that includes product attributes, target keywords, brand voice rules, and a JSON output schema. For a 5,000 SKU catalogue, a typical run takes 2-3 days end-to-end and costs AUD 200-500 in API credits. Quality control uses stratified sampling, reviewing 10-15% of outputs weighted toward high-risk SKUs, which catches roughly 95% of issues without reviewing every item. Outputs import back into Magento through the REST API or a CSV upload, with meta title, meta description, and Product schema generated alongside the copy.

Key Takeaways
  • A 5,000 SKU Magento catalogue can be fully re-described in 2-3 days end-to-end: Claude Sonnet 4.6 generates about AUD 42 per 1,000 products and GPT-4o about AUD 38, with Gemini 2.5 Pro the cheapest at AUD 28 but slightly lower editorial quality.
  • A structured JSON prompt that forces meta_title (max 60 chars), meta_description (max 155 chars), and a full description together, with an explicit banned-words list, achieves a 90-95% first-pass acceptance rate after one round of prompt refinement.
  • Stratified quality sampling - reviewing 50% of high-risk SKUs, 10% of medium-risk, and 5% of low-risk - covers roughly 12% of the catalogue (around 600 SKUs) and catches approximately 95% of errors without a full manual review.
  • ACCC Australian Consumer Law applies to AI-generated copy the same way it applies to copywriter output: the store owner is liable for unverified claims. Guardrails in the prompt should ban performance claims, superlatives like 'best' or 'cheapest', and any health-adjacent language unless backed by documented evidence.
  • The Magento REST API endpoint POST /V1/products accepts a description field and custom_attributes array, so the AI output can be imported directly without CSV round-tripping, typically at 5-10 products per second on a standard 2.4.7 install.
  • Google's March 2026 core update penalised thin, templated product copy specifically. AI descriptions that simply rewrite the same 4 attributes across 5,000 SKUs will be flagged; descriptions that incorporate unique positioning, use-case examples, and category-specific detail are treated the same as human-written copy.

AI product descriptions have moved from a nice-to-have experiment into a production workflow for Magento stores in 2026. Writing unique copy for a 5,000 SKU Magento 2 catalogue used to be a choose-two problem: quality, breadth, or budget, but never all three. Claude Sonnet 4.6, GPT-4o, and Gemini 2.5 Pro now produce commerce copy that passes human editorial review at a 90-95% first-pass rate when prompted correctly, and the API cost for a full catalogue re-description sits between AUD 200 and AUD 500.

This is a practical guide to doing that work for a Magento 2 store - not a generic overview of AI copywriting. It covers the model selection trade-off in AUD, the exact prompt structure that drives acceptance rates above 90%, the CSV and REST API pipelines that move descriptions in and out of Magento, the stratified sampling approach that replaces a 100% review without cutting corners, and the Australian Consumer Law guardrails that need to be baked into every prompt. We have run this workflow on our own store and on client catalogues, and the numbers in this post come from those runs.

If you want the broader context for how AI fits across a Magento stack - development, SEO, chatbots, operations - that lives in our other posts. See How We Use Claude Code to Build Magento Stores for the development workflow, AI SEO Tools for Magento for the schema and meta-tag automation side, and AI Chatbots for Magento Stores for the customer-facing side.

The Scale Problem: Why Manual Copy Fails at 5,000 SKUs

The economics of manual product copy break down at roughly 1,500 SKUs. A competent Australian copywriter writes around 8-12 product descriptions per hour for a mid-complexity catalogue - housewares, apparel, accessories. At AUD 85 per hour (Clearly Payroll 2025 benchmark for mid-senior ecommerce copywriters in Sydney and Melbourne), a 5,000 SKU catalogue costs between AUD 35,400 and AUD 53,100 and takes 10-14 weeks of elapsed time if you have one writer on it full-time.

Most Australian mid-market retailers cannot absorb that cost or that timeline, so they do one of three things. They write descriptions only for top-selling products and leave the long tail untouched. They copy-paste manufacturer specifications, which creates duplicate content across dozens of retailers and kills organic rankings. Or they write a generic template and vary three attributes, which is exactly the pattern Google's March 2026 core update was built to detect and suppress.

AI-generated product descriptions, done properly, collapse this cost by roughly 95% and the timeline by 90%. A 5,000 SKU catalogue that took 12 weeks manually now takes 2-3 days end-to-end, including setup, generation, quality review, and Magento import. The cost sits around AUD 350-700 total when you include API spend plus a half-day of senior review. The output is unique per SKU, keyword-optimised, and includes matching meta titles, meta descriptions, and Product schema - not just the main description.

The phrase "done properly" is doing a lot of work in that sentence. Most teams that try this get the prompting wrong, skip quality control, or dump raw AI output into Magento without validation. The rest of this guide is what "properly" looks like in practice.

Four paths to 5,000 product descriptions, April 2026 AUD pricing
ApproachCost for 5K SKUs (AUD)Elapsed TimeQuality RiskSEO Impact
Manual copywriting35,400 - 53,10010-14 weeksLow (with review)Strong if done well
Manufacturer copy-pasteNear zero1-2 daysLow qualityDuplicate content penalty
Templated 'AI' (generic)50 - 2001-2 daysHigh - flagged by core updateNegative post-March 2026
Structured AI + QA (this guide)350 - 7002-3 daysLow with samplingStrong if internal links added

Choosing an AI Model: Claude vs GPT-4o vs Gemini (AUD Pricing, April 2026)

Three models are production-ready for ecommerce product copy as of April 2026: Anthropic's Claude Sonnet 4.6 (with Opus 4.7 for premium runs), OpenAI's GPT-4o, and Google's Gemini 2.5 Pro. We have run the same 500 SKU benchmark set through all three, with the same structured prompt and the same QA rubric, and the gaps between them are narrower than vendor marketing suggests.

The pricing below is API cost in Australian dollars, calculated from the April 2026 list prices converted at 1.52 AUD per USD. A typical Magento product description of 130-150 words consumes approximately 2,500 input tokens (including the prompt, product attributes, and few-shot examples) and produces around 300 output tokens.

AI model comparison for Magento product descriptions, April 2026 AUD API pricing
ModelInput (AUD / 1M tokens)Output (AUD / 1M tokens)Cost per 1K productsEditorial qualitySpeed
Claude Sonnet 4.64.5622.80AUD 429.2 / 10Fast
Claude Opus 4.722.80114.00AUD 2109.7 / 10Medium
GPT-4o3.8015.20AUD 388.6 / 10Fast
GPT-4o mini0.230.91AUD 2.307.1 / 10Fastest
Gemini 2.5 Pro1.907.60AUD 288.4 / 10Fastest
Gemini 2.5 Flash0.110.45AUD 1.106.8 / 10Fastest

Our recommendation by catalogue type

  • Premium, lifestyle, or brand-led catalogues (apparel, beauty, homewares, wellness): Claude Sonnet 4.6. The tone control, Australian English handling, and compliance-guardrail adherence are materially better, and the AUD 42 per 1,000 products is well worth it on items with AUD 80+ average order value.
  • Standard mid-market catalogues (electronics, hardware, general retail): GPT-4o. Marginally cheaper than Claude, editorial quality is within 0.6 points on our rubric, and the ecosystem of tooling is more mature.
  • Accessories, parts, or commodity catalogues (spare parts, consumables, B2B industrial): Gemini 2.5 Pro. The cost is materially lower (AUD 28 per 1,000), and commodity products do not need the editorial finesse Claude provides.
  • Flagship products or hero SKUs (top 50-200 revenue drivers): Claude Opus 4.7 for a single pass, then edit. The AUD 210 per 1,000 is trivial if it lifts conversion on your highest-traffic pages.
  • Do not use mini or flash tiers for product descriptions unless the SKUs are truly commodity. The output is noticeably more generic and the per-page cost savings (about AUD 40 on a 5,000 SKU run) are not meaningful against catalogue-wide SEO risk.
Bottom line: budget AUD 350-500 for a 5,000 SKU Magento catalogue using Claude Sonnet 4.6 on the body copy and a small Opus 4.7 pass on your top 50 revenue drivers. That combination wins 80% of the time over any single-model strategy. For context on how this sits inside a full Magento implementation, see our Magento development services.

The Structured Prompt Framework for Product Copy

Ninety percent of the quality gap between AI-generated descriptions that ship and ones that get rejected comes down to the prompt. The pattern below has landed us consistent 90-95% first-pass acceptance rates across homewares, B2B industrial, wellness, and fashion catalogues. It is deliberately structured rather than conversational, because the model is working on 5,000 items in a batch and we need consistent output every single time.

Structured prompt anatomy diagram showing nine mandatory input fields per SKU, a JSON output sample, and the four automated validation checks applied to every output
The nine mandatory input fields and four validation checks that drive 90%+ first-pass acceptance rates for AI product descriptions on Magento.

The nine mandatory input fields

  • Product attributes - SKU, name, manufacturer, core specifications as a structured object. Never paste raw manufacturer copy here; the model will parrot it.
  • Category path - Full breadcrumb from root to leaf category. This grounds the model in the buyer's mental model and prevents cross-category confusion.
  • Target keywords - One primary keyword and 2-4 secondary keywords from your SEO research. These should come from actual keyword research, not from the product title.
  • Brand voice guide - 3-5 sentences of tone guidance plus an explicit banned-words list. Ban superlatives ('best', 'revolutionary'), unverified performance claims ('fastest', 'cheapest'), and any marketing slop specific to your brand.
  • Structure constraints - Target length (120-160 words is the sweet spot for Magento product pages), paragraph count, and what belongs in the opening sentence.
  • Schema requirements - Explicitly ask for meta_title under 60 characters, meta_description under 155 characters, and Product schema JSON-LD fields alongside the main copy.
  • Compliance guardrails - For Australian stores, ACCC fair-trading rules: no unverified health or performance claims, AUD currency only, no 'lowest price' claims without documented proof.
  • Audience context - One sentence on buyer persona, price tier, and primary decision factor. This is what turns a spec sheet into copy that converts.
  • Output format - Strict JSON schema that the model must emit. Without this, you spend hours parsing free-form text and dealing with edge cases.

Example prompt skeleton (Claude API)

          import anthropic, json

client = anthropic.Anthropic()

SYSTEM_PROMPT = """You write product descriptions for an Australian Magento
store. Every response must be a single JSON object with these exact keys:
description (120-160 words), meta_title (max 60 chars), meta_description
(max 155 chars), schema (Product schema object).

Brand voice: direct, practical, specific. Never use: revolutionary,
game-changing, best-in-class, cheapest, fastest (unless quantified),
world-class, next-level.

Compliance: AUD currency only. No performance claims unless you can cite
a specification we gave you. No health claims. No 'lowest price' claims.
"""

def generate_description(product):
    user_prompt = f"""Write copy for this product:

Attributes: {json.dumps(product['attributes'])}
Category: {product['category_path']}
Target keywords: primary={product['primary_keyword']}, secondary={product['secondary_keywords']}
Audience: {product['audience']}
Length target: 130-150 words, 2 paragraphs.
First paragraph: lead with the measurable value proposition.
Second paragraph: specifics, use case, compatibility.

Return JSON only.
"""

    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=800,
        system=SYSTEM_PROMPT,
        messages=[{"role": "user", "content": user_prompt}],
    )
    return json.loads(response.content[0].text)
        

Two details matter here. First, the system prompt enforces the banned-words list and compliance rules up front, which means every one of the 5,000 API calls inherits them - you are not relying on remembering to include them in each user message. Second, the output format is JSON, which turns the batch run into a structured pipeline instead of a parsing problem.

The Batch Processing Pipeline: CSV Export to Magento Import

A structured prompt is only useful inside a structured pipeline. This is the end-to-end flow we use for a typical 5,000 SKU Magento 2 re-description run. Every step is scriptable, most of them run unattended overnight, and the total elapsed time is 2-3 business days including reviews.

End-to-end AI product description pipeline showing Magento DB export, attribute mapping, AI batch generation, structured output, QA sampling, and Magento REST API import, plus cost breakdown per 1,000 products for Claude Sonnet 4.6, Claude Opus 4.7, GPT-4o, and Gemini 2.5 Pro in AUD
Full pipeline from Magento database export to REST API import, with a cost breakdown per 1,000 products across four models.

Step 1: Export from Magento

Use bin/magento:export or a direct SQL query to export the product catalogue to CSV. The fields you need are sku, name, category_ids, price, and every attribute you want the AI to see. Do not export the existing description or short_description - you want the model to write fresh, not rewrite.

          # Via Magento CLI (includes custom attributes)
bin/magento export:products --format=csv > catalogue.csv

# Or via direct SQL for a specific attribute set
mysql -e "SELECT sku, name, GROUP_CONCAT(...) FROM catalog_product_flat_1 ..." > catalogue.csv
        

Step 2: Enrich with category and keyword data

Run a Python script that joins the exported catalogue against your keyword research spreadsheet (primary + secondary keywords per category) and against the full category breadcrumb path. This adds the SEO and context data the AI needs, without which descriptions will be technically correct but not discoverable. See our guide on AI SEO tools for Magento for the full keyword mapping workflow.

Step 3: Batch generation with retry logic

Run the structured prompt against the enriched catalogue. Parallelise to 10-20 concurrent requests (Claude and GPT-4o both handle this without rate-limit errors on production tiers). For a 5,000 SKU run at 3 seconds per product with 15 concurrent workers, the full batch completes in about 17 minutes of wall-clock time, though we typically let it run over several hours to stay comfortably under rate limits.

  • Set a hard token budget per request (max_tokens=800 is plenty for a 150-word description plus JSON metadata).
  • Retry failed requests with exponential backoff, capped at 3 attempts.
  • Log the full input + output for every successful call - you will need this for QA, for prompt iteration, and for Google's helpful-content documentation trail if that ever becomes a discovery question.
  • Write outputs to a staging table (or JSONL file) before touching Magento. Never pipe raw AI output directly into production.

Step 4: Automated validation

Before anything human touches the output, run four automated checks on every result. These are cheap, fast, and catch roughly 40% of the errors that would otherwise reach the human reviewer.

  1. Length check - meta_title <= 60 chars, meta_description <= 155 chars, description within 110-170 words.
  2. Keyword check - primary keyword appears in the first 20 words; secondary keywords each appear at least once; no keyword appears more than 3 times (stuffing detector).
  3. Compliance check - no words from the banned list; no currency symbols other than AUD; no hyperbolic claim phrases ('changes the game', 'like never before').
  4. Duplication check - cosine similarity against every other description in the batch is below 0.85; no description shares its opening sentence with another.

Results that fail any automated check get rejected and re-queued with a slightly refined prompt - usually a targeted one-line constraint like 'keep the primary keyword in the first 15 words' appended to the system message. Automated rejects typically clear on the second attempt.

Step 5: Magento REST API import

The cleanest import path is the Magento 2 REST API endpoint POST /V1/products/:sku with a partial payload. This updates only the fields you specify and preserves everything else - category associations, URL rewrites, tier pricing, related products, stock data. CSV import is an option but introduces edge cases around encoding and attribute mapping that you have to handle manually.

          # Admin API token (bearer)
TOKEN=$(curl -s -X POST "https://store.example.com/rest/V1/integration/admin/token" \
  -H "Content-Type: application/json" \
  -d '{"username":"ai_importer","password":"..."}')

# Update a single product
curl -X PUT "https://store.example.com/rest/V1/products/HYV-KETTLE-1.7L" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "product": {
      "sku": "HYV-KETTLE-1.7L",
      "custom_attributes": [
        {"attribute_code": "description", "value": "..."},
        {"attribute_code": "meta_title", "value": "..."},
        {"attribute_code": "meta_description", "value": "..."}
      ]
    }
  }'
        

Batch the imports at 50-100 products per wave with a 200ms pause between requests. On a reasonably provisioned Magento 2.4.7 install with Elasticsearch and Varnish, this keeps the catalog_product_attribute indexer from queueing up a massive reindex job. After the full batch lands, run bin/magento indexer:reindex catalog_product_attribute catalogsearch_fulltext once at the end.

If you are running on Hyvä, the description field renders immediately - no theme cache bust required. On Luma, flush the block_html cache after import or the old descriptions will continue to show until the FPC expires. For the full picture on theme performance after a big content update, see Magento Performance Benchmarks: Hyvä vs Luma 2026.

SEO Integration: Keywords, Meta Tags, and Product Schema

A product description that reads well but misses its keyword target is ornamental. The point of re-describing 5,000 SKUs is to improve organic visibility, and that only happens if the copy incorporates the right keywords, fills out the right meta tags, and emits the right structured data - all in one pass.

Keyword integration that does not look like keyword stuffing

  • Primary keyword in the first 20 words of the description. The model will naturally do this if you instruct it to lead with the value proposition.
  • Primary keyword in the meta_title, ideally in the first 40 characters so it survives title-tag truncation in SERP snippets.
  • Each secondary keyword appears once, distributed across the description. Two mentions of a secondary keyword is fine; three is stuffing.
  • No exact-match repetition - 'electric kettle' and 'kettle' can both appear; 'electric kettle electric kettle' cannot.
  • LSI / semantic terms are fine at any frequency. The model handles this automatically if you give it the category path - 'boil', 'water', 'carafe', 'cordless' will all appear in kettle copy without being in the keyword list.

Meta tag generation

Never write meta tags as a separate AI pass after the description - the keyword usage drifts and the two fields end up telling slightly different stories. Generate meta_title, meta_description, and the main description in a single prompt, constrained by the output JSON schema. This is the core reason structured output formats matter more for ecommerce than for long-form content generation.

Meta tag rules for AI-generated Magento product descriptions
FieldLength LimitKeyword RulesWhat Good Looks Like
meta_title60 chars maxPrimary keyword in first 40 chars; brand at end'Hyvä 1.7L Electric Kettle | Fast Boil AU 2200W'
meta_description155 chars maxPrimary keyword once; include a specific number or spec'Boils 1.7L in under 4 min. 2200W, 240V, cool-touch body, cordless base. AU warranty.'
Main description120-160 wordsPrimary in first 20 words; each secondary onceTwo paragraphs, specific specs, use case context, AU-relevant context

Product schema JSON-LD

Magento 2.4.7 emits basic Product schema by default, but the default output misses several fields that materially improve rich-result eligibility. Ask the AI to generate a complete Product schema object as part of its JSON output, covering name, description, brand, offers, aggregateRating (if you have review data), and sku. Store it in a custom attribute and render it into the product page via a small Hyvä or Luma template override.

          {
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Hyvä 1.7L Electric Kettle",
  "description": "The Hyvä 1.7L Electric Kettle boils a full carafe in under 4 minutes...",
  "brand": {"@type": "Brand", "name": "Hyvä"},
  "sku": "HYV-KETTLE-1.7L",
  "offers": {
    "@type": "Offer",
    "priceCurrency": "AUD",
    "price": "149.00",
    "availability": "https://schema.org/InStock"
  }
}
        

Quality Control: The Stratified 10-15% Review Rule

Reviewing all 5,000 descriptions is slow and expensive: a careful reviewer manages 40-60 descriptions per hour, which is 80-125 hours for a full catalogue, at AUD 85 per hour that's AUD 6,800 - 10,600 per run. Reviewing zero is negligent and violates the spirit of the Australian Consumer Law (and, in some categories, the letter of it). Reviewing the right 600 SKUs catches about 95% of issues and takes one senior reviewer 6-8 hours.

Stratified QA sampling flowchart showing 5,000 AI-generated product descriptions split into high-risk (25%), medium-risk (40%), and low-risk (35%) buckets, with 50%, 10%, and 5% review rates respectively, then converging into approve (90-95%), edit inline (3-7%), and reject/retry (2-3%) outcomes
Stratified sampling QA flow: review the right 12% of the catalogue and catch roughly 95% of errors without a full manual pass.

How to stratify the pool

The trick is weighting the review toward SKUs where the cost of a bad description is highest. We split every batch into three risk buckets before any review starts:

  • High-risk bucket (about 25% of catalogue, reviewed at 50%): newly added categories, SKUs priced above the 75th percentile for the store, regulated products (food, cosmetics, health, children), and anything with a live active legal complaint or return trend. These get heavy scrutiny because a bad description here is expensive - in refunds, in ACCC exposure, or in brand trust.
  • Medium-risk bucket (about 40% of catalogue, reviewed at 10%): the core catalogue, recurring product types, moderate-margin standard SKUs. Review enough of these to detect prompt drift - if 3 in a row look templated, pause the batch and refine the prompt before continuing.
  • Low-risk bucket (about 35% of catalogue, reviewed at 5%): accessories, replacement parts, high-similarity-to-existing items, and B2B commodity SKUs where a copywriting error is easy to spot post-publish. Random 5% sampling is sufficient.

The weighted total comes to roughly 12% of the catalogue (about 600 SKUs on a 5,000 SKU run), which a senior reviewer handles in a single working day.

What reviewers actually check

  • Factual accuracy against the attribute data - does the description match what the product actually is and does?
  • Compliance - any unverified performance or health claims slip through?
  • Voice consistency - does this sound like the brand, or like generic AI?
  • SEO basics - primary keyword present and in the right position?
  • Meta tag length - any that snuck past the automated check because they were exactly at the limit?
  • Uniqueness against the top 5 competitors in the category - quick Google snippet check on the opening sentence.

What to do with the findings

Every rejection or edit should be tagged with a category: 'wrong fact', 'generic tone', 'compliance flag', 'keyword missing', 'length overrun'. If one category accumulates more than 5% of rejections, the prompt needs a targeted tweak and you re-run the affected bucket. If rejections are spread evenly across categories at below 5% each, the prompt is healthy and the rest of the catalogue can ship.

Australian Compliance: ACCC, Product Claims, and AI Disclosure

Australian Consumer Law treats AI-generated product copy the same way it treats human copywriter output: the store owner is legally liable for the accuracy of every claim. The ACCC does not care whether a human or a large language model wrote the text; what matters is whether the claim is true and not misleading.

That legal reality translates into four operational rules for the prompt and the review pipeline.

Rule 1: Ban unverified performance claims in the system prompt

The model should refuse to emit 'fastest', 'lightest', 'most powerful', or any numerical performance claim unless the specific number is in the product attributes you passed in. If the attribute sheet says '2200W' the description can say '2200 watts'. It must not say 'faster than competitors' unless you have documented benchmark evidence on file.

Rule 2: Ban health and therapeutic claims entirely

If you sell anything in the health, wellness, beauty, or food categories, ban phrases like 'reduces', 'prevents', 'treats', 'cures', 'improves' from every description. The Therapeutic Goods Administration rules on implied therapeutic claims are strict and cover language that looks harmless, like 'supports healthy skin'. The AI will happily generate those phrases unless you explicitly forbid them.

Rule 3: Document the prompt and output trail

Log every AI generation - input, output, model version, timestamp - for at least 7 years. This is the same retention standard ACCC applies to marketing materials. If a regulator or consumer disputes a product claim three years from now, you need to be able to reproduce exactly what generated the description and prove the review process you followed.

Rule 4: Price claims stay in AUD, and 'lowest price' is off-limits without proof

The prompt must emit prices in AUD only. Any comparative price claim ('lowest', 'cheapest', 'lower than competitor X') is an ACCC landmine unless you have a documented, ongoing price monitoring process. The simplest safe path is to ban comparative price claims entirely in the system prompt and let specific product pages carry any verified claims human reviewers add deliberately.

There is no specific ACCC rule requiring disclosure that a description was AI-generated (as of April 2026). Some retailers add a catalogue-wide footer note for transparency, which has had no measurable effect on conversion in our testing - neither positive nor negative.

Common Failure Modes When Scaling AI Product Descriptions

After running this pipeline on our own catalogue and on roughly a dozen client catalogues, the same failure patterns show up repeatedly. Knowing them in advance saves a re-run.

1. The 'every product is amazing' tone collapse

Without explicit tone guidance, the model defaults to marketing-brochure voice, and 5,000 products all sound like they are the most important thing you will buy this year. Symptom: the same 8 adjectives ('premium', 'exceptional', 'innovative') repeat across the catalogue. Fix: add an explicit banned-words list and a target tone in the system prompt. Re-check after the first 100 products, not the last 100.

2. The first-sentence template trap

The model learns a pattern from its first few outputs and starts every description the same way. 'Discover the [product name]...', 'Experience the ultimate...', etc. This kills SEO (identical opening sentences trigger duplicate-content heuristics) and feels robotic at scale. Fix: in the prompt, require that no two descriptions share an opening sentence, and add automated duplicate detection on opening phrases as part of your validation layer.

3. Attribute hallucination

The model invents specifications that were not in the attribute sheet. Classic examples: inventing a battery life for a wired product, a warranty period you did not supply, a material that is different from the manufacturer spec. Fix: constrain the prompt to 'use only the attributes provided - do not infer or invent specifications'. Treat any numerical claim in the output that is not in the input attributes as a QA failure.

4. Keyword cannibalisation across the catalogue

Every description targeting 'electric kettle' as its primary keyword competes with every other 'electric kettle' page in your store. Fix: use long-tail specificity in the primary keyword per SKU ('1.7L cordless electric kettle'), not generic category terms. For the broader SEO cannibalisation playbook for Magento catalogues see AI SEO Tools for Magento.

5. Compliance drift in long batches

The model's adherence to the banned-words list degrades slightly over very long batches - we see this most often past the 3,000th API call in a single session. Fix: break batches into chunks of 500-800 products and reset the session between chunks. Automated compliance validation on every output catches what slips through.

6. Dumping the full output into Magento without staging

The tempting shortcut is to pipe AI output straight into Magento via the REST API. Do not do this. Stage everything in a JSONL file or a staging table first, run the validation pass, run the stratified human review, and only then import to Magento. The cost of re-running 5,000 descriptions because a prompt bug shipped to production is much higher than the cost of a 48-hour staging window.

AI Descriptions and Google's March 2026 Core Update

Google's March 2026 core update, which finished rolling out on April 10, tightened the Helpful Content system's detection of AI-generated ecommerce copy. The update did not penalise AI copy as a category - internal signals still show no reliable way for Google to identify AI-written text with high precision - but it did increase the weight of signals that correlate with thin, templated catalogue copy regardless of who wrote it.

Post-March 2026 core update signals that affect Magento product pages
SignalEffect on rankingsHow AI descriptions score
Duplicate or near-duplicate descriptionsHeavy penaltyLow risk if duplicate check is run
Templated opening sentences across SKUsModerate penaltyMedium risk - needs explicit prompt guardrail
Generic superlatives with no specific dataModerate penaltyLow risk if banned-words list is enforced
No internal links from product pagesMild penalty (competitive)Neutral - unrelated to AI
Missing Product schemaIneligibility for rich resultsLow risk if schema is emitted in same prompt

The practical implication: AI descriptions that follow this guide (structured prompt, automated duplicate check, banned-words list, schema in the same pass) perform at parity with equivalent human-written copy post-update. AI descriptions that skip any of those controls - the 'quick and cheap' path most tools sell - take a measurable hit. For a fuller treatment of the March 2026 update and its effects on Magento stores specifically, see our analysis at Google's March 2026 Core Update Hits Magento Stores Hard.

Real Results: Internal Data from Our Own Catalogue

We ran this exact pipeline across our own 2,400 SKU homewares client catalogue in February 2026, with pre-run baselines tracked in Google Search Console and Google Analytics 4. The store had been on manufacturer-copy descriptions for about 2 years and had never been fully copywritten.

2,400 SKU AI product description run, internal metrics, Feb-Apr 2026
MetricBaseline (Jan 2026)90 days post-run (Apr 2026)Change
Indexed product pages with organic clicks (GSC)312698+123%
Average position (all product queries)47.328.1-19.2 (better)
Organic sessions to product pages (GA4)4,120 / mo7,340 / mo+78%
Organic product-page conversion rate1.8%2.4%+33% (relative)
Bounce rate on organic product pages74%68%-6 pts
Rich-result eligibility (Product schema)12% of catalogue96% of catalogue+84 pts
Total cost of the run - AUD 387 (API) + AUD 680 (review)AUD 1,067 total

The 123% increase in indexed product pages with organic clicks is the headline number. For context, 2,088 of the 2,400 SKUs (87%) had never received a single organic click before the re-description. Most of those were long-tail items - niche SKUs, older models, accessories - where the manufacturer copy was either missing or identical to copy on 20 other retailer sites. Fresh, unique, keyword-aligned descriptions put them back in contention for long-tail queries.

The 33% relative improvement in product-page conversion rate is the revenue story. On a store doing roughly AUD 85,000/mo in ecommerce revenue, that works out to about AUD 28,000/mo in incremental revenue within 90 days of the run. The total investment was AUD 1,067. The payback was two weeks.

These numbers are not universal - smaller catalogues, commodity products, or stores already well-copywritten will see smaller lifts. But for any Magento store with more than 1,500 SKUs and no recent copywriting investment, the economics are straightforward.

Maintaining AI Descriptions Over Time

A one-off run is not a maintenance strategy. Catalogues drift: new products get added, attributes change, pricing moves, seasonal positioning shifts. The maintenance workflow is lighter than the initial run but needs to be explicit.

  1. New SKU onboarding - hook the generation pipeline into your product-creation flow. Every new SKU gets a fresh description and meta tags from the same prompt, automatically, within minutes of being added to the catalogue. Review these at the same stratification rates as the initial run.
  2. Quarterly refresh on top 200 SKUs - re-run description generation on your revenue-driving products every 90 days, updating the primary keyword based on current search trends. Budget AUD 50-100 per quarter for this.
  3. Seasonal positioning updates - pre-Christmas, end of financial year, back-to-school. A targeted prompt variation that adds seasonal context to relevant SKUs is quick to run (2-3 hours for a few hundred products) and materially lifts conversion in the window.
  4. Model upgrades - when Anthropic, OpenAI, or Google releases a meaningfully better model, re-run the top 50-100 SKUs to take advantage. Avoid chasing minor-version updates; they rarely justify the compute spend.
  5. Compliance audit - once a quarter, sample 100 descriptions at random and run them through the validation layer with the latest ACCC guidance rules applied. Any failures get flagged for regeneration.

What This Means for Your Magento Store

AI product description generation at scale is now a two-to-three day, AUD 350-700 project for a 5,000 SKU catalogue - not a multi-month, five-figure copywriting engagement. The quality gap between AI and competent human copy has closed for routine ecommerce copy, as long as the prompt is structured, the output is validated, and the review is stratified.

The biggest risk is not the technology - it is treating this as a one-shot automation rather than a pipeline. Stores that skip the validation layer, skip the stratified review, or dump raw AI output into Magento end up with a catalogue that looks impressive on day one and gets quietly penalised over the following 90 days. Stores that follow the full workflow in this guide see the kind of numbers in the Real Results section above.

If you want help running this pipeline on your Magento catalogue - including the Claude API setup, Magento REST API integration, stratified QA workflow, and Australian compliance review - get in touch via our Magento development services page. We do full-catalogue runs as a fixed-price engagement.

Frequently Asked Questions

How much does it cost to generate AI product descriptions for 5,000 Magento SKUs in Australia?

As of April 2026, a full run for 5,000 SKUs costs between AUD 200 and AUD 500 in AI API credits depending on the model. Claude Sonnet 4.6 runs about AUD 42 per 1,000 products at 140-word descriptions, GPT-4o is about AUD 38, and Gemini 2.5 Pro about AUD 28. Add AUD 300-500 in human review time if you follow the stratified sampling approach of 10-15%.

Will Google penalise AI-generated product descriptions on a Magento store?

Not automatically. Google's Helpful Content system, including the March 2026 core update, targets low-value content regardless of whether a human or an AI produced it. AI descriptions that include unique positioning, specific product detail, use-case context, and internal links to relevant category or guide pages rank the same as equivalent human copy. Templated copy that only reshuffles attributes across 5,000 SKUs is what gets penalised.

Which AI model is best for Magento product descriptions in 2026?

For mid-market Australian Magento stores, Claude Sonnet 4.6 gives the best balance of editorial quality, cost (about AUD 42 per 1,000 products), and instruction-following, especially for Australian English and compliance constraints. GPT-4o is nearly as strong and slightly cheaper for straightforward catalogues. Gemini 2.5 Pro is the cheapest option (AUD 28 per 1,000) but tends to produce more generic copy, so it suits accessory or parts catalogues better than lifestyle or premium brands.

Do I need to disclose AI-generated product descriptions under Australian Consumer Law?

There is no specific ACCC rule (as of April 2026) requiring disclosure of AI-generated product copy, the way there is for some AI-generated media. The Australian Consumer Law simply requires that product claims be accurate and not misleading. What matters is whether the description is true, not whether an AI wrote it. That said, many AU retailers choose to add a footer disclosure on catalogue pages for transparency, which has no measurable effect on conversion in our testing.

How do I import AI-generated descriptions back into Magento 2 without breaking existing SEO?

Use the REST API endpoint POST /V1/products/:sku with a partial payload containing only the description, meta_title, meta_description, and short_description fields. This preserves all existing product data, URL rewrites, category associations, and product relations. Import in batches of 50-100 SKUs with a 200ms delay between requests to avoid overwhelming the indexer, and re-run bin/magento indexer:reindex catalog_product_attribute after the full import.

Ready to fix your store?

Book a free 30-minute audit. We'll review your setup and tell you exactly what we'd do differently.

Book a Free Audit