Guide
How to Import Shopify Products from Google Sheets
Last updated: October 9, 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. Changed files update Shopify, while unchanged files are skipped after a fully successful scheduled run.
- 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 and repeated headers in the data. Simple CSV skips blank lines above the first row that contains 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)
- Ask the file owner to open the sheet and choose File → Share → Publish to web.
- In the first dropdown, select the specific tab that contains your import data.
- In the format dropdown, choose Comma-separated values (.csv).
- Click Publish and confirm.
- 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
- Ask the file owner to click Share and set General access to Anyone with the link.
- For a spreadsheet with a single tab, copy the normal Google Sheets URL from the browser.
- 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.
- Start a URL import in Simple CSV and paste the published CSV URL or public single-tab Google Sheets URL.
- Choose Import new products.
- Map the sheet's columns to the Shopify product fields you want to change.
- Preview the result and run a small test before importing every row.
After you submit the Sheet URL, Simple CSV shows download progress before it validates the file. It shows a percentage when Google reports the total size, or the downloaded size so far when it does not.
For a new-product import, use Override status for all new products on the Preview page to make every new product Active, Draft or Unlisted. The choice overrides a mapped Status column or the default status. If you save the import as a Pro or Scale schedule, the same override is used whenever the scheduled file is processed.
To change products that are already in Shopify, follow the Google Sheets update guide. It covers match keys, update-only runs and mapping only the fields the Sheet should control.
A one-time import reads the sheet once. On Free, select Start import on the Summary page, or Try import (100 rows) if the sheet is over the plan's limit. On Pro or Scale, select Save & Run now to save the setup and queue one run without creating a schedule. Select Save & Schedule when you want to create or edit a recurring schedule. Simple CSV then re-fetches the same URL at each scheduled time. After a fully successful scheduled run, it skips the file when the published CSV and settings are unchanged. Select Run now on the automation if you need to apply that unchanged file again. 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 access errors →
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.