MERSO IT

AI · Shopify automation

Automating Shopify product listings with AI

MERSO IT Insights · Updated July 2026 · 8 min read

AI pipeline turning a supplier photo and fact sheet into a finished Shopify product listing

The input: one supplier photo and a fact sheet. The output: a complete Shopify listing — title, bilingual EN/VI description, tags, variants, SEO title and meta description, and alt text for every image — created as a draft product and waiting in an approval queue. A person clicks approve; the product goes live. That is the whole workflow, and for a shop adding twenty products a week it replaces the better part of a working day.

The pipeline, step by step

  1. Intake. The supplier photo and fact sheet land in a shared folder or a simple upload form. The fact sheet is the crucial artefact: material, dimensions, weight, capacity, care instructions, certifications — whatever is actually true about the product.
  2. Fact structuring. A first AI pass converts the messy fact sheet into a structured fact table: named fields with values and units. A human confirms this table once. Everything downstream reads from it.
  3. Copy generation. The model writes the title, the English description, and a native Vietnamese description — not a translation of the English one, but Vietnamese copy written from the same fact table, in the register Vietnamese shoppers expect.
  4. Image work. Background removal or replacement puts the supplier photo on a clean, brand-consistent backdrop. Alt text is generated from the fact table plus what is visibly in the frame.
  5. Assembly. The service creates the product through the Shopify Admin GraphQL API — variants, options, tags, SEO fields, metafields for the Vietnamese copy — with status draft.
  6. Approval. The draft appears in a review queue. Approve publishes it; reject sends it back with a note that feeds the next generation attempt.

The one rule that prevents hallucinated specs

Left alone, a language model will confidently invent a battery capacity, a fabric blend, or a "BPA-free" claim. On a product page that is not embarrassing — it is a refund generator and, for regulated categories, a legal problem. The guardrail is structural, not a polite prompt:

The fact-table ruleThe AI writes prose only from verified fields in the structured fact table. If a field is missing, the copy simply does not mention it. No field, no claim. A validation pass then checks the generated text against the table and flags any number or material name that does not appear in it.

This turns "trust the model" into "verify the data once, reuse it everywhere" — the same fact table later feeds your customer service bot, so chat answers and product pages can never contradict each other.

Bulk CSV vs the Admin API

Shopify's CSV import is tempting for batch work, and for a one-time migration of a few hundred simple products it is fine. For an ongoing pipeline it is the wrong tool.

ConcernCSV importAdmin GraphQL API
Error feedbackRow-level, after the fact, easy to missPer-mutation, immediate, machine-readable
Draft staging & approvalAwkward — imports tend to publishNative: create with draft status
Metafields (bilingual copy)Limited supportFirst-class
Partial updates laterFull-row overwrites, riskyTargeted field updates
Automation fitManual upload step remainsFully hands-off

The API also lets you write the listing incrementally — product first, then images as they finish processing, then SEO fields — which matters when image cleanup takes longer than copy generation.

Respecting the leaky bucket

Shopify rate-limits API calls with a leaky-bucket model: you have a budget of query cost that refills continuously, and bursts drain it fast. A naive batch job that fires fifty product mutations in a loop will start receiving throttle responses mid-batch and, if it doesn't handle them, half-create products. The fixes are boring and essential: a single queue for all Shopify writes, cost-aware pacing that reads the throttle status Shopify returns with every response, exponential backoff on throttled calls, and idempotency keys so a retried mutation never creates a duplicate product.

Variants and the duplicate-content trap

Sellers who list near-identical variants — same tumbler in six colours — as separate products create six pages with 95% identical copy. Search engines respond by picking one to rank and ignoring the rest, or ranking none well. The automation should enforce the correct structure instead:

  1. One product, colours and sizes as variants, not separate products.
  2. Where separate products are genuinely warranted (different use cases), the generator must produce differentiated copy — different angle, different buyer, different keywords — from the same fact table.
  3. Unique SEO titles and meta descriptions are validated for uniqueness across the catalogue before publish; a duplicate blocks the approval queue item.

This uniqueness check pairs naturally with a broader bilingual SEO strategy — covered in depth in our article on the AI content factory for Vietnamese and English.

What the approval queue is really for

The human in the loop is not there to fix typos. They are there to catch the things a model cannot know: that this supplier's "leather" is PU, that the photo shows last season's packaging, that this product needs an age warning. Every rejection reason becomes a note attached to the fact table, so the same mistake does not recur. In practice, approval takes under a minute per product once trust is established — and that minute is the difference between an automation you brag about and one you quietly turn off.

Listings are the first layer of a larger machine. If you want to see how they connect to fulfilment, invoicing and marketing, start with the end-to-end e-commerce automation stack for Vietnam.

Want your listings to write themselves?

MERSO IT builds this exact pipeline — fact tables, approval queue and all — and for suitable projects we demonstrate the core workflow before any payment.

Talk to Mersoid, our AI consultant