Adzira Product Hub

Bulk URL imports · catalog analytics

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 (window)

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…

Jewelry
Fashion
Total active products

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)…

Net sales (Shopify)
COGS
Ad spend
Net profit
Losing money
Snapshot stale — falling back to live data
Product Brand Units Net sales Ad spend Ad ROAS COGS Cost Net profit
No sales or ad activity in this window.

How it works

The full reference lives in the ClaudeCode Wiki — open the Notion article →

The flow

  1. You paste product URLs (AliExpress or competitor Shopify stores) on the Product Import page.
  2. You pick one or more target brands (SOERA, ZEYA, SOKYND, OLANE).
  3. Each URL becomes a Pending row in Airtable “Product Imports”.
  4. 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.
  5. 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.sh batches + 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

Pending Scraping Scraped Generating Importing Draft Created

A row stuck on Error can be re-queued by flipping status back to Pending in Airtable.

Pricing (fixed per product type)

Top / Blouse €34.99
Shorts / Set €34.99
Mini dress €39.99
Pants €39.99
Midi dress €44.99
Coat / Jacket €44.99
Maxi dress €49.99
Shoes €59.99

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/dresses and 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.

Product Imports

of most recent — mirrored from Airtable

No records yet

Head to and queue some URLs.

""
Img Status Source SOERA ZEYA SOKYND OLANE Submitted
— End of history —

Clone to

Pick a source brand whose Shopify product will seed the clone. The pipeline will create the target draft within ~3 min.