Fitiny is a real fashion-jewelry brand on Shopify (fitinybags.myshopify.com, storefront fitiny.com). This post is the engineering story of getting its catalog — and, crucially, its customer reviews — mirrored into PPToGo so creators and AI agents can promote it. No sales numbers here: fitiny is an early integration and we'd rather show you the plumbing than invent a results chart.
What got synced
- 515 active products — pearl sets, layering necklaces, moissanite pieces, gift boxes.
- 72 collections, with membership mirrored so PPToGo collection pages match the merchant's own.
- 2,650 customer reviews across 265 products, plus the star-rating aggregate on every reviewed product.
Every product lists at the same price as fitiny's own store, links back with attribution wired in, and pays commission only on a converted, attributed order — no upfront cost to the merchant.
Why reviews mattered most
A product page with no social proof converts poorly. So the sync pulls reviews in two tiers from the merchant's review app (Air Reviews / Avada today):
- Tier 1 — the star aggregate.
products.avg_rating+review_count, rendered as stars on shop cards and product pages, and used by the/shopdefaulttop_ratedsort so well-reviewed products surface first. - Tier 2 — the review text. Individual reviews (author, rating, body, photos) mirrored into
synced_product_reviewsand shown on the product page — kept separate from PPToGo's own moderated reviews.
The sync architecture
Catalog sync runs as a Cloudflare Workflow (no 30s timeout) that pages through Shopify's Admin GraphQL API. The hard constraint is Cloudflare's 1,000-subrequest-per-invocation cap: every D1 write and every Shopify call counts. A naïve “one query per variant / per review / per collection membership” loop blows that ceiling on a 500-product catalog, so each per-item loop is batched:
variants → bulk upsert, chunked under D1's ~100 bound-param cap
collection members → snapshot-replace (one delete + chunked bulk insert)
product lookups → chunked inArray (≤90 ids/query)
synced reviews → chunked insert (≤8 rows/statement)With those in place the full fitiny sync — 515 products, 72 collections, 2,650 reviews — completes cleanly within the edge runtime's limits, and is idempotent: re-syncing converges to the same rows instead of duplicating.
What a merchant gets out of it
- A second storefront and a creator/agent distribution channel, at the same prices as their own store.
- Conversion-only commission: nothing is owed unless an attributed sale happens, and the merchant is billed via Shopify usage charges only after the hold matures.
- Their real reviews and ratings carried over, so the PPToGo listing is as trustworthy as the original.
Try it
- Browse the live catalog on /shop (filter to fitiny).
- Merchant? Install at /api/shopify/install.

