What the free audit checks, and what it cannot see
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
| Tag | What the audit looks for |
|---|---|
| GA4 | Google'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 Manager | The container snippet or the gtm.js loader, including a container served from your own domain. |
| Google Ads | An AW- ID that is loaded, or Google's conversion script. |
| Meta Pixel | The fbevents.js loader, an init call, or the entry that Shopify's Facebook & Instagram app leaves in Shopify's pixel settings. |
| Google tag | A 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 Analytics | Flagged as retired if it is still loading. Google stopped it collecting data, so it is a leftover. |
| Other analytics | Cloudflare 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.
| Label | What it means |
|---|---|
| In theme code | The 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 app | The 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 pixel | A 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 visible | The 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
| Chip | What it means |
|---|---|
| Found | The tag is in the HTML your pages serve. |
| Not found | The audit did not find it. If you do not use that tag, that is fine. |
| Two copies | The same tag is installed twice, for example in the theme and through an app. |
| Theme only | On Shopify, the tag is in theme code and nowhere else, so it does not run on checkout. |
| Retired | A Universal Analytics tag is still loading. |
| Not visible | The 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.
| Check | What it flags |
|---|---|
| Titles | No title, longer than 60 characters, shorter than 20, or the same title on more than one page. |
| Meta descriptions | None, longer than 160 characters, shorter than 70, or shared with other pages. |
| Headings | No 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 text | Images 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 tags | Missing, 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 previews | The five Open Graph tags (title, description, url, type and image) and Twitter card tags. |
| Structured data | JSON-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. |
| Indexing | A noindex tag, an html tag with no lang attribute, and pages that show almost nothing until JavaScript runs. |
| robots.txt and sitemap | No 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 profiles | An 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.
What your cookie banner does
We do not click it. A script may name a tag, but we cannot see what runs before or after a visitor answers.
Run the test order twice, once accepting cookies and once declining. GA4 purchase event not firing covers the cookie banner trap, and the tracking audit guide lists what else to test by hand.
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.
- A missing llms.txt file. Google has said it does not use one, so not having one costs you nothing in search.
- An empty alt on a decorative image. That is the correct markup. It tells screen readers to skip the image.
- A folder blocked in robots.txt. That is usually deliberate, so we only speak up when robots.txt blocks the whole site.
- Keyword density and word counts. Google does not rank pages on either.
- The meta keywords tag. Google has ignored it since 2009.
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.