Get your Shopify catalog out without a CSV export
MartechFlow connects to Shopify directly through Shopify's Admin API, so you do not have to schedule manual CSV exports or babysit a spreadsheet. You authorize MartechFlow with read access to your products, and it pulls your full catalog: titles, descriptions, prices, compare-at prices, inventory, vendor, product type, tags, and every product image.
Shopify models a product as one parent with many variants (size, color, and so on). Google Shopping wants one feed row per buyable variant, not one row per product. MartechFlow expands your Shopify variants into individual items automatically and ties them back together with item_group_id, so a 6-color t-shirt becomes 6 correctly grouped Google items instead of one ambiguous listing.
- Direct Shopify connector: no CSV exports, no app that scrapes your storefront.
- Variants expanded to one row each, grouped with item_group_id.
- Pulls compare-at price so sale_price is populated when a product is on sale.
- Re-syncs on a schedule you set, so price and stock changes reach Google fast.
What Google Shopping requires, and how MartechFlow fills it
Google Merchant Center rejects products that are missing required attributes. The non-negotiable fields are id, title, description, link, image_link, price, and availability. For branded products Google also expects a unique identifier: a gtin, or brand plus mpn.
MartechFlow maps Shopify fields to these attributes for you. Shopify's variant ID or SKU becomes a stable id, the product handle becomes the link, the featured image becomes image_link, and your variant price plus compare-at price drive price and sale_price. Shopify's barcode field maps straight to gtin, and the vendor field maps to brand.
- id - from the Shopify variant ID or SKU (stable, so listings are not reset).
- title and description - mapped from product fields, trimmed to Google's 150 and 5000 character limits.
- link - built from your store domain and the product handle.
- image_link - your main product image; gtin from the Shopify barcode; brand from vendor.
Map, transform, and validate before it ever reaches Google
The mapping screen is the simple part: you see your Shopify fields on one side and Google's required attributes on the other, and MartechFlow pre-fills the obvious matches. Transform rules let you fix the things that get Shopify feeds disapproved without touching your store. Append your brand to titles, set a default google_product_category, normalize availability to Google's exact values, or strip HTML out of descriptions.
Before publishing, MartechFlow validates every row against Google's spec and flags products that would be rejected: missing GTIN on a branded item, a price of zero, a broken image URL, or a title over the limit. You fix the rule once and every affected product is corrected.
- Rule-based transforms (title rules, category defaults, value normalization) with a plain UX.
- Validation against Google's required-field spec before publish, not after a Merchant Center rejection.
- One important Google rule it helps you respect: no promotional text or badges burned into image_link (the main image). Sale badges belong in a separate promotional image or via Google's promotions, not on the main image Google indexes.
Publish to a stable URL Google pulls on schedule
MartechFlow generates your feed as a channel-ready file and serves it at a stable, unguessable URL. In Google Merchant Center you add that URL as a scheduled fetch and set how often Google should pull it. You never upload a file again.
When your Shopify prices or stock change, MartechFlow re-ingests on your schedule, regenerates the feed, and serves the new version at the same URL, so Google always fetches current data. The URL carries a high-entropy token, so your catalog is not enumerable by outsiders.
- 1Connect your Shopify store to MartechFlow (read access to products).
- 2Confirm the auto-mapped Google attributes and add any transform rules you need.
- 3Run validation and resolve any flagged products.
- 4Copy your feed URL into Google Merchant Center as a scheduled fetch and set the refresh frequency.