Guide

How to Import & Update Shopify Products from Google Sheets

Last updated: 7 September 2026

Keep your Shopify product data in one shared Google Sheet, then import it once or use Pro or Scale to pick up future changes automatically on a schedule.

Google Sheets is useful when a catalog is maintained by several people or changes often. Instead of exporting a new file after every edit, you can give Simple CSV a public CSV URL for one tab of the sheet.

This guide covers the full setup:

  • Prepare a Google Sheet for a Shopify product import
  • Publish only the tab Simple CSV needs
  • Build and test a public CSV URL
  • Run a one-time import or schedule recurring updates on Pro or Scale
  • Fix an access-denied error without exposing private working data

Shopify and Direct Google Sheets Imports

No, not natively. Shopify's built-in product importer accepts a file uploaded from your computer. It cannot watch a Google Sheet or fetch a spreadsheet from a URL.

Simple CSV fills that gap. Google Sheets can publish one tab as CSV at a public URL, and Simple CSV can read that URL to create products or update existing ones in Shopify. The source still follows normal CSV rules. You maintain it as a live sheet instead of repeatedly exporting and uploading files.

When a Google Sheet Fits Better Than a Local CSV

A published Google Sheet fits product data that several people edit or that changes regularly.

  • One source of truth. Buyers, catalog managers and operations staff can work in the same sheet instead of passing file versions around.
  • No re-export and re-upload cycle. The URL stays the same while the values in the published tab change.
  • Scheduled updates. A Pro or Scale schedule can fetch the current CSV at the chosen time, so new prices or stock values flow into Shopify.
  • A safer publishing boundary. A dedicated export tab can contain only the columns Shopify needs while formulas, notes and costs stay in private working tabs.

For help with identifiers, encoding or spreadsheet auto-formatting, read the Excel and Google Sheets pitfalls in the full CSV guide. For recurring supplier data, see the supplier feed sync guide.

Step 1. Format Your Sheet Like a Shopify CSV

A Google Sheet does not change the product-data rules. Keep one header row at the top and one product or variant row beneath it, following the same structure you would use in a CSV file.

  • Use a single export tab. A CSV URL returns one tab, not a workbook with several tabs.
  • Keep one clean header row. Remove title rows, blank rows above the headers and repeated headers in the data.
  • Do not merge cells. Every value must belong to one row and one column.
  • Protect SKUs and barcodes. Select identifier columns and choose Format → Number → Plain text before pasting values, so leading zeros remain and long numbers do not become scientific notation.
  • Use public image URLs. If the sheet contains an Image Src column, every image URL must load without a sign-in.

Your headers can use Shopify's standard names or you can map your own column names to Shopify fields in Simple CSV. Either way, test a few rows before importing the complete catalog.

Step 2. Make the Sheet Public

Simple CSV fetches the sheet without your Google login, so the exact CSV URL must be public. There are two ways to create it.

Option A. Publish to web (recommended)

  1. Ask the file owner to open the sheet and choose File → Share → Publish to web.
  2. In the first dropdown, select the specific tab that contains your import data.
  3. In the format dropdown, choose Comma-separated values (.csv).
  4. Click Publish and confirm.
  5. Copy the URL ending in /pub?output=csv.

This is the preferred method because it publishes the selected tab as a durable CSV feed. It can remain available even if general link sharing for the working spreadsheet is restricted later. To stop access, you must explicitly stop publishing the document.

Option B. Share the normal sheet URL for a single-tab file

  1. Ask the file owner to click Share and set General access to Anyone with the link.
  2. For a spreadsheet with a single tab, copy the normal Google Sheets URL from the browser.
  3. Paste that URL directly into Simple CSV.

This is the easiest option for a single-tab file. For a spreadsheet with multiple tabs, use Option A so the file owner can publish the exact tab you need. A shared link is more fragile. The import stops working if someone changes General access back to Restricted or a Workspace administrator disables external sharing.

Always test the exact URL in a private or incognito browser window. A published URL should download a CSV or display comma-separated data. A normal shared URL should open the sheet without asking you to sign in.

Step 3. Import or Schedule the Sync

Once the public URL works in a private window, use it as the source for a Simple CSV import.

  1. Start a URL import in Simple CSV and paste the published CSV URL or public single-tab Google Sheets URL.
  2. Choose whether to create new products or update existing products.
  3. Map the sheet's columns to the Shopify product fields you want to change.
  4. Preview the result and run a small test before importing every row.

For an update, match products by a stable identifier such as SKU or barcode. Only map fields that the sheet should control. For example, a stock-and-price sync does not need to overwrite product titles or descriptions.

Simple CSV compares SKU, barcode and handle values exactly after ignoring letter case and surrounding spaces. A prefix is not a match. If an exact SKU or barcode belongs to more than one product, the row is skipped and the import log reports the conflict.

A one-time import reads the sheet once. On Pro or Scale, you can save the setup as a recurring schedule. Simple CSV then re-fetches the same URL at each run, so edits made to the published tab flow into Shopify automatically. The scheduled URL import walkthrough covers mapping, matching and scheduling in more detail.

Fix an "Access Denied" Error

The most common cause is that the sheet is still set to Restricted or no longer opens publicly. Test the exact URL in a private window first. It should open without asking you to sign in.

For step-by-step troubleshooting, see how to fix Google Sheets/Docs “access denied” →

Best Practices for Google Sheets Imports

  • Publish a dedicated export tab. Keep formulas and working notes elsewhere. Expose only final values and columns needed for the import.
  • Remove private business data. Do not publish costs, margins, internal notes, customer data or supplier credentials. Public means anyone with the URL can access it.
  • Keep identifiers stable. Treat SKU and barcode columns as Plain text and do not recycle identifiers across products.
  • Limit what updates. Map only the columns the sheet owns to avoid overwriting carefully edited Shopify fields.
  • Test before scheduling. Run a small manual import, check the affected products and only then enable a recurring schedule on Pro or Scale.
  • Re-test access after sharing changes. If a security review or account change affects the spreadsheet, verify the URL again in a private window.

Google Sheets FAQ

Frequently Asked Questions

Does the whole Google Sheets file need to be public or just one tab?

With the recommended Publish to web method, only the selected tab needs to be published. A normal shared link exposes the whole spreadsheet, so use Publish to web or a dedicated single-tab file when other tabs must remain private.

Will Shopify see my Google Sheet edits automatically?

Only if you set up a scheduled import on Pro or Scale. A one-time URL import reads the sheet once. A Pro or Scale schedule re-fetches the published CSV URL at the configured time.

Is there a size limit for Google Sheets imports?

The same plan limits apply as for any URL import: the Free plan supports up to 100 rows, while Pro and Scale support unlimited rows.

Can I use a Google Sheet for product images too?

Yes. Put a fully public image URL in the Image Src column or map your image URL column to Image Src in Simple CSV. The image itself must be publicly accessible.

It worked before and now says access denied. What changed?

The sheet or published tab was likely made private or a Google Workspace sharing policy changed. Re-test the exact import URL in a private browser window and follow the Google Sheets access denied troubleshooting steps for more help.

Can I password-protect the sheet and still import it?

No. Simple CSV must be able to fetch the CSV without signing in, entering a password or using your Google account session. Use a dedicated public export tab and keep private data elsewhere.

Run an Import from Google Sheets

Publish a clean export tab before adding it to Simple CSV. The Free plan lets you test up to 100 rows before moving the import to a Pro or Scale schedule.