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.

Last scanned Aug 24, 2026 — scored fail. Same result as last time.

Results may be unreliable — bot protection blocked this audit

Cloudflare served our checker a CAPTCHA/challenge page instead of your real homepage. Every finding below reflects that challenge page — not your actual site. Consider allowlisting our checker's traffic or running the audit again.

Problems foundhttps://getpipe.com/

The audit of your website's home page reveals some critical issues with your tracking setup. The Google Tag Manager (GTM) container is present but failed to load properly, which means none of the expected analytics tags fired. Additionally, Google Analytics 4 (GA4) is not set up or firing, and there are no Shopify-native analytics detected, which is expected since your site is built on BigCommerce. The presence of bot protection from Cloudflare is causing a "Just a moment..." page to appear, which is blocking the audit from accessing the real site content. This is a significant issue that needs to be addressed to ensure your analytics can function correctly. There are no duplicate pixel risks since no Shopify-specific pixels are present, but the overall tracking infrastructure is not operational. I recommend auditing the product page, cart, checkout, and order-confirmation pages next to ensure comprehensive tracking across your entire site. Given the critical gaps identified, it would be beneficial to connect your store to PayHelm AI to help resolve these issues and optimize your analytics setup.

Tracking Health: 59/100 · FSEO Score: 60/100 · CAI SEO Score: 67/100 · C
Overall Tracking Health
59out of 100Grade FPoor
Tag manager installed12/20

Tag setup present but not confirmed loading.

GA4 tracking0/20

No GA4 measurement detected.

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.

Performance7/10

Tag load timing not measured.

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 PerformanceInfo

No tag load timing was captured (the container may not have loaded, or timing was unavailable).

DOM ready 0.16sPage load 0.47s
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
60out of 100Grade CFair

SEO basics are mostly in place with a few opportunities to improve.

Title tagPass

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

Wholesale Industrial Parts | Pipes, Valves & Fittings | Get Pipe (64 chars)
Meta descriptionPass

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

Shop wholesale industrial parts, including pipes, valves, flanges, and more. Get Pipe provides fast … (158 chars)
H1 headingWarning

No H1 heading found. Search engines use H1 to understand the page's primary topic — every page should have exactly one.

No H1 tag found.
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://getpipe.com/
Open Graph tagsInfo

No Open Graph tags found. Add og:title, og:description, and og:image for rich social link previews.

og:title ✗ og:description ✗ og:image ✗
Structured data (Schema.org)Info

No structured data found. Adding Schema.org markup can unlock rich snippets and improve your search appearance.

No structured data 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
67out of 100Grade CFair

3 AI discoverability gaps found — closing them improves your odds of being cited by ChatGPT, Claude, Perplexity, and Google AI Overviews.

llms.txt fileWarning

llms.txt exists but doesn't follow the standard format. Use a top-level heading plus markdown links to your most important pages.

Found at /llms.txt but missing the expected structure (a top-level # heading and markdown links).
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, ~1267 words) — AI crawlers are not blocked at the server level.

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

No structured data found. AI answer engines lean heavily on Schema.org markup (FAQPage, Product, Organization) to extract clean facts instead of parsing raw HTML.

No JSON-LD structured data found.
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.

~29512 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.
AI crawlers
GPTBotOAI-SearchBotChatGPT-UserClaudeBotClaude-Webanthropic-aiPerplexityBotPerplexity-UserGoogle-ExtendedApplebot-ExtendedBytespiderCCBotAmazonbotcohere-aiMeta-ExternalAgent
Opportunities
  • Reformat llms.txt to follow the standard: a top-level `# Site Name` heading, a one-line summary, then markdown links (`[Page](url): description`) to your key pages.
  • Add JSON-LD structured data (Organization + FAQPage at minimum) so AI assistants can extract accurate facts about your business instead of guessing from page text.
  • 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.
BigCommercedetected

BigCommerce markup in HTML

GTM-MHGMDMMVhead
Not loaded
Tags(0)

No tags were observed sending data. They may be gated behind cookie consent, or none are configured.

— none observed —

Triggers(0)

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

— no dataLayer events captured —

Variables(0)

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

— no dataLayer variables captured —

Network hits(0)

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

— no tracking requests observed —

Checks
Bot protection blocked this auditWarning

Cloudflare challenge page detected ("Just a moment...") instead of the real site.

This site's bot/CAPTCHA protection (Cloudflare) served a challenge page to our automated check instead of your real homepage. Every result below reflects that challenge page, not your actual site — treat this audit as unreliable and consider allowlisting our checker or re-running later.

Fix this issue
GTM container detectedPass

GTM-MHGMDMMV

A Google Tag Manager container is installed on this page.

Container script loads (gtm.js)Fail

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

The container script did not load (blocked, unpublished, or wrong ID), so no tags will fire.

Fix this issue
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 GTMPass

dataLayer is defined before the container snippet.

Data is available to tags from the very first event.

GA4 firingInfo

No GA4 measurement detected.

No Google Analytics 4 tag was detected on this page.

JavaScript errors during loadInfo

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

BigCommerce platform detectedInfo

BigCommerce markup in HTML

This site runs on BigCommerce. Tracking setup and common pitfalls differ by platform, which is factored into this audit.

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 performanceInfo

DOMContentLoaded 159ms

No tag load timing was captured (the container may not have loaded, or timing was unavailable).

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.

On-page Scripts — Should Be in GTM (1)

These tracking scripts are hardcoded directly in your page HTML. Moving them into GTM makes them easier to update, pause, version, and conditionally fire — without touching your code.

Microsoft Ads (UET)

Microsoft Advertising UET tag hardcoded in the page HTML.

Fix: Use GTM's built-in 'Microsoft Advertising UET' tag type.

Risk: GTM's native UET integration auto-fires standard events; hardcoded UET misses them.

JavaScript errors (5)

Failed to load resource: the server responded with a status of 403 ()

Access to script at 'https://challenges.cloudflare.com/turnstile/v0/b/e694063b5082/api.js?onload=oNxb8&render=explicit' from origin 'https://getpipe.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Failed to load resource: net::ERR_FAILED

Failed to load resource: the server responded with a status of 404 ()

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.

Ask a follow-up question