Conversion

Amazon feed to Google Shopping

If your cleanest product data lives in an Amazon inventory file (or your Google feed is the clean one and Amazon is next), the two formats map almost column for column, with a handful of differences that cause every rejection: item_sku versus id, bullet points with no Google home, numeric prices versus '24.99 USD', and Amazon's parent/child rows versus Google's item_group_id. The table below is the mapping in both directions, with sample files.

We connect your store, build the feed and keep it in sync. Updated 2026-10-27.

At a glance

  • Amazon's inventory file columns (item_sku, item_name, external_product_id, standard_price, main_image_url, bullet_point1–5) map to Google's id, title, gtin, price, image_link and description; Google has no bullet points, Amazon has no availability word.
  • Google needs link and availability, which an Amazon file does not carry: link comes from your own store URL (Google ads must land on your site), availability from quantity.
  • Going the other way, Google's single item_group_id becomes Amazon's Parent row plus Child rows with parent_sku, relationship_type and variation_theme.
  • Textfinity reads the Amazon export (TSV/CSV by URL) or the Google feed and produces the other format on a schedule; Amazon uploads stay manual because Amazon does not fetch URLs.

Amazon inventory file to Google Shopping: attribute mapping

Columns on the left are the common core of Amazon's category templates; attributes on the right are from Google's product data specification. The last column says what changes.

Amazon columnGoogle attributeDifference / transform
item_skuidrename; both must be unique and stable
parent_sku (child rows)item_group_idrename; parent rows are filtered out
item_nametitlerename; Google max 150 chars, so trim with feed hygiene's length check
product_descriptiondescriptionrename; Google max 5,000 chars, plain text
bullet_point1–5description or product_highlightcombine with ' ' into description, or map to product_highlight (2–100 entries, ≤150 chars)
external_product_id (type UPC/EAN)gtinrename; Google validates the check digit
brand_namebrandrename
manufacturer / part_numbermpnrename when no GTIN
standard_pricepriceadd suffix " USD" (Google wants the ISO code)
sale_price + sale_from_date / sale_end_datesale_price + sale_price_effective_dateadd suffix; combine dates with '/' in ISO 8601
quantityavailabilityadvanced: if [quantity] is empty then "out_of_stock" else if calc{[quantity]} > 0 then "in_stock" else "out_of_stock"
main_image_urlimage_linkrename
other_image_url1–8additional_image_linkrename
— (not in Amazon file)linkcombine (store base URL, item_sku or handle)
— (not in Amazon file)google_product_categoryreplace from google sheet keyed by item_type or feed_product_type, conditioned on is in google sheet list
item_type / feed_product_typeproduct_typerename
color_name / size_namecolor / sizerename
condition_type (New, UsedLikeNew…)conditionadd static value per condition: matches regexp Used → used, includes Refurbished → refurbished, else new
generic_keywords— (no Google equivalent)leave out; Google has no keyword field

Google attribute names and limits from the Merchant Center product data specification, checked 2026-10-27. Amazon column names as used in inventory file templates (Seller Central help requires login; names cross-checked against published third-party guides).

The six differences that break an Amazon to Google conversion

  • Link. Amazon files have no landing page because the page is Amazon's. Google Shopping requires a link on your verified domain, so every row needs a URL built from your store's pattern (combine base URL + handle or SKU). If the products only exist on Amazon, there is nothing to convert.
  • Availability. Amazon infers it from quantity; Google wants in_stock, out_of_stock, preorder or backorder. One advanced rule.
  • Price format. Amazon's standard_price is a bare number in the marketplace currency; Google needs '24.99 USD'. Add suffix.
  • Bullet points. Google has no bullets. Either fold them into the description with combine, or map them to product_highlight, which Google shows as highlights. Keep the description itself as product_description.
  • Variations. Amazon's Parent row has no price or image and must not reach Google. Filter parent_child is equal to Parent → exclude, and map item_group_id from parent_sku on the children.
  • Condition values. Amazon's condition_type has nine or so values (New, UsedLikeNew, Refurbished…); Google has three. Three conditional branches collapse them: anything starting with Used becomes used.

Google Shopping feed to Amazon: the reverse mapping

When the Google feed is the clean source, the hard part is structure, not names. Google's one row per variant with item_group_id becomes Amazon's Parent row plus Child rows, and Amazon wants columns Google never asked for: bullet points, manufacturer, feed_product_type, variation_theme and update_delete. In Textfinity that is two feeds from the same source: a parent feed filtered to one row per item_group_id (an "is in google sheet list" filter on a sheet of one variant id per group) with parent_child = Parent and no price, and a child feed with every variant, parent_sku = item_group_id, relationship_type = Variation. Bullets come from metafields or from the description split with replace from regexp; feed_product_type and variation_theme are static values per category template; price drops the currency suffix with remove from regexp ' USD'.

The output is a TSV (or CSV) on a stable URL. Download it and upload the tab-delimited file with identical headers, or paste the rows into Amazon's category template, under Catalog → Add Products via Upload, and read the processing report. Amazon does not fetch feed URLs and Textfinity has no Amazon API connection, so this step stays manual.

Sample: the same product in both formats

The snippet is a child row from an Amazon inventory file (tab-delimited, headers shortened to the columns that matter). The download is the Google Shopping CSV with the same product plus two more, in Google's spelling. Compare the price, availability and image columns to see every difference at once.

amazon-inventory.txt (source, child row)

item_sku	parent_sku	parent_child	item_name	brand_name	external_product_id	external_product_id_type	standard_price	quantity	main_image_url	color_name	size_name
MCS-NAVY-M	MCS-PARENT-9912	Child	Merino Crew Sweater Navy M	Loom	0194252051234	UPC	89.00	14	https://cdn.example/mcs-navy.jpg	Navy	M

Examples

Worked examples, by situation

Three catalogs crossing between Amazon and Google. Each shows the row as it starts and as it ends.

Apparel · Amazon file → Google Shopping · 1,200 SKUs · US

Child row becomes a Google variant with link and availability added

Before

item_sku: MCS-NAVY-M  parent_sku: MCS-PARENT-9912
standard_price: 89.00  quantity: 14
bullet_point1: 100% merino wool

After

id,item_group_id,title,price,availability,link,product_highlight
MCS-NAVY-M,MCS-PARENT-9912,Merino Crew Sweater Navy M,89.00 USD,in_stock,https://store.example/p/merino-crew?sku=MCS-NAVY-M,100% merino wool

How we set it up

We add an exclude filter "parent_child is equal to Parent", then map id as a rename from item_sku, item_group_id from parent_sku, price with add suffix ' USD', availability with an advanced rule on quantity, link as a combine ("https://store.example/p/merino-crew?sku=", item_sku) and product_highlight as a rename from bullet_point1.

Supplements · Google feed → Amazon · 80 SKUs · UK

Google rows split into Amazon Parent and Child rows

Before

id,item_group_id,title,price,gtin
VIT-D3-60,VIT-D3,Vitamin D3 2000 IU 60 caps,9.99 GBP,5060123456789

After

item_sku,parent_child,parent_sku,relationship_type,variation_theme,external_product_id,external_product_id_type,standard_price
VIT-D3,Parent,,,Size,,,
VIT-D3-60,Child,VIT-D3,Variation,Size,5060123456789,EAN,9.99

How we set it up

We set up two feeds. Parent feed: filtered to one row per item_group_id with an "is in google sheet list" filter on id, item_sku as a rename from item_group_id, static values Parent and Size, standard_price left empty. Child feed: standard_price via remove from regexp ' GBP'; external_product_id_type as the static value EAN under the conditional rule 'gtin matches regexp ^\d{13}$'.

Electronics · Amazon file → Google Shopping · 3,500 SKUs · condition cleanup

Amazon condition_type collapsed to Google's three values, descriptions rebuilt

Before

condition_type: UsedVeryGood
product_description: (empty)
bullet_point1: 65" 4K panel  bullet_point2: HDMI 2.1 x4

After

condition: used
description: 65" 4K panel. HDMI 2.1 x4.

How we set it up

We map condition as static values with conditions (matches regexp Used → used, so UsedVeryGood and UsedLikeNew both land there; includes Refurbished → refurbished; else new). description is a combine of bullet_point1…5 with '. ' as delimiter, mapped only when product_description matches regexp ^\s*$ through a conditional rule.

Copy this plan

Plan: convert an Amazon feed to Google Shopping

About an hour. Reverse the roles for Google to Amazon.

  1. 01

    Host the Amazon file on a URL

    Export the inventory file or category listings report from Seller Central and put it on a URL Textfinity can read (a Google Sheet works). This step is outside Textfinity.

  2. 02

    Add it as the source

    Textfinity profiles the columns: empty UPCs, over-long item_names, parent rows without prices.

    What we set up: We add the file URL (or Google Sheet) as the source in Textfinity.
  3. 03

    Create the Google Shopping feed and filter parents

    Start from the Google template, then exclude parent rows so only sellable children reach Google.

    What we set up: We start from the Google Shopping template and add an exclude filter "parent_child is equal to Parent".
  4. 04

    Map the direct renames

    id, item_group_id, title, description, gtin, brand, image_link, additional_image_link, color, size, product_type.

    What we set up: We map id as a rename from item_sku and item_group_id as a rename from parent_sku, then the other direct renames.
  5. 05

    Add what Google needs and Amazon lacks

    link by combine, availability by advanced rule on quantity, price by add suffix, condition by conditional static values, google_product_category by lookup, bullets into product_highlight.

    What we set up: We map link as a combine, availability as an advanced rule and condition as static values with conditions.
  6. 06

    Register the feed in Merchant Center

    Add the feed URL as a scheduled fetch, then watch the Needs attention tab in Merchant Center (outside Textfinity).

    What we set up: We register the URL with you: you give us access to Merchant Center, or we walk you through it.

Customization tips

Make it yours

Bullets to product_highlight, not into the title

It is tempting to pack bullet text into Google titles. Google caps titles at 150 characters and shows about 70, and promotional text is against the spec. product_highlight is the attribute built for bullet-style facts.

Keep Amazon SKUs as Google ids

Using item_sku as id lets you reconcile the two channels by one key and makes the reverse conversion trivial. Do not switch to ASIN as the Google id: ASINs are Amazon's and change when listings merge.

Separate currency per marketplace

An Amazon file is per marketplace and has no currency column. Set the add-suffix value to that marketplace's currency and build one Google feed per country rather than mixing rows.

Let the Amazon upload stay manual on purpose

Textfinity rebuilds the Amazon TSV on a schedule, but you decide when to upload. That is a feature for Amazon, where a bad upload with 'Purge and replace' ticked deletes listings. Use PartialUpdate for routine refreshes.

FAQ

Questions about amazon feed to google shopping

Can I upload my Amazon inventory file to Google Merchant Center as is?

No. The column names differ (item_sku vs id, item_name vs title), prices lack a currency code, there is no availability or link column, and Amazon's parent rows have no price. Convert it first; the mapping above covers every required Google attribute.

Where does the Google Shopping link come from if the product is on Amazon?

From your own website. Google Shopping ads and free listings must land on your verified domain, not on Amazon. Build the link from your store's URL pattern and the SKU; if the products are not on your site, Google Shopping is not the right destination for that catalog.

How do I convert a Google Shopping feed to an Amazon feed?

Map id to item_sku, title to item_name, gtin to external_product_id with its type, strip the currency from price into standard_price, and split variants into a Parent row plus Child rows with parent_sku, relationship_type and variation_theme. Add bullets, manufacturer and feed_product_type, which Google does not have, then upload the file in Seller Central.

Can Amazon fetch the converted feed from a URL?

No. Amazon ingests inventory files uploaded in Seller Central or data sent through its Selling Partner API. Textfinity produces the file on a URL for download; it has no Amazon API connection. Google, by contrast, fetches the feed URL on a schedule.

Set up for you

Have us convert your Amazon file to a Google Shopping feed.

Send us the hosted inventory file and your store's URL pattern. We map item_sku to id and quantity to availability in Textfinity and register the feed with you in Merchant Center; the software rebuilds it whenever the file changes.

Have us build this feedOr email support@textfinity.io

Tell us your store and channels. We reply within 24 hours.