Guides

Writing product descriptions in bulk from Excel or CSV: file, Google rules, checks and re-import

By Joffrey Petit, Founder of ecomDNAI · Last checked:

Product descriptions generated from an Excel or CSV list do not break Google's rules as long as each one helps shoppers: Google explicitly allows AI and automation, but treats many pages without added value as “scaled content abuse”. What matters is a clean file with one row per product, a unique SKU and real attributes, fixed rules for tone and length, a fact check against the product data, and a re-import that changes only the text columns.

What Google says about AI product copy

Google judges content by its usefulness, not by how it was made: “Appropriate use of AI or automation is not against our guidelines.” But its guidance on generative AI content (updated 1 October 2026) asks you to manually fact check and review all AI content before publishing, including title elements, meta descriptions, structured data and image alt text.

The line is drawn by the spam policy on scaled content abuse, announced on 5 March 2024 and last updated on 28 August 2026: “Scaled content abuse is when many pages are generated for the primary purpose of manipulating search rankings and not helping users.” The first example: “Using generative AI tools or other similar tools to generate many pages without adding value for users”. Automated transformations such as synonymizing or translating without added value are listed too.

So a batch is fine when every text contains real information, helps the purchase decision and has been checked. Hundreds of near-identical texts that only swap keywords are the risk.

Step 1: Prepare the file

According to Google, generative models do not retrieve facts but predict a likely sequence of words. Whatever is not in the file, the AI may invent in the worst case.

  • One row per product: for variants, one row per product group with a column listing colours or sizes is usually enough.
  • Unique ID: SKU or item number in every row, no duplicates. It maps the texts back later (Shopify: URL handle, Shopware: product number).
  • Required columns: name, brand, category and what shoppers compare, such as material, dimensions, weight, colour, contents and care.
  • Attributes, not prose: one fact per column, with its unit (“1.2 kg” rather than an old marketing blurb). Only then can you check the texts against the columns.
  • Remove internal columns: purchase price, margin or supplier do not belong in a request to an AI.
  • UTF-8: Shopify requires UTF-8 with LF line endings; Shopware warns that some programs do not save umlauts in a UTF-8 compliant way.
  • Delimiter: Shopify expects commas, Shopware uses semicolons by default, with quotation marks as text enclosure.
  • Leading zeros: according to Shopware, spreadsheet programs can strip them. Format EAN columns as text.

Step 2: Set rules for tone and length

Before the first run, write down what applies to every text:

  • Voice and tone: formal or casual, factual or playful, with or without technical terms.
  • Structure: for example one sentence on the benefit, then bullet points with technical data, then care and contents.
  • Length per destination: longer for the product page, shorter for a listing or feed. The hard limits are in the table below.
  • Banned list: unproven superlatives, prices and shipping notes, capital letters for emphasis, comparisons with other products. Google Merchant Center explicitly excludes the last three from descriptions.
  • Test run: start with 10 to 20 products from different categories, refine the rules, then run the whole catalogue.

Step 3: Variants and duplicate content

Variants that differ only in colour or size do not need their own body text. Google says: “Some duplicate content on a site is normal and it's not a violation of Google's spam policies.” For very similar pages, Google picks a canonical URL and usually shows only that one.

  • One text per product group: the differences belong in the variant attributes, not in a hundred reworded versions. Google names synonym rewrites without added value as a spam example.
  • Separate URL per variant: Google describes both approaches, a single page with selectable variants or multiple pages. With multiple pages, the title names the distinguishing feature.
  • In the feed: Merchant Center requires variant titles to include the distinguishing feature, such as colour or size.

Step 4: Check quality before anything goes live

  1. Automated checks: empty texts, duplicates, lengths over the limit, placeholders, wrong language, words from the banned list.
  2. Fact check against the attributes: every number and every material claim in the text must be in the file.
  3. Spot checks: read the test run in full, then sample each category, more for best sellers or products that need explaining.
  4. Prohibited and risky claims: healing promises, health effect claims, unproven environmental claims, guarantees you do not give. What is permitted depends on product group and country; have sensitive categories reviewed by an expert. This article is not legal advice.
  5. Record the sign-off: who checked which batch and when.

Step 5: Re-import into shop and feed

DestinationText fieldsLimits and formatKey points on import
Shopify (product CSV)Title, Description (older templates: “Body (HTML)”), SEO title, SEO descriptionSEO title up to 70, SEO description up to 320 characters; commas, UTF-8, at most 15 MB per filerequired for updates: URL handle and Title; select “Overwrite products with matching handles”
Shopware 6 (Import/Export)name and description per language, mapped in the profilesemicolons, quotation marks, UTF-8enable updating of existing data; product number can replace the UUID as identifier
Google Merchant Center (feed)title and description; AI texts as structured title and structured descriptiontitle up to 150, description up to 5000 characters, plain textkey facts in the first 70 or so characters of the title and the first 160 to 500 characters of the description

Shopify

Export your products first; Shopify recommends a backup before any import. For text updates, a lean file with URL handle, Title and the text columns is enough: missing columns stay unchanged, but a column that is present and empty overwrites the shop value with a blank. Variant columns such as SKU without the option columns replace existing variants with a default variant. Do not sort the export file in Excel, or image links can be lost, Shopify warns.

Shopware

The safest route is to export with the product profile, change only the text columns and import with the same profile, with updating of existing data enabled. Instead of the long UUID, you can set the product number as identifier. Shopware collects faulty rows in a separate CSV file for correction.

Google Merchant Center

Merchant Center requires (as of October 2026) that titles and descriptions created with generative AI go into the structured title and structured description attributes, each marked as AI-generated. Google truncates texts that are too long and shows a warning. Promotional text such as “free shipping”, capital letters and links belong in neither field.

Checklist for your next batch

File

  • one row per product or product group, unique SKU
  • attributes in their own columns, with units
  • internal columns such as purchase price removed
  • UTF-8, the right delimiter, EAN stored as text

Texts

  • rules on tone, structure, length and banned words written down
  • test run of 10 to 20 products read
  • every number in the text matched against the attributes
  • no healing or effect claims

Re-import

  • backup of the current state available
  • only ID and text columns, no empty text cells
  • Merchant Center: AI texts as structured title and structured description
  • a few product pages checked after import

With ecomDNAI

With the ecomDNAI Product Texter, you upload an Excel or CSV list, map the columns once and pick one of five templates (three lengths, two structures). You switch off internal columns such as purchase price before the run; the batch runs on the server with progress per item. Export is as CSV for import tools or as an Excel table with one row per product, with translations into more than thirty languages as further sheets. For large feeds, the Content Hub shows which items already have copy. The spot check before import remains your job.

Frequently asked questions

Does Google penalise AI-generated product descriptions?

Not for being AI. According to Google, appropriate use of AI or automation is not against its guidelines. Spam means many pages made mainly to manipulate rankings that offer users little value, no matter how they were created.

How long can title and description be in Google Merchant Center?

The title at most 150 characters, the description at most 5000. Users usually notice only the first 70 or so characters of the title; the key details of the description belong in the first 160 to 500 characters.

Do I have to label AI texts in Merchant Center?

Yes. Titles and descriptions created with generative AI belong in the structured title and structured description attributes, each marked as AI-generated.

Comma or semicolon as delimiter?

Shopify expects commas, Shopware uses semicolons by default. In both cases, use UTF-8.

Do variants need their own product descriptions?

Usually not. One good text per product group plus correct variant attributes is enough. According to Google, some duplicate content is normal and not a violation.

Sources