# Clean up AliExpress and DSers imports in Shopify

Updated 14 Sept 2026 · 13 min read · https://apimate.chat/cases/shopify-clean-imported-products

Imported products carry the supplier's structure: a "Ships From" option with "China" and "United States" values, variant names like "Color 3 - 42", options ordered the way the supplier listed them, and descriptions that mention AliExpress. Each of these is a per-product cleanup: rename variants, delete an option, reorder, edit a description. ApiMate runs each one across every imported product from one instruction, and previews it by variant, because deleting an option deletes every variant built from it.

A pet-supplies merchant wrote the whole job in one sentence: "Clean up and reorganize variants, cheap to most expensive, make the names more professional, remove anything that mentions a country or mainland." That is four jobs. Run them as four previews, in the order on this page, and the catalog reads like yours instead of the supplier's by the end of the afternoon.

The trap is the option delete. Removing "Ships From" from a product with two shipping origins and five sizes deletes five of the ten variants, and the ones that stay are the ones from the origin you kept. The preview states the variant count per product, not just the option name. Read it, and read the revert section, because this is the one step that is one-way.

## Who runs this job, and why now

Dropshipping apps import what the supplier has. The supplier has a "Ships From" option because they ship from two warehouses. Your customers do not choose a warehouse. The supplier names a colour "Color 3" because the factory does. Your customers want "Navy". The supplier's description says "ships from China mainland in 15-30 days" because that is what their listing says, and Google's Merchant Center reads that as misrepresentation on your store.

Twenty imports is an afternoon in the admin. Two hundred is not, and by the time a store has two hundred imports it also has orders against those variants, so the cleanup has to keep the variants customers already bought. The merchants who search for this page are usually past the point where re-importing is an option.

The other reader is a merchant moving off dropshipping to their own stock. The products stay, the supplier structure goes, and the cleanup is the last step before the store looks like a brand instead of a storefront for someone else's catalog.

## How this is done without ApiMate, and where each way breaks

In the Shopify admin: open the product, Variants, Edit options, rename or delete, save. Drag to reorder. Edit the description in the editor. Per product. The admin bulk editor does not show options at all, so there is no grid to type into; the options screen is the only place, and it is one product at a time.

DSers and similar apps have a per-product "remove Ships From" toggle at import time and a mapping screen for variant names. It does not apply to products already imported, and it does not touch descriptions. Re-importing to get the toggle loses the variant ids, and with them the order history and the inventory.

A CSV round trip can rename option values, because the values are columns, but it cannot delete an option cleanly: removing the "Option2 Value" column and re-importing creates duplicate variants or fails on the collision, depending on the row order. Descriptions in a CSV are one HTML blob per row, and editing them in a spreadsheet is how a store ends up with broken image tags in every listing.

Sources: [Shopify Help: variants](https://help.shopify.com/en/manual/products/variants)

## The instruction, as written

The merchant's sentence had four jobs in it, and the tool split it into four before planning anything, because each one has a different preview shape and a different risk. The order matters: delete the option first (fewer variants to rename), rename second, reorder third (it needs the final variant set), descriptions last (independent of the variants).

Each of the four needs one thing the merchant did not say. The option delete needs the value to keep. The rename needs a map from supplier names to yours. The reorder needs a direction. The description edit needs the phrases to remove. The tool asks for each, and the answers become the four instructions below.

> **The merchant's instruction** Clean up and reorganize variants, cheap to most expensive, make the names more professional, remove anything that mentions a country or mainland.

- Job 1, option delete: which "Ships From" value to keep.
- Job 2, rename: the map ("Color 1 is Black, Color 2 is White, Color 3 is Navy") and the pattern to strip.
- Job 3, reorder: cheapest first.
- Job 4, descriptions: the phrases ("China mainland", "ships from", supplier names).

## Remove the "Ships From" option

Deleting an option deletes every variant combination built from it. If a product has Ships From: China, United States and Size: S, M, L, it has six variants. Deleting Ships From leaves three, and you choose which origin's three survive by naming the value to keep. The surviving variants keep their ids, their SKUs, their stock and their order history; the others are gone.

The preview lists, per product, the variants that stay and the variants that go, with their SKUs and stock. If a variant that goes has stock or open orders, that is the row to look at. Move the stock first with an inventory job, or keep the other origin instead. A product where every variant would go, because it only had the origin you did not keep, is refused with the reason: a product must keep at least one variant.

> **Instruction** For every product with a "Ships From" option, keep the "United States" variants and remove the option.

- Name the value to keep. Without it, the job cannot choose for you and asks.
- A product must keep at least one variant. Deleting the last one fails, and the plan says so instead of trying.
- Stock on removed variants is gone with them. Move it first if it matters.
- Products with a single "Ships From" value lose the option and keep every variant; the preview shows those as rename-only rows.

![Preview for removing the Ships From option: per product, a "stays" list of variants with SKU and stock and a "goes" list with the origin value, and the variant count before and after](https://apimate.chat/cases/shopify-clean-imported-products/01-option-delete-preview.webp)

_Per product: variants that stay, variants that go, count before and after. The "goes" list is the one to read._

## Rename variants and options

Option values are renamed per product: "Color 3" becomes "Navy" on the products where the map applies. Option names are renamed too: "Colour" to "Color", "Sz" to "Size", so the storefront filter has one Size, not three spellings. The rule can be a map ("Color 1 is Black, Color 2 is White, Color 3 is Navy") or a pattern ("remove the number and the dash from variant titles"), or both in one instruction.

The preview is one row per variant: old title, new title. Shopify rejects two variants with the same option values on one product, so the preview flags collisions before you approve: a product where "Color 1 - 42" and "Color 1 - 42 " (trailing space) both become "Black 42" is a row marked as a collision, and the product is skipped until you decide.

Renames keep the variant. The id, the SKU, the stock and the orders stay attached. This is the difference between renaming and recreating, and it is why the cleanup is done on the existing products rather than by re-importing.

> **Instruction** On every product, rename option values "Color 1", "Color 2", "Color 3" to Black, White, Navy and remove the " - " and the number from variant titles.

![Rename preview rows: product title, old variant title such as "Color 3 - 42", new variant title such as "Navy", with a collision flag on one product](https://apimate.chat/cases/shopify-clean-imported-products/02-rename-rows.webp)

_One row per variant. A collision is a flagged row, not a failed job._

## Reorder variants by price

Shopify shows variants in their stored order, in the dropdown and in the variant grid. Suppliers store them in whatever order the factory listed. Reordering by price, cheapest first, is a per-product write that touches no values, only positions. The preview shows the new order per product; it is the least risky of the four jobs and the one merchants notice most on the storefront.

Other orders are one word away: "by size, S first" needs a size order the tool knows (S, M, L, XL) or one you give; "by colour, Black first" is a list. The preview shows the sequence so an order that looks wrong is caught here.

> **Instruction** Reorder the variants of every product from cheapest to most expensive.

## Remove supplier text from descriptions

Descriptions from a supplier mention the supplier, the marketplace, "ships from China mainland", delivery estimates that are not yours, and sometimes a competitor's brand. Removing a phrase from every description is a per-product description write: read the description, remove the sentence, write the rest back unchanged. Headings, images and lists inside the description are kept, because the write is the whole description with one sentence taken out.

The preview shows the whole new description per product, not a diff, because that is what will be written. Open three and check that the formatting survived and nothing else moved. Products where the phrase was not found are skipped, so the count in the scope line is the number of descriptions that change, not the number of products in the store.

This job removes text. Rewriting descriptions in your own voice is a different job, the generated-text kind, with its own preview. Do the removal first so the rewrite works from a clean base.

> **Instruction** Remove any sentence that mentions AliExpress, Alibaba, "China mainland" or "ships from" from every product description. Keep everything else exactly as it is.

## Before you approve

Four jobs, four previews. The option delete is the one to read twice.

- Option delete: the variant count per product after the job. Zero is refused; one is suspicious.
- Option delete: stock and open orders on the variants that go. Move stock first.
- Renames: no two variants on the same product end up with the same option values. Collisions are flagged.
- Descriptions: open three and check that images and headings inside the description are still there.
- Scope: "every product" means every product. Scope by tag or vendor if only the imports need it; imports usually carry a tag from the app.

## What happened after approval

Each job writes per product, so a product is either cleaned or untouched; there is no half-renamed product. The job reports each product as it finishes and lists any that failed with the reason. The most common failure is a rename collision the preview flagged and the merchant approved anyway; those products are listed, not silently skipped.

To see the result, open any imported product in the admin: the Variants section shows the surviving variants with the new names in the new order, and the description no longer mentions the supplier. On the storefront, the variant dropdown reads Black, White, Navy. Run the Merchant Center audit afterwards; the supplier-text check should come back clean.

## Revert

Renames, reorders and description edits store the previous values and are reverted from history. A rename revert puts the supplier names back on the same variants; a description revert writes the previous description back whole.

Deleted variants are not restored by revert. Their ids are gone, and with them the link to past orders and inventory history. Revert of an option delete is a recreate: new variants with new ids, which is a new job with its own preview. Treat option deletes as one-way, which is why they are previewed by variant and why this page says it three times.

## Where the tool stops

Products with more than three options cannot be cleaned into three; Shopify's limit is three options per product, and merging two options into one is a recreate, not an edit.

Supplier images with watermarks are found by the Merchant Center audit, not fixed here. Replacing images is a media job, and the new images have to come from somewhere.

A rename rule that needs judgement ("make the names more professional") has to become a concrete map before it is a plan. The tool proposes a map from the values it finds, you edit it, then the rename runs with it. It does not guess a colour from "Color 3".

Descriptions are edited, not translated. A supplier description in another language is a rewrite job.

## Other ways to say the same job

These resolve to one of the four jobs on this page. The preview shape tells you which.

- "Remove the Ships From option from every product and keep the US variants."
- "Get rid of the warehouse option on my DSers products."
- "Rename Color 1, Color 2, Color 3 to Black, White, Navy everywhere."
- "Take the numbers off the end of my variant names."
- "Sort every product's variants cheapest first."
- "Delete the sentence about shipping from China from all descriptions."
- "Which products still mention AliExpress?" (A read, before or after.)
- "Rename 'Default Title' to the product title on single-variant products."

## Terms used on this page

- Option: a product attribute with values, such as Ships From with China, United States. Three per product at most.
- Option value: one value of an option. Renaming a value renames it on every variant that uses it.
- Variant: one combination of option values. Deleting an option deletes the variants that differ only by it.
- Variant id: the identifier orders and inventory history point to. Kept by a rename, lost by a delete.
- Collision: two variants on one product with the same option values after a rename. Shopify refuses it.
- Description write: the whole description written back with an edit applied. Previewed whole for that reason.
- One-way: a change revert cannot undo. Option deletes are one-way.

## Questions

### Will removing "Ships From" delete my variants?

Yes, the variants from the origin you do not keep. Name the value to keep; the preview lists the variants that stay and the ones that go, with stock and SKU.

### Can I undo an option delete?

No. Deleted variants are gone with their ids. Revert covers renames, reorders and description edits; treat option deletes as one-way.

### Can it rename variants on 200 products at once?

Yes. The rule is applied per product and the preview is one row per variant. Collisions, where two variants on one product would end up with the same values, are flagged before approval.

### Does it keep the description formatting?

The description is written back whole with the sentence removed. Headings, images and lists stay. Open a few in the preview to confirm.

### Do I lose order history on renamed variants?

No. A rename keeps the variant id, so orders and inventory history stay attached. Only a delete loses them.

### Can it decide what "professional" names are?

It proposes a map from the values it finds; you edit it. It does not guess that "Color 3" is Navy on its own.

### Should I scope to imported products only?

Yes, if the store has products you made by hand. Imports usually carry a tag or a vendor from the app; scope by that.

### Does this fix Merchant Center misrepresentation flags?

The description job removes the supplier and marketplace mentions that trigger them. Run the audit afterwards to confirm, and fix images separately.

## Related

- [Audit a Shopify catalog before a Google Merchant Center review](https://apimate.chat/cases/google-merchant-center-audit): Supplier text and watermarked images are two of the checks.
- [Bulk edit SEO titles, meta descriptions and alt text in Shopify](https://apimate.chat/cases/shopify-bulk-edit-seo): After the cleanup, the fields that are still empty.
- [Bulk update prices and inventory in Shopify, with undo](https://apimate.chat/cases/shopify-bulk-update-prices): Reprice the imports once the variants are clean.
