Skip to content
feedlab Request early access

Feed format

Google Sheets

Google Sheets feed

A Google Sheets feed is a spreadsheet the channel reads directly, with a header row naming the attributes and one row per product. It removes every escaping problem a delimited file has, and it replaces them with a person who can edit the catalogue by hand.

Specification

Content type
Not applicable: the channel reads the spreadsheet through the Sheets API rather than fetching a file.
Compression
Not applicable.
One product is
The first row holds the attribute names and each subsequent row is one product. Columns correspond exactly to the attributes of a delimited feed, and the channel reads the sheet directly rather than downloading an exported file.
Escaping
There is nothing to escape, because cell boundaries are structural rather than punctuation. The equivalent hazard is type coercion: a cell that looks numeric is stored as a number, so identifier columns must be formatted as plain text before any value is entered.

A valid google sheets feed

Two products, every required attribute, nothing omitted for brevity. Copy it and replace the values.

Row 1 is the header and every following row is one product. The same columns as a
delimited feed, with no quoting or escaping to get wrong:

   |  A            |  B                        |  C              |  D          |  E
 1 |  id           |  title                    |  price          |  brand      |  availability
 2 |  SHIRT-BLK-M  |  Oxford Shirt, Black, M   |  49.00 GBP      |  Northbound |  in_stock
 3 |  SHIRT-BLK-L  |  Oxford Shirt, Black, L   |  49.00 GBP      |  Northbound |  out_of_stock

Format the id and gtin columns as plain text before entering any values, or the
spreadsheet will treat them as numbers and strip leading zeros.

Which channels accept it

Channel support for Google Sheets
Channel Support Notes
Google Shopping Supported Merchant Center can read a linked sheet directly, and can generate a template one for you.
Meta Supported Accepted as a data feed source for a Commerce Manager catalogue.
Microsoft Advertising Not supported Microsoft fetches a file from a URL or imports a Google Merchant Center account.
Pinterest Not supported Pinterest fetches a CSV, TSV or XML file from a URL.
OpenAI Not supported OpenAI takes files pushed over SFTP.

What breaks a google sheets feed

The spreadsheet eats identifiers

A GTIN typed into a General-formatted cell becomes a number, and its leading zero is gone before you press enter. Long identifiers can also render in scientific notation. Formatting the id and gtin columns as plain text first is the only reliable prevention, and it has to happen before data is entered rather than after.

It is a catalogue someone can edit

A sheet invites manual correction, which is exactly why it appeals. It also means the feed and the store can disagree, because a price fixed in the sheet is not a price fixed in Shopify. The next generated update overwrites the edit, or worse, does not.

Rewriting a whole sheet does not scale

Keeping a sheet in step with a catalogue of any size means rewriting thousands of rows through the API on every update, which is slow and rate limited. Beyond a small catalogue, a generated file at a stable URL is both faster and less fragile.

Access is a permission, not a URL

A fetched feed breaks visibly when its URL stops working. A sheet breaks when someone changes its sharing settings, moves it into a different drive, or leaves the company, and the failure looks like a channel problem rather than an access one.

Frequently asked questions

Can I use a Google Sheet as a product feed?

Yes, for Google Merchant Center and for Meta. It suits a small catalogue that is genuinely maintained by hand, and it removes every quoting and encoding problem a delimited file has.

Why do my GTINs lose their leading zeros in a sheet?

Because a General-formatted cell stores a numeric-looking value as a number. Format the identifier columns as plain text before entering anything, since reformatting afterwards does not bring the zeros back.

Is a Google Sheet feed a good idea for a Shopify store?

Only for a small, slow-moving catalogue. Shopify already holds the product data, so a sheet adds a second copy that someone can edit, and keeping it current means rewriting every row on every update.

Which channels do not accept Google Sheets?

Microsoft Advertising, Pinterest and OpenAI all expect a file: a fetched URL for the first two and an SFTP push for OpenAI.

Errors this format causes

Related concepts

Primary sources

Channel specifications change. These are the official documents this page is based on.

Last reviewed View as markdown