Integration
BigCommerce + Google Shopping
BigCommerce recommends a free app for Google free listings and exports its catalog as CSV from Products → Export. When you need rewritten titles, custom labels or filtered subsets for Shopping ads, run the catalog through a feed you control. This page maps BigCommerce fields to Google attributes and shows the fetch.
We connect your store, build the feed and keep it in sync. Updated 2026-10-27.
At a glance
- BigCommerce's own help points to Feedonomics Surface, a free app that creates free listings from the catalog; other Google Shopping apps are in the App Marketplace.
- Products → Export → Start export writes a CSV download sorted by product id with every exportable field; it is a file, not a URL.
- Textfinity reads a CSV or Google Shopping XML URL on a schedule, maps name, sku, price, brand, url and inventory_level to Google attributes, and publishes a feed URL that Merchant Center fetches on a schedule; we register it with you.
- Variants need the variant id as id and the product id as item_group_id so Google groups options.
The native route and when it stops being enough
BigCommerce's help article on Google Shopping recommends Feedonomics Surface, described as a free app that connects the store to Google Shopping, creating free listings on Google Shopping, Search and Images from the catalog, with changes syncing automatically at regular intervals or on a manual sync depending on the connector. The App Marketplace lists other Google Shopping apps with monthly fees.
The native route carries the catalog as it is. When titles are internal names, when descriptions carry HTML, when you want custom labels for campaign structure, or when only part of the catalog should run as ads, you need a layer that rewrites and filters. The catalog export is the starting point: Products → Export, then Start export, produces a CSV with all exportable fields; custom export templates are no longer supported in the modern export, so you get every column and choose in the mapping instead.
BigCommerce fields to Google Shopping attributes
| BigCommerce field | Google attribute | Rule in Textfinity |
|---|---|---|
| Variant id (or Product id for products without variants) | id | Rename; advanced if the variant id is empty |
| Name + option values | title | Combine brand, name, option values; max 150 chars |
| Description | description | Remove from regexp <[^>]+> to strip HTML; max 5,000 chars |
| Product URL (custom_url) | link | Add prefix https://store.example when the export gives a path |
| Image URL (thumbnail first) | image_link | Rename; additional images → additional_image_link |
| Inventory level + inventory tracking | availability | Advanced: if calc{[inventory_level]} > 0 then "in_stock" else "out_of_stock" |
| Price | price | Add suffix " USD" |
| Sale price | sale_price | Add suffix; empty when blank |
| Brand | brand | Rename; max 70 chars |
| UPC/EAN | gtin | Rename; leave empty when empty |
| Condition | condition | Advanced if, or a three-row Google Sheet lookup, to lowercase New / Used / Refurbished |
| Category (deepest path) | google_product_category | Replace from Google Sheet (substring find-and-replace: list full paths, longest first) |
| Product id (variant rows) | item_group_id | Rename on variant rows |
| Visible / Is visible | (filter) | Filters: visible is equal to true |
Google attributes and limits from Google's product data specification, checked 2026-10-27. BigCommerce field labels vary between the CSV export and the API (name, sku, price, brand, custom_url, inventory_level, upc, condition); the mapping uses the headers in your file.
What to fix before Merchant Center sees a BigCommerce catalog
- HTML descriptions: the BigCommerce editor stores markup. One remove from regexp rule returns plain text within Google's 5,000-character limit.
- Variant ids and groups: BigCommerce variants have their own ids and option values; send one row per variant with the product id as item_group_id so Google shows one listing with option pickers.
- Condition case: BigCommerce exports Condition as New / Used / Refurbished; Google wants lowercase. One advanced if, or a three-row Google Sheet lookup (New → new and so on), fixes it.
- Stock: BigCommerce's inventory level is a number and tracking can be off. Map availability from the level when tracking is on and default to in_stock when it is off, using an advanced if on the tracking column.
- Prices: add the currency code. If you sell in more than one currency, one feed per currency with its own suffix.
- Titles: BigCommerce names are often supplier names. Combine brand, name and the option values, or let an AI config enhance them from name, brand and category (100 to 150 characters, reviewed before use).
Getting the file to a URL and into Merchant Center
Textfinity needs a URL, and BigCommerce's export is a download. Three ways to bridge that: upload the CSV to a Google Sheet and connect the Sheet (Textfinity reads Google Sheets as a source); install a feed app that publishes a raw feed URL; or use the BigCommerce Catalog API with a small script that writes a CSV to a web or SFTP location on cron (Textfinity pulls from either). For a catalog that changes daily, the app or API route keeps stock current; the Sheet route suits catalogs that change weekly.
Merchant Center then fetches the Textfinity feed. In Merchant Center's data sources, a product source added from a file takes the feed URL (http, https, ftp or sftp, pointing at the file itself), a fetch schedule and a login if needed; files can be up to 4 GB. We register it with you, either with access you give us or on a short call. Textfinity rebuilds the feed on the shop's sync schedule and within about five minutes of a mapping change.
Examples
Worked examples, by situation
Three BigCommerce stores, three different catalog shapes.
Variant rows Google can group
Before
name: Trail Runner 2 variant sku: TR2-BLK-10 option values: Black, 10 product id: 118
After
id: TR2-BLK-10 item_group_id: 118 title: Ridgeline Trail Runner 2 Men's, Black, US 10 color: Black size: 10
How we set it up
We map id as a rename of variant sku and item_group_id as a rename of product id, build title as an advanced expression, [brand] + " " + [name] + " Men's, " + [color] + ", US " + [size], and rename color and size from the option value columns.
Lowercase condition and a numeric stock to availability
Before
condition: New inventory_level: 0 inventory_tracking: product
After
condition: new availability: out_of_stock
How we set it up
We map condition as an advanced expression, if [condition] equals "Used" then "used" else if [condition] equals "Refurbished" then "refurbished" else "new", and availability as another: if [inventory_tracking] equals "none" then "in_stock" else if calc{[inventory_level]} > 0 then "in_stock" else "out_of_stock". Advanced expressions cannot read a column name with a space in it, so this uses the API field names; with the CSV export, headers such as Current Stock are renamed in the Sheet first.
Two currencies, two feeds, one mapping
Feed US / Feed CA
US feed: price <- [price] + " USD"
CA feed: price <- [price_cad] + " CAD"
both: custom_label_0 <- if [sale_price] is empty then "full-price" else "on-sale"How we set it up
We build two feeds from the same shop, each mapping price with add suffix for its currency and filtering on the market column. The custom_label_0 advanced expression tags discounted items so the Google Ads campaign can bid on them separately.
Copy this plan
Plan: BigCommerce to Merchant Center
One BigCommerce step, four feed steps that we set up in Textfinity for you, one Merchant Center step.
01
Get the catalog to a URL
Export the CSV from Products → Export → Start export and paste it into a Google Sheet, or install a feed app that publishes a raw URL, or script the Catalog API to a hosted CSV on cron. This happens in BigCommerce.
02
Add the source as a shop
Point the feed tool at the Sheet or the URL. It pulls the file, detects the columns and profiles the data.
What we set up: We add your Sheet, CSV or XML URL as the source and run the feed hygiene profile on it.03
Create the Google Shopping feed
The template pre-fills Google's attribute names; map from the table above.
What we set up: We start the feed from the Google Shopping channel template and map it from the table above.04
Add the fixing rules
Strip HTML, build titles, lowercase condition, compute availability, suffix the currency, set item_group_id. One rule per column.
What we set up: We map description with remove from regexp, title, condition and availability as advanced expressions, and price with add suffix.05
Filter what should not be advertised
Hidden products, zero stock on tracked items, products under a minimum price.
What we set up: We add filters: visible is equal to true; Current Stock is more than 0; Price is greater or equal to 10.06
Hand the feed to Merchant Center
Add the feed URL in Merchant Center as a product source from a file and schedule a daily fetch. This step is in Google's interface.
What we set up: We register the feed URL with a daily fetch in your Merchant Center, with access you give us or on a short call.
Customization tips
Make it yours
Keep the free listings app and use the feed for ads
If Feedonomics Surface already feeds free listings, do not send the same product ids from two sources. Either make the Textfinity feed the single source for both, or use different Merchant Center accounts for ads and listings. One source is simpler to debug.
Use the Sheet route for a first test, the API route for production
A pasted export in a Google Sheet proves the mapping in an afternoon. For daily stock changes, switch the source to a URL that refreshes on cron; the mapping stays the same because the column names do not change.
Custom labels from BigCommerce custom fields
BigCommerce custom fields (up to 250 characters each) export as columns. Map a season or margin-band field to custom_label_0 through custom_label_4 and your Google Ads campaigns can split on them without touching the catalog again.
Let AI write titles only where names are weak
Give the title rule the condition is accepted in AI config: replace from AI config where an AI title was accepted in review, the combined title otherwise. Supplier-style names get rewritten and every other product keeps the combined title. AI configs run on EU-hosted models.
FAQ
Questions about bigcommerce google shopping feed
Does BigCommerce have a free Google Shopping feed?
BigCommerce's help recommends Feedonomics Surface, a free app that creates Google free listings from the catalog. For Shopping ads with rewritten titles, custom labels and filters, a feed tool builds a separate data source; we build and run that feed for you from your export.
How do I export BigCommerce products to a Google Shopping feed?
Products → Export → Start export gives a CSV with every exportable field, sorted by product id. It is a download, so to feed it on a schedule put it in a Google Sheet, use an app that publishes a feed URL, or script the Catalog API. Textfinity then maps the columns to Google attributes and publishes the feed.
Does Textfinity connect to BigCommerce directly?
No. Textfinity reads Google Sheets and any CSV, TSV or Google Shopping XML file reachable by URL or SFTP; BigCommerce connects through one of those. Shopify is the only native connection.
How do BigCommerce variants appear in Google Shopping?
One row per variant with the variant id or SKU as id, the product id as item_group_id, and the option values as color, size or material. Google groups the rows into one listing with variant pickers; apparel sold in the US also requires gender and age_group.
Set up for you
We'll build the BigCommerce Google feed your ads need.
Send us your BigCommerce export or its URL. We map the fourteen fields once, filter the ads subset and register the feed in your Merchant Center with you.
Tell us your store and channels. We reply within 24 hours.