Website Tracking & Analytics Audit
Free SEO + tracking audit — see exactly what's broken in under 60 seconds
Your website's tracking infrastructure is mostly healthy, with Google Tag Manager (GTM) and Google Analytics 4 (GA4) functioning correctly on the homepage. Both Google Ads and GA4 tags fired as expected. However, there's a warning regarding Google Consent Mode, which wasn't detected, and tag load performance was slower than optimal. Additionally, there's a gap in tracking the 'view_item_list' event, which should be firing on your homepage. Since your store isn't on Shopify, Trekkie and Web Pixels API aren't applicable, but it's important to address the slow tag load times and ensure all relevant events are firing. Next, you should audit product pages, cart, checkout, and order-confirmation pages to ensure comprehensive tracking across your site. Given the current issues, I recommend connecting your store to PayHelm AI for further insights and optimization.
GTM container installed and loading.
GA4 is installed and sending data.
4 of 4 key funnel stages look healthy.
No data-quality issues found in tracked events.
Consent Mode not detected.
Tag loading is slower than ideal.
No conflicting analytics IDs.
No Google Consent Mode was detected. Since March 2024 Google requires Consent Mode v2 for sites with EEA/UK traffic running Google Ads — without it, conversion and remarketing data is lost for users who haven't consented.
Google Tag Manager took 5.3s to load. Slow tag loading delays tracking and can hurt page performance — consider reducing the number of tags or loading them later.
No cross-domain (linker) tracking was detected. If your checkout or other steps live on a different domain, set up linker tracking so visits aren't split into separate sessions.
Google Ads Enhanced Conversions were not detected. They send hashed first-party data (email/phone) to recover conversions lost to cookie restrictions — worth enabling if you run Google Ads.
GA4 User-ID tracking was not detected. If you have logged-in users, setting a User-ID lets GA4 join their activity across devices and sessions.
We couldn't reach the checkout or order-confirmation page during this audit, so purchase tracking is unverified. Purchase is the single most important event to get right — test it with a real or test order and confirm the 'purchase' event fires once on the thank-you page.
SEO fundamentals look solid across all checks.
Title is 53 characters — within the ideal 30–70 character range.
PayHelm: The Agentic Analytics Platform for Ecommerce (53 chars)Meta description is 150 characters — within the ideal 70–160 character range.
AI Agent automates your ads, inventory, and email. AI Report Builder answers any business question i… (150 chars)One H1 heading found — the recommended structure for every page.
The AgenticAnalytics Platformfor EcommerceNo noindex directive — the page is eligible to be indexed.
No robots meta tag (defaults to index, follow).Canonical tag points to the page itself — no duplicate-content signals sent to search engines.
https://www.payhelm.com/All core Open Graph tags found — links display richly when shared on social media.
og:title ✓ og:description ✓ og:image ✓Structured data found — search engines can use it to generate rich results (star ratings, FAQs, products, breadcrumbs, etc.).
JSON-LD script foundViewport meta tag found — the page is set up for mobile-friendly rendering.
viewport meta tag presentAI discoverability looks strong — AI crawlers can access, parse, and cite this site's content.
llms.txt is present and well-formed — AI assistants that check this file can quickly find your key pages and docs.
Found at /llms.txt with a title heading and 11 linked resources.robots.txt doesn't block any major AI crawler — ChatGPT, Claude, Perplexity, and Google's AI features can all fetch and cite your content.
All 15 known AI crawlers are allowed.JSON-LD is present, but not using the schema types AI engines rely on most (FAQPage, Product, Organization, Article). Consider adding one that matches your content.
JSON-LD present but no @type found.Meaningful text content is present in the raw HTML response — AI crawlers that don't execute JavaScript can still read and cite this page.
~1614 words of text visible in the raw HTML response.A sitemap is available at /sitemap.xml, helping both search engines and AI crawlers discover your full set of pages efficiently.
Found at /sitemap.xml.- Add FAQPage or Organization structured data (JSON-LD) — AI answer engines pull facts directly from these schema types when citing sources.
WooCommerce markup (woocommerce / wc-* classes) in HTML
Marketing & analytics tags observed sending data while the page loaded.
Every dataLayer push observed during page load — with full payload and configuration analysis.
›GTM lifecycle events (3)— gtm.js, gtm.dom, gtm.load, etc.
Data points present in the dataLayer that your tags can read (the values pushed alongside each event).
The actual tracking requests your browser sent — the ground-truth proof that a tag fired.
GTM-WMBP43B
A Google Tag Manager container is installed on this page.
1/1 container(s) returned a successful gtm.js response.
The container's JavaScript downloaded successfully, so GTM can run.
Found <noscript> ns.html iframe.
The fallback for visitors with JavaScript disabled is in place.
GTM snippet appears inside <head>.
The container is loaded early, as Google recommends, so tags fire as soon as possible.
dataLayer is defined before the container snippet.
Data is available to tags from the very first event.
GA4 — collect hit observed.
Google Analytics 4 is actively sending pageview/event data.
13 error(s) logged.
JavaScript errors were logged during page load. These don't necessarily affect tracking — only errors that directly interrupt pixel execution matter. See any vendor-specific errors below for actionable issues.
WooCommerce markup (woocommerce / wc-* classes) in HTML
This site runs on WooCommerce. Tracking setup and common pitfalls differ by platform, which is factored into this audit.
No consent API calls observed
No Google Consent Mode was detected. Since March 2024 Google requires Consent Mode v2 for sites with EEA/UK traffic running Google Ads — without it, conversion and remarketing data is lost for users who haven't consented.
Fix this issueGTM 5317ms, GA4 first hit 2173ms, DOMContentLoaded 884ms
Google Tag Manager took 5.3s to load. Slow tag loading delays tracking and can hurt page performance — consider reducing the number of tags or loading them later.
Fix this issueNo linker configuration observed
No cross-domain (linker) tracking was detected. If your checkout or other steps live on a different domain, set up linker tracking so visits aren't split into separate sessions.
Not detected
Google Ads Enhanced Conversions were not detected. They send hashed first-party data (email/phone) to recover conversions lost to cookie restrictions — worth enabling if you run Google Ads.
Not detected
GA4 User-ID tracking was not detected. If you have logged-in users, setting a User-ID lets GA4 join their activity across devices and sessions.
purchase observed=false, checkout page audited=false
We couldn't reach the checkout or order-confirmation page during this audit, so purchase tracking is unverified. Purchase is the single most important event to get right — test it with a real or test order and confirm the 'purchase' event fires once on the thank-you page.
Fix this issueFunnel events are page-specific: purchase only fires on order confirmation, add_to_cart requires a user click. Events shown as are not observable on this page type — audit each page separately for full coverage.
Discovery
Not observed on this page. Set up 'view_item_list' on your collection/category/search pages for funnel visibility.
Fix this gapNot observed during this load — 'select_item' requires user interaction on collection/category pages. Verify by manually testing the action on that page.
Consideration
Not observable on home pages — 'view_item' only fires on product detail pages. Audit that page type to verify coverage.
Cart Activity
Not observable on home pages — 'add_to_cart' only fires on product pages and cart. Audit that page type to verify coverage.
Not observable on home pages — 'remove_from_cart' only fires on cart page. Audit that page type to verify coverage.
Not observable on home pages — 'view_cart' only fires on cart page. Audit that page type to verify coverage.
Checkout Funnel
Not observable on home pages — 'begin_checkout' only fires on checkout entry page. Audit that page type to verify coverage.
Not observable on home pages — 'add_shipping_info' only fires on checkout shipping step. Audit that page type to verify coverage.
Not observable on home pages — 'add_payment_info' only fires on checkout payment step. Audit that page type to verify coverage.
Not observable on home pages — 'purchase' only fires on order confirmation / thank-you page. Audit that page type to verify coverage.
Post-Purchase
This event fires server-side (server-side or order management system) and cannot be observed by a browser-based audit.
Minified React error #418; visit https://reactjs.org/docs/error-decoder.html?invariant=418 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
Minified React error #418; visit https://reactjs.org/docs/error-decoder.html?invariant=418 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
Minified React error #423; visit https://reactjs.org/docs/error-decoder.html?invariant=423 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
Failed to load resource: net::ERR_FAILED
Failed to load resource: net::ERR_FAILED
Failed to load resource: net::ERR_FAILED
Failed to load resource: net::ERR_FAILED
Failed to load resource: net::ERR_FAILED
Failed to load resource: net::ERR_FAILED
Failed to load resource: net::ERR_FAILED
Refused to connect to 'https://ad.doubleclick.net/ccm/s/collect?auid=448403112.1786908328>m=45be68c1h1v9118120533za200zd9118120533xec&fmt=8' because it violates the following Content Security Policy directive: "connect-src 'self' https://api.sendgrid.com https://www.google.com https://www.googleta
Refused to connect to 'https://ad.doubleclick.net/ccm/s/collect?auid=448403112.1786908328>m=45be68c1h1v9118120533za200zd9118120533xec&fmt=8' because it violates the document's Content Security Policy.
Failed to load resource: the server responded with a status of 404 ()
Your tracking has gaps — PayHelm can fix this.
Broken tags mean lost attribution and bad decisions. PayHelm unifies your ecommerce, ad, and analytics data so every number is trustworthy — no guesswork.