AuditTag

What the free audit checks, and what it cannot see

By Sam ParkinsonChecked 30 September 20267 min read

The short answer. It reads the HTML your pages serve, so it shows which tags are installed, not whether a purchase actually fires. It reads up to 25 public pages of your site, looks at the tracking tags and on-page SEO listed below, and names what it cannot see so you know which tests are still yours.

Nothing here needs a login. The audit never writes to your site and never asks for access.

This is the full list. What the audit cannot see is held in one file in our code and the report reads it from there, so this page and your results say the same thing.

Tracking

The audit looks for four tags and counts them: GA4, Google Tag Manager, Google Ads and the Meta Pixel. The report shows the count as tags present, with a chip on each. Not finding Tag Manager or Google Ads is fine if you do not use them, so the count is a count and not a grade.

What counts as a tag

TagWhat the audit looks for
GA4Google's loader with a G- measurement ID, a config call for one, or a G- ID that something on the page loads. An ID that only appears in a cookie banner's settings is not treated as a tag.
Google Tag ManagerThe container snippet or the gtm.js loader, including a container served from your own domain.
Google AdsAn AW- ID that is loaded, or Google's conversion script.
Meta PixelThe fbevents.js loader, an init call, or the entry that Shopify's Facebook & Instagram app leaves in Shopify's pixel settings.
Google tagA GT- tag, which the Google & YouTube app sets up. It is shown but not counted. With no GA4 ID beside it, the audit says it cannot see a GA4 ID and never says there is no GA4.
Universal AnalyticsFlagged as retired if it is still loading. Google stopped it collecting data, so it is a leftover.
Other analyticsCloudflare Web Analytics, Plausible, Fathom, Umami, Matomo, Microsoft Clarity, PostHog and Simple Analytics. Shown, not counted, so a store measuring with one of them does not read as measuring nothing.

How a tag is installed

On Shopify each tag that is found says how it got there, because that decides whether it can see a sale. Off Shopify there is no route to report, so a found tag just reads detected.

LabelWhat it means
In theme codeThe tag is in your theme's own code, or in an app embed. Shopify does not load the theme on checkout or the thank-you page, so a tag installed only this way does not run there.
Via Shopify appThe tag is in an app's entry in Shopify's pixel settings, such as the Google & YouTube app or the Facebook & Instagram app. Shopify loads these itself, and they run on checkout too.
Via custom pixelA pixel added by hand under Settings, then Customer events. The audit can see that custom pixels exist. What is inside them is not visible.
Not visibleThe tag may well exist, but nothing in the page shows it. This is what you see beside a Tag Manager container, where GA4, Google Ads and Meta may be set up inside it.

The chips on the report

ChipWhat it means
FoundThe tag is in the HTML your pages serve.
Not foundThe audit did not find it. If you do not use that tag, that is fine.
Two copiesThe same tag is installed twice, for example in the theme and through an app.
Theme onlyOn Shopify, the tag is in theme code and nowhere else, so it does not run on checkout.
RetiredA Universal Analytics tag is still loading.
Not visibleThe tag may be set up inside Tag Manager or a custom pixel, where the page does not show it.

On-page checks

The audit reads up to 25 public pages, honours your robots.txt and does not run JavaScript. If a page shows almost no content without JavaScript, the audit says so and holds back its other checks on that page, because they would be unreliable. Every threshold below is the one in the code.

CheckWhat it flags
TitlesNo title, longer than 60 characters, shorter than 20, or the same title on more than one page.
Meta descriptionsNone, longer than 160 characters, shorter than 70, or shared with other pages.
HeadingsNo H1, more than one, an empty H1, an H1 that is only an image with no alt text, or a heading level that is skipped.
Image alt textImages with no alt attribute, alt text that is just the file name, and alt text over 125 characters. An empty alt on a decorative image is correct and is left alone.
Canonical tagsMissing, repeated, empty, relative, pointing at another domain, pointing at http on an https site, or pointing at a page the audit did not find on your site.
Social previewsThe five Open Graph tags (title, description, url, type and image) and Twitter card tags.
Structured dataJSON-LD that is not valid JSON, no Organization markup on the homepage, no Article markup on an article page, no Product markup on a product page, and a page with an address and phone number but no LocalBusiness markup. Markup written as microdata or RDFa counts as present.
IndexingA noindex tag, an html tag with no lang attribute, and pages that show almost nothing until JavaScript runs.
robots.txt and sitemapNo robots.txt, a robots.txt that blocks the whole site, no sitemap.xml, pages missing from it, no lastmod dates, a newest lastmod more than 180 days old, or a sitemap that robots.txt does not point to.
Articles and profilesAn article with no named author or no date, and social profile links that your structured data does not declare as yours.

Critical is kept for the few things that take a page out of search or out of your numbers: a noindex, a robots.txt that blocks the site, and content that only exists after JavaScript runs. A missing title or alt text is worth fixing and the Fix Pack writes it, but it does not stop a page ranking, so it is a warning.

Want to see the list applied to your own store? The audit is free and takes about a minute. Run a free audit →

What it cannot see

This is a presence check of the HTML your pages serve. Some things sit outside that, and you should know which before you trust a green tick. Each gap below has the way to close it yourself.

Whether a purchase event fires on a real order

We never place an order or run your scripts, so we see that a tag is installed and not what it sends.

Place a test order and watch what arrives in GA4 DebugView and Meta Test Events. Our step by step guide is how to test a GA4 purchase in DebugView on Shopify. Conversion tracking QA shows how to make it a routine.

Your checkout and thank-you pages

They need a cart and a payment, and we only read pages a visitor can open without buying.

Place a test order and look at each tag on the thank-you page. The Shopify tracking guide explains which install routes reach checkout, and the theme.liquid post shows the usual way a pixel misses it.

The Conversions API

It sends events from a server, so nothing about it shows in your pages.

Meta Events Manager shows where each event came from, the browser or a server. The Meta Pixel audit covers how browser and server events fit together.

Server-side tagging, including server-side Tag Manager

A container served from your own domain looks like any other. What it sends on from the server never reaches the page.

Open the server container in Tag Manager and use its preview mode. Google explains preview mode in its own help pages. The dataLayer testing guide covers what your pages push before any of that.

Whether a tag in your theme also reaches checkout

This one applies to Shopify stores.

We can see how each tag is installed. We cannot see what Shopify loads on checkout, so that part is worked out from the install and not seen.

A test order shows it. Settings, then Customer events, in your Shopify admin lists the pixels that run there. The free Shopify pixel checker shows how each pixel on your homepage is installed, and the Shopify tracking guide explains why that matters.

What we leave out, on purpose

We keep Critical for problems that take a page out of search or out of your numbers. Some audits mark the things below as urgent. They are not, so you will not find them in your list.

How AuditTag handles it

What AuditTag checks

  • Which of GA4, Tag Manager, Google Ads and the Meta Pixel are in the HTML your pages serve
  • On Shopify, whether each is installed in theme code, through an app or as a custom pixel
  • Leftover Universal Analytics, and other analytics tools
  • On-page SEO across up to 25 pages, from titles and alt text to robots.txt and the sitemap

What this doesn't prove

A tag that is found is installed. It is not shown to fire, to send the right value or to respect your cookie banner. A tag that is not found may still exist, because Tag Manager, custom pixels, server-side tagging and checkout pages do not show in your HTML. A clean on-page report does not promise a ranking.

Check your own store

The free audit reads your public pages and shows what it can and cannot see, in about a minute. No account, no card, nothing installed.

Run a free audit →

Questions people ask

Does the free audit tell me whether my purchase tracking works?

No. It reads the HTML your pages serve, so it shows which tags are installed, not whether a purchase actually fires. A test order in GA4 DebugView and Meta Test events is how you find out.

Why does the audit sometimes say a tag is not visible instead of not found?

Tags added inside Tag Manager, pixels under Customer events and server-side tagging do not show in the page. Where a Tag Manager container is present, the audit says not visible for GA4, Google Ads and the Meta Pixel, because they may be set up inside it.

Does the audit log in to my store or change anything?

No. It reads the public pages any visitor can open, follows your robots.txt and never writes to your site. The crawler page says exactly what it fetches.

What does Guardrails add?

Guardrails reads your public pages and tells you when a tag it has seen disappears or doubles up. It does not say whether a purchase fired. It is in early access and set up by hand.

Keep reading