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.canada-spa.com/

Your website's tracking setup has a few areas that need attention. Currently, Google Tag Manager (GTM) is not set up, and instead, gtag.js is being used, which is not ideal for more complex tracking needs. While your Google Analytics 4 (GA4) is present, it did not fire correctly on the homepage, which means you might not be capturing all visitor data. Additionally, there are no Shopify-native analytics or Trekkie/Web Pixels API detected, which could limit your insights if you are using Shopify. The Meta Pixel did fire successfully, so some tracking is working. Next, you should audit your product pages, cart, checkout, and order-confirmation pages to ensure all critical events are tracked. Given the current issues, I recommend connecting your store to PayHelm AI for a more comprehensive analysis and solutions.

Tracking Health: 74/100 · CSEO Score: 78/100 · B
Overall Tracking Health
74out of 100Grade CFair
Tag manager installed12/20

Tag setup present but not confirmed loading.

GA4 tracking10/20

GA4 configured but no hits observed (may be consent-gated).

Ecommerce funnel coverage20/20

4 of 4 key funnel stages look healthy.

Data quality15/15

No data-quality issues found in tracked events.

Consent Mode5/10

Consent Mode present but incomplete (v2 signals missing).

Performance7/10

Tag load timing not measured.

No conflicts5/5

No conflicting analytics IDs.

Advanced Tracking Features
Consent Mode v2Warning

The v2 consent signals were seen, but a consent update after the user chooses 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.

default: yesupdate: no✓ ad_storage✓ ad_user_data✓ ad_personalization✓ analytics_storage✓ functionality_storage✓ personalization_storage✓ security_storage
Tag PerformanceInfo

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

DOM ready 0.90sPage load 1.71s
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
78out of 100Grade BGood

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

Title tagPass

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

Canadian Made Hot Tubs | Be Well Canada Spa (43 chars)
Meta descriptionWarning

Meta description is 327 characters. Google may truncate descriptions over ~160 chars.

Fabricant canadien de référence, Be well Canada Spa propose quatre séries de spas haut de gamme, all… (327 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://www.canada-spa.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
Wix Storeslikely

Wix Stores markup in HTML

No GTM container was detected on this page.
Checks
GTM containerWarning

No GTM-XXXX container; gtag.js present instead.

Tags are loaded directly via gtag.js rather than through Tag Manager. That works, but you lose GTM's centralised management, versioning, and conditional firing controls.

Fix this issue
GA4 firingWarning

G-NYQEBEEKD4 — no /g/collect hit observed.

GA4 is configured but we did not see it send data on this page — it may be gated behind cookie consent or misconfigured.

Fix this issue
Wix Stores platform detectedInfo

Wix Stores markup in HTML

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

Google Consent Mode v2Warning

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

The v2 consent signals were seen, but a consent update after the user chooses 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.

Fix this issue
Tag load performanceInfo

DOMContentLoaded 897ms

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
0 observed· 11 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: ViewContentfound in JS ✓

Not observed firing, but 'view_item_list' was found configured in the site's JavaScript. It may fire only when users take specific actions or visit the relevant page type. Not observed on this page. Set up 'view_item_list' on your collection/category/search pages for funnel visibility.

Product Click from Listmedium
select_itemfound in JS ✓

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: ViewContentfound in JS ✓

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: AddToCartfound in JS ✓

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_cartfound in JS ✓

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: InitiateCheckoutfound in JS ✓

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: AddPaymentInfofound in JS ✓

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: Purchasefound in JS ✓

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