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.flytographer.com/

Your website's tracking infrastructure is mostly in good shape, with Google Tag Manager (GTM) and Google Analytics 4 (GA4) properly set up and firing on your homepage. The Meta and Reddit pixels are also successfully firing, which is great for tracking your marketing efforts. However, there are a couple of areas that need attention: the absence of a <noscript> fallback for GTM and the dataLayer not being initialized before the GTM snippet, which could affect data accuracy. Additionally, Google Consent Mode is not fully optimized, which might impact how user consent is managed. Since your store does not use Shopify, there's no concern about Trekkie or Web Pixels API. Next, consider auditing your product pages, cart, and checkout to ensure comprehensive tracking across the entire customer journey. If you need help addressing these issues, consider connecting your store to PayHelm AI for expert guidance.

Tracking Health: 95/100 · ASEO Score: 100/100 · AAI SEO Score: 82/100 · B
Overall Tracking Health
95out of 100Grade AExcellent
Tag manager installed20/20

GTM container installed and loading.

GA4 tracking20/20

GA4 is installed and sending data.

Pageview / event coverage20/20

Not an ecommerce store — scored on basic analytics coverage.

Data quality15/15

No data-quality issues found in tracked events.

Consent Mode5/10

Consent Mode present but incomplete (v2 signals missing).

Performance10/10

Tags load quickly.

No conflicts5/5

No conflicting analytics IDs.

Advanced Tracking Features
Consent Mode v2Warning

The v2 consent signals were seen, but the default consent state was not observed. Consent Mode v2 needs both a gtag('consent','default',…) call before tags load and a gtag('consent','update',…) call once the visitor responds (CMP: Cookiebot).

default: noupdate: yes✓ ad_storage✓ ad_user_data✓ ad_personalization✓ analytics_storage✓ functionality_storage✓ personalization_storage✓ security_storageCMP: Cookiebot
Tag PerformancePass

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

GTM 0.36sGA4 first hit 3.03sDOM ready 0.29sPage load 0.88s
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.

SEO Review
100out of 100Grade AExcellent

SEO fundamentals look solid across all checks.

Title tagPass

Title is 50 characters — within the ideal 30–70 character range.

Professional Vacation Photographers | Flytographer (50 chars)
Meta descriptionPass

Meta description is 144 characters — within the ideal 70–160 character range.

Book local photographers in 350+ cities worldwide. Capture family vacations, surprise proposals and … (144 chars)
H1 headingPass

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

The Best Souvenir You&#x27;ll Bring Home
Robots / indexabilityPass

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

No robots meta tag (defaults to index, follow).
Canonical URLPass

Canonical tag points to the page itself — no duplicate-content signals sent to search engines.

https://www.flytographer.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
82out of 100Grade BGood

AI discoverability looks strong — AI crawlers can access, parse, and cite this site's content.

llms.txt filePass

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 2 linked resources.
skill.md fileInfo

No skill.md file found. This is an emerging convention for describing agent-callable capabilities/tools to AI agents — optional today, but worth watching as adoption grows.

No /skill.md or /.well-known/skill.md found.
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, ~1281 words) — AI crawlers are not blocked at the server level.

GPTBot's User-Agent received HTTP 200 with ~1281 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, WebSite.
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.

~1260 words of text visible in the raw HTML response.
XML sitemapWarning

No sitemap.xml found. Without one, crawlers (including AI crawlers) can only discover pages by following links, which may miss deeper content.

No /sitemap.xml found.
llms.txt / skill.md link integrityPass

Every endpoint and domain referenced in llms.txt / skill.md actually resolves — no hallucinated links for AI agents to trip over.

All 2 referenced links resolved successfully.
AI crawlers
GPTBot ✓OAI-SearchBot ✓ChatGPT-User ✓ClaudeBot ✓Claude-Web ✓anthropic-ai ✓PerplexityBot ✓Perplexity-User ✓Google-Extended ✓Applebot-Extended ✓Bytespider ✓CCBot ✓Amazonbot ✓cohere-ai ✓Meta-ExternalAgent ✓
Opportunities
  • Publish a sitemap.xml — it's the fastest way for both search engines and AI crawlers to discover every page worth citing, not just the ones linked from your homepage.
GTM-PF9XX43head
Loaded
Tags(3)

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

Meta PixelPixel
3 hits
Reddit PixelPixel
2 hits
Google Analytics 4GA4 Event · G-XCHBN8H73M
1 hit
Triggers(7)

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

›GTM lifecycle events (4)— gtm.js, gtm.dom, gtm.load, etc.
Variables(12)

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

gtm.starteventgtm.uniqueEventIdgtm.elementgtm.elementClassesgtm.elementIdgtm.elementTargetgtm.triggersgtm.elementUrlcmdtargetparams
Network hits(9)

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

200gtm.jshttps://www.googletagmanager.com/gtm.js?id=GTM-PF9XX43
200pixelhttps://connect.facebook.net/en_US/fbevents.js
200ga-otherhttps://www.google-analytics.com/analytics.js
200gtag.jshttps://www.googletagmanager.com/gtag/js?id=G-XCHBN8H73M&cx=c&gtm=4e69t0
200pixelhttps://connect.facebook.net/signals/config/233695120542838?v=2.9.412&r=stable&domain=www.flytographer.com&hme=a4c28c8787325ac3f8f9eac68364f47df2a8c4266e4317744
200pixelhttps://www.facebook.com/tr/?id=233695120542838&ev=PageView&dl=https%3A%2F%2Fwww.flytographer.com%2F&rl=&if=false&ts=1790796082911&iw=false&sw=800&sh=600&v=2.9.
200pixelhttps://pixel-config.reddit.com/pixels/a2_g2gz2u4npxox/config
beaconpixelhttps://alb.reddit.com/rp?id=a2_g2gz2u4npxox&event=PageVisit
beaconga4-collecthttps://www.google-analytics.com/g/collect?v=2&tid=G-XCHBN8H73M&gtm=45je69t0v890232982z8890573474za20gzb890573474zd890573474xf1&_p=1790796081307&gcs=G100&gcd=13
Checks
GTM container detectedPass

GTM-PF9XX43

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-XCHBN8H73M — collect hit observed.

Google Analytics 4 is actively sending pageview/event data.

JavaScript errors during loadInfo

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

Google Consent Mode v2Warning

default=false, update=true, signals=[ad_storage, ad_user_data, ad_personalization, analytics_storage, functionality_storage, personalization_storage, security_storage], CMP=Cookiebot

The v2 consent signals were seen, but the default consent state was not observed. Consent Mode v2 needs both a gtag('consent','default',…) call before tags load and a gtag('consent','update',…) call once the visitor responds (CMP: Cookiebot).

Fix this issue
Tag load performancePass

GTM 357ms, GA4 first hit 3030ms, DOMContentLoaded 293ms

Tags loaded quickly (GTM in 0.36s) — 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.

Ecommerce Funnel — Not Applicable

This site doesn't appear to be an online store, so the ecommerce funnel report has been skipped. GTM tag coverage, triggers, variables, and on-page scripts are still audited above.

If this site does sell products, try re-running the audit on a product page URL — that will surface add-to-cart, checkout, and purchase event coverage.

JavaScript errors (1)

Minified React error #418; visit https://react.dev/errors/418?args[]=HTML&args[]= for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

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