Product Import
Paste URLs from anywhere — newlines, commas, spaces, spreadsheet paste, inline prose. Individual product URLs or entire Shopify collection URLs (e.g. /collections/dresses) both work — collection URLs auto-expand into one row per product.
→ Product Imports • status = Pending
Analytics
Imports submitted per day + products published (draft → active) per brand per day.
Imports submitted per day
Products launched (draft → active) per brand
Sourced from each brand's Shopify published_at field.
Loading…
Launch count is based on Shopify's published_at field for each store.
Catalog
Active-product breakdown by type, season, and (ZEYA only) jewelry vs fashion. Sourced from each store's Shopify.
Loading…
By product type
By season
Season is inferred from title + tags keywords (e.g. "wool/fur/knit" → Winter). Rough bucket, good for volume-planning.
Product Performance
Shopify sales × Google Ads spend × COGS. Products losing money surface at the top.
Loading (can take 30s on first load)…
| Product | Brand | Units | Net sales | Ad spend | Ad ROAS | COGS | Cost | Net profit |
|---|---|---|---|---|---|---|---|---|
|
|
How it works
The full reference lives in the ClaudeCode Wiki — open the Notion article →
The flow
- You paste product URLs (AliExpress or competitor Shopify stores) on the Product Import page.
- You pick one or more target brands (SOERA, ZEYA, SOKYND, OLANE).
- Each URL becomes a Pending row in Airtable “Product Imports”.
- Every 15 min, a cron job on the VPS picks them up, scrapes the source, generates unique AI content per brand, and creates a draft product in each store’s Shopify admin.
- You review drafts in Product Imports (this app) or directly in Shopify, then publish.
Loox reviews — automatic
- As soon as a Shopify draft is created, a background job generates Loox reviews for that product — no manual step.
- AliExpress sources: real 4–5★ reviews with photos are scraped from the source URL, plus AI top-ups to reach ~20–25 reviews per product.
- Competitor Shopify sources: AI-generated reviews only (no photos, since those sources have no public review data).
- Rating mix: 70% 5★, 25% 4★, 5% 3★. Dates spread across the last 7–90 days.
- Reviews appear on Loox the morning after the import (nightly
loox_daily.shbatches + uploads via Playwright). - Failures are posted to #loox-reviews on Discord; the Shopify draft is never blocked by a Loox hiccup.
Multi-brand rules
- Source is scraped once per URL; content is regenerated uniquely per brand. Titles and descriptions differ across brands — not copies.
- Title generator enforces a luxury brand blacklist (~90 trademarked names like Celine, Chanel, Dior, Tiffany, Stella, Vera, Kate) to avoid legal/PPC conflicts.
- First-name uniqueness per brand — the AI fetches existing products for that vendor and avoids reusing names.
Status lifecycle
A row stuck on Error can be re-queued by flipping status back to Pending in Airtable.
Pricing (fixed per product type)
Compare-at price is randomized per product at 20 / 25 / 30% off to look like a natural sale.
What gets set on every draft
- Category — Shopify Standard Taxonomy (Dresses, Coats & Jackets, Clothing Tops…), mapped from the product type
- Fit Active Segment metafield = 3 (required by the SOERA theme)
- Age group = Adults / Target gender = Female (Shopify Taxonomy metaobjects)
- Images — full gallery from source (Apify + direct HTML fallback); variant images are assigned by AI color detection for multi-color products
- Inventory = 10,000 per variant
- Status = Draft (never live until you publish)
Supported URL types
- AliExpress — any product URL (Apify scrapes; falls back to direct HTML if Apify returns too few images)
- Shopify stores — any product URL from any public Shopify store (no API key needed)
- Shopify collections — paste a collection URL like
competitor.com/collections/dressesand the pipeline auto-expands it into one Pending row per product. Target brands selected on the submit form carry through to every expanded row.
Troubleshooting
- “URL was already imported or in progress”
- Dup detection: the URL is already a row in Airtable with any non-Error status. Check Product Imports.
- Submit stuck on “queued…” for a brand
- The cron runs every 15 min. If it stays “queued” for much longer, the row may be in Error. Check the table and look for a red error message.
- Wrong images / too few images
- Some AliExpress products are geo-restricted — Apify returns only 1 image and the HTML fallback may also fail. Ping @Paul to handle manually.