When you start syncing inventory, the very first decision you have to make is "what should I use as the key to match products?" Connecting Google Sheets to Shopify requires a mechanical way to decide which product in Shopify corresponds to row A of your sheet. This is where either the barcode (GTIN/JAN/EAN/UPC and so on) or the SKU (your internal product code) comes in.
Either one will work, but the fit clearly varies by business type. Starting with the wrong key can lead one day to "the products don't match" or "inventory gets duplicated." This article organizes the differences between the two, how to choose by business type, and the pitfalls when you change your mind later.
Refresher: barcode vs. SKU
Barcodes and SKUs are fundamentally different. A barcode is a globally shared identifier issued by manufacturers or industry bodies. JAN in Japan, EAN in Europe, UPC in North America: the standards differ by region, but they all share the property that "the same product has the same number anywhere in the world." Boxes shipped from your supplier usually already have a barcode printed on them.
An SKU, by contrast, is an internal code that your store sets freely. Some stores design SKUs like "BLK-LARGE-001" so color, size, and season are readable; others just number them sequentially: 1001, 1002, and so on. Because they are not globally shared, it doesn't matter at all if another company uses the same SKU.
Stores where barcodes fit best
When you use barcodes as your sync key, you get a big advantage: you can use the product master from your manufacturer or wholesaler as is. When a supplier sends a delivery CSV, if the JAN column can be matched against Shopify directly, you save the work of re-assigning SKUs. This compatibility really pays off for resale stores that carry products from other brands.
When you carry products with many variants
For fashion, general goods, food, and other categories with many color and size variants, a barcode key is especially effective. Each variant typically has its own JAN code, so syncs match accurately at the variant level. If you use SKUs instead, you have to design a per-variant naming convention yourself, and a sloppy design lets similar SKUs proliferate until things get out of hand.
When you have a picking floor
If you use handheld scanners in a warehouse or back-of-store to manage receiving and shipping, anchoring on barcodes is overwhelmingly faster. If a scan instantly identifies the matching Shopify variant, no one needs to spend time visually confirming "this is SKU TX-002." Speed also reduces mistakes.
Stores where SKUs fit best
On the other hand, stores centered on their own original products are better served by SKUs. Handmade creators, D2C brands, and original-design apparel makers usually don't have a supplier, so they have to choose between obtaining a barcode or assigning one themselves. In the phase where "getting an official JAN can wait," running on SKUs alone is the realistic choice.
SKUs also have the strength of "carrying meaning." If you name one "TSHIRT-RED-M-2025SS," you can read the item and season just by looking at the code. That quietly pays off when scanning an inventory list by eye or filtering in Google Sheets.
- Stores centered on their own products (original brands, D2C)
- Frequent new products that don't yet have barcodes
- You want to encode meaning to make search and aggregation easier
- Mostly simple structures with one variant per product
That said, SKUs come with the responsibility of "preventing duplicates yourself." Barcodes practically never duplicate by design, but SKUs collide easily if someone slips and assigns the same number twice. If you use SKUs as a sync key, you need to enforce naming conventions strictly across the team.
Points to watch when switching keys
It's not unusual to start with SKUs and then want to switch to barcodes as suppliers grow. The opposite case also exists: starting with JAN and migrating to SKUs as in-house products increase. Either direction is possible, but there are several points to watch.
- 01Before switching, confirm that every Shopify variant has the new key filled in
- 02Rewrite the key column in your Google Sheet too (it's safest to keep the old key as a backup column)
- 03At the moment of the switch, run a single manual sync and check that matching works as expected
- 04Change the key setting in your sync app
- 05For a few days, review the logs carefully to look for any rows that didn't match
What's especially scary is when some of the old or new keys are blank. If a Shopify variant has no barcode, the moment you switch to a barcode key that variant becomes "missing." The sync still runs but just silently skips, while the inventory stays stuck at old values. It's a quiet failure mode.
Summary: choose to fit your business and operation
There's no universal right answer between barcode and SKU. Resale-centric stores: barcode. Own-product-centric stores: SKU. Have a picking floor: barcode. The answer emerges naturally from how your store operates. When in doubt, choose the option your future self will not regret six months or a year from now. A sync key is a partner you'll live with for a long time once you commit.