All posts

What a Free Shopify Tracking Scan Can (and Can't) See

If you found our free scan at setello.com/scan, a fair question before you trust it with your store's URL is: what does this thing actually check, and what can it not see. We would rather tell you plainly than have you find out the hard way.

So we ran it against 23 real stores and are publishing the honest results, gaps included.

Where we got the 23 stores

We pulled the sample from Shopify's own public "Store Feedback" community forum, where real store owners post their own URL asking other merchants for feedback. That is a fair, unpicked sample of small and mid-size Shopify stores actively run by real people, not a list we chose to make a point.

We are not naming any of the 23 stores here. This post is about what the scan can and can't do in general, not about any one store's problems.

What it actually checks

Two different kinds of check, and they are not equally reliable.

Product structured data is the strong one. Every Shopify product page carries a block of JSON-LD in its HTML, the code that tells Google what the product is, what it costs, and whether it's in stock. That block is written into the page on the server, so a plain fetch sees exactly what Google sees. Nothing is hidden from us here.

Tracking tag duplication is the weaker one, and we'll get to why below. It looks at the raw page source for things like two different Google Tag Manager containers, two different GA4 measurement IDs, or a Meta Pixel base snippet that calls fbq('init', ...) more than once. When we find one of those, it's real: the evidence is a literal duplicate in the code, not a guess.

What it found on the 23 stores

  • 14 of 23 stores (61%) had a definite, quotable problem in their product structured data: a missing GTIN or MPN, a missing SKU, or no Product data on the page at all.
  • 11 of 23 stores showed no Google Tag Manager, GA4, or Meta Pixel tag anywhere in their homepage's raw source.
  • 5 of 23 stores didn't have a product page our scan could find at all, so structured data wasn't checked on those.
  • Zero of the 23 had a duplicate tag we could prove from the homepage alone.

That last line is the one worth sitting with.

Why "no tags found" is not "tracking is fine"

Eleven stores in our sample showed nothing: no GTM, no GA4, no Meta Pixel, nothing in the raw HTML at all. That is not a clean bill of health. It almost certainly means those stores load their tracking through Shopify's own Customer Events / Web Pixels system, which runs after the page loads, inside a sandbox that a plain fetch (ours, or anyone else's) cannot read into. The tags might be perfect. They might be duplicated three times over. A static scan genuinely cannot tell, and we would rather say that outright than print a green checkmark we can't back up.

This is also why our scan found zero duplicate-tag problems in this batch, even though we know from other stores we've looked at that the bug is real and does happen. Catching a duplicate tag from outside requires the old-style setup, tags hardcoded straight into the theme, which is exactly the setup that's disappearing as more stores move to Shopify's native pixel system. The bug didn't stop existing. It moved somewhere we can't see from a browser-less fetch.

What it cannot see, full list

  • Your ad accounts. We never log into Google Ads or Meta Ads. We only ever read your public pages.
  • Whether a tag fires, only whether it's present. We can see an ID referenced in your code. We cannot run your checkout, so we cannot confirm every event actually sends when it should.
  • Anything behind Shopify's Web Pixels / Customer Events system. That includes most modern Shopify installs. It is sandboxed by design, invisible to any static reader.
  • Your checkout page. Shopify's own checkout is not something a public fetch can reach on most plans.

What to do with a result like this

If our scan comes back with a definite product-data finding, that one you can verify yourself in under a minute: view the page source, search for application/ld+json, and look for the field we named. If it comes back saying it found no tags, treat that as "check it directly in your Shopify admin," not as a pass.

We wrote up the most common product-data gap in detail, with the exact two-minute fix, in our post on missing GTIN and MPN data.

Run your own store through the same scan at setello.com/scan and you'll get the same kind of plain answer: what we found, what we couldn't see, and why.