Website Tracking & Analytics Audit
PayHelm

Website Tracking & Analytics Audit

Free SEO + tracking audit — see exactly what's broken in under 60 seconds

Full GTM config is private — this reports the observed runtime container (what actually loads & fires). We'll email your report to the address above.

Works, with issueshttps://www.americanfixers.com/

The audit of your homepage tracking setup shows that your Google Tag Manager (GTM) and Google Analytics 4 (GA4) are functioning well, with the necessary scripts loading correctly. However, there are a couple of areas that need attention: the absence of a <noscript> fallback and the dataLayer not being initialized before the GTM container, which could affect data accuracy. Additionally, the "view_item_list" event, which is important for tracking product views on a homepage, did not fire, indicating a potential gap in your analytics setup. Since your store is not using Shopify, there's no concern about Trekkie or Web Pixels API. Next, you should audit your product pages, cart, checkout, and order-confirmation pages to ensure all critical events are tracked. Given the identified issues, I recommend connecting your store to PayHelm AI for a more comprehensive analysis and guidance.

Tracking Health: 90/100 · ASEO Score: 83/100 · BAI SEO Score: 80/100 · B
Overall Tracking Health
90out of 100Grade AExcellent
Tag manager installed20/20

GTM container installed and loading.

GA4 tracking20/20

GA4 is installed and sending data.

Ecommerce funnel coverage20/20

4 of 4 key funnel stages look healthy.

Data quality15/15

No data-quality issues found in tracked events.

Consent Mode0/10

Consent Mode not detected.

Performance10/10

Tags load quickly.

No conflicts5/5

No conflicting analytics IDs.

Advanced Tracking Features
Consent Mode v2Info

No Google Consent Mode was detected. This mainly matters if you run Google Ads with EEA/UK traffic — no Google Ads pixel was seen on this site, so it's lower priority for now.

default: noupdate: no✗ ad_user_data✗ ad_personalization
Tag PerformancePass

Tags loaded quickly (GTM in 0.60s) — no performance concern.

GTM 0.60sGA4 first hit 1.41sDOM ready 0.89sPage load 1.58s
Cross-domain TrackingInfo

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.

Enhanced ConversionsInfo

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.

User-ID TrackingInfo

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.

Checkout & Purchase CoverageWarning

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 Review
83out of 100Grade BGood

3 SEO improvements identified — addressing them could meaningfully boost organic visibility.

Title tagWarning

Title is 114 characters. Google may truncate titles over ~70 chars in search results.

Handyman Near Me Fairfax VA | 5-Star ⭐ Drywall Repair, Power Washing, Gutter Cle… (114 chars)
Meta descriptionWarning

Meta description is 17 characters. Aim for 70–160 chars to maximise click-through rate.

Northern Virginia (17 chars)
H1 headingPass

One H1 heading found — the recommended structure for every page.

NEED IT FIXED TODAY? Reliable Home Fixers in Fairfax, VA
Robots / indexabilityPass

No noindex directive — the page is eligible to be indexed.

robots: index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1, noydir, noodp
Canonical URLWarning

Canonical tag points to a different URL. Verify this is intentional (cross-domain canonical or redirect chain).

https://americanfixers.com
Open Graph tagsPass

All core Open Graph tags found — links display richly when shared on social media.

og:title ✓ og:description ✓ og:image ✓
Structured data (Schema.org)Pass

Structured data found — search engines can use it to generate rich results (star ratings, FAQs, products, breadcrumbs, etc.).

JSON-LD script found
Mobile viewportPass

Viewport meta tag found — the page is set up for mobile-friendly rendering.

viewport meta tag present
AI Discovery & AI SEOOpen to AI
80out of 100Grade BGood

The basics for AI access are in place, but there's no llms.txt yet — an easy, high-leverage addition.

llms.txt fileWarning

No llms.txt file found. This is a plain-text, markdown-style index of your key pages that AI assistants (ChatGPT, Claude, Perplexity) increasingly check to understand a site quickly.

No /llms.txt found (404 or empty).
AI crawler access (robots.txt)Pass

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.
Live AI crawler testPass

GPTBot's User-Agent successfully fetched the real page (HTTP 200, ~1416 words) — AI crawlers are not blocked at the server level.

GPTBot's User-Agent received HTTP 200 with ~1416 words of visible text.
Structured data for AI answersPass

Structured data (JSON-LD) is present with types AI answer engines commonly extract facts from (e.g. FAQPage, Product, Organization).

Schema.org types found: Organization, FAQPage, BreadcrumbList, WebSite, HowTo, Product.
Server-rendered contentPass

Meaningful text content is present in the raw HTML response — AI crawlers that don't execute JavaScript can still read and cite this page.

~1397 words of text visible in the raw HTML response.
XML sitemapPass

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.
AI crawlers
GPTBotOAI-SearchBotChatGPT-UserClaudeBotClaude-Webanthropic-aiPerplexityBotPerplexity-UserGoogle-ExtendedApplebot-ExtendedBytespiderCCBotAmazonbotcohere-aiMeta-ExternalAgent
Opportunities
  • Add an /llms.txt file listing your most important pages (pricing, docs, product pages) in markdown format — it gives AI assistants a fast, reliable summary of your site instead of guessing from crawled HTML.
GTM-WCHV3PN9head
Loaded
Tags(1)

Marketing & analytics tags observed sending data while the page loaded.

Google Analytics 4GA4 Event · G-M7C3SWPJ2G
1 hit
Triggers(3)

Every dataLayer push observed during page load — with full payload and configuration analysis.

GTM lifecycle events (3)— gtm.js, gtm.dom, gtm.load, etc.
Variables(3)

Data points present in the dataLayer that your tags can read (the values pushed alongside each event).

gtm.starteventgtm.uniqueEventId
Network hits(3)

The actual tracking requests your browser sent — the ground-truth proof that a tag fired.

200gtm.jshttps://www.googletagmanager.com/gtm.js?id=GTM-WCHV3PN9
200gtag.jshttps://www.googletagmanager.com/gtag/js?id=G-M7C3SWPJ2G&cx=c&gtm=4e68j0
beaconga4-collecthttps://www.google-analytics.com/g/collect?v=2&tid=G-M7C3SWPJ2G&gtm=45je68j0v9260796548z89260779544za20gzb9260779544zd9260779544&_p=1787501782286&gcd=13l3l3l3l1
Checks
GTM container detectedPass

GTM-WCHV3PN9

A Google Tag Manager container is installed on this page.

Container script loads (gtm.js)Pass

1/1 container(s) returned a successful gtm.js response.

The container's JavaScript downloaded successfully, so GTM can run.

Noscript fallback presentWarning

No <noscript> fallback found in the HTML source.

The recommended <noscript> fallback is missing. It's minor, but Google's standard install includes it.

Fix this issue
Snippet placement in <head>Pass

GTM snippet appears inside <head>.

The container is loaded early, as Google recommends, so tags fire as soon as possible.

dataLayer initialised before GTMWarning

dataLayer was not clearly initialised before the container snippet.

If the container loads before dataLayer is ready, early values (like ecommerce data) can be lost.

Fix this issue
GA4 firingPass

G-M7C3SWPJ2G — collect hit observed.

Google Analytics 4 is actively sending pageview/event data.

Google Consent Mode v2Info

No consent API calls observed

No Google Consent Mode was detected. This mainly matters if you run Google Ads with EEA/UK traffic — no Google Ads pixel was seen on this site, so it's lower priority for now.

Tag load performancePass

GTM 603ms, GA4 first hit 1406ms, DOMContentLoaded 888ms

Tags loaded quickly (GTM in 0.60s) — no performance concern.

Cross-domain trackingInfo

No 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.

Enhanced Conversions (Google Ads)Info

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.

User-ID tracking (GA4)Info

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.

Checkout / purchase coverageWarning

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 issue
Marketing Funnel Coverage
1 gap to verify0 observed· 10 not auditable on this page

Funnel 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

Product List / Collection Viewhigh
view_item_listMeta: ViewContent

Not observed on this page. Set up 'view_item_list' on your collection/category/search pages for funnel visibility.

Fix this gap
Product Click from Listmedium
select_item

Not observed during this load — 'select_item' requires user interaction on collection/category pages. Verify by manually testing the action on that page.

Consideration

Product Detail Page Viewcritical
view_itemMeta: ViewContent

Not observable on home pages — 'view_item' only fires on product detail pages. Audit that page type to verify coverage.

Cart Activity

Add to Cartcritical
add_to_cartMeta: AddToCart

Not observable on home pages — 'add_to_cart' only fires on product pages and cart. Audit that page type to verify coverage.

Remove from Cartmedium
remove_from_cart

Not observable on home pages — 'remove_from_cart' only fires on cart page. Audit that page type to verify coverage.

Cart / Bag Page Viewhigh
view_cart

Not observable on home pages — 'view_cart' only fires on cart page. Audit that page type to verify coverage.

Checkout Funnel

Begin Checkoutcritical
begin_checkoutMeta: InitiateCheckout

Not observable on home pages — 'begin_checkout' only fires on checkout entry page. Audit that page type to verify coverage.

Shipping Info Enteredhigh
add_shipping_info

Not observable on home pages — 'add_shipping_info' only fires on checkout shipping step. Audit that page type to verify coverage.

Payment Info Enteredhigh
add_payment_infoMeta: AddPaymentInfo

Not observable on home pages — 'add_payment_info' only fires on checkout payment step. Audit that page type to verify coverage.

Purchase / Order Confirmationcritical
purchaseMeta: Purchase

Not observable on home pages — 'purchase' only fires on order confirmation / thank-you page. Audit that page type to verify coverage.

Post-Purchase

Refund / Order Cancellationlow
refund

This event fires server-side (server-side or order management system) and cannot be observed by a browser-based audit.

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.

Ask a follow-up question