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://wicom.ca/

Your website's analytics setup shows a few areas that need attention. Currently, Google Analytics 4 (GA4) is functioning well, but there are two different GA4 IDs active, which could lead to data discrepancies. It's important to resolve this to ensure accurate tracking. Additionally, the absence of a Google Tag Manager (GTM) container is noted, as the site is using gtag.js directly, which might limit flexibility in managing tags. Shopify-specific tracking tools like Trekkie and the Web Pixels API are not detected, which is expected since the site is not on Shopify. On the home page, Google Analytics 4 and Google Ads tags fired correctly, indicating that basic tracking is in place. However, for a more comprehensive audit, you should next review the product page, cart, checkout, and order-confirmation pages to ensure all critical events are captured. Given the warning status and potential for conflicting data, I recommend connecting your store to PayHelm AI for a more detailed analysis and to help resolve these issues.

Tracking Health: 87/100 · BSEO Score: 92/100 · AAI SEO Score: 65/100 · C
Overall Tracking Health
87out of 100Grade BGood
Tag manager installed12/20

Tag setup present but not confirmed 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 Mode10/10

Consent Mode v2 configured.

Performance10/10

Tags load quickly.

No conflicts0/5

Conflicting or deprecated analytics IDs detected.

Advanced Tracking Features
Consent Mode v2Pass

Consent Mode v2 is configured. The default and update calls and the v2 signals (ad_user_data, ad_personalization) are all present.

default: yesupdate: yes✓ wait_for_update✓ analytics_storage✓ ad_storage✓ ad_user_data✓ ad_personalization✓ region
Tag PerformancePass

Tags loaded quickly — no performance concern.

GA4 first hit 1.78sDOM ready 3.17sPage load 3.72s
Cross-domain TrackingPass

Cross-domain tracking (linker) is set up. This keeps a single user session intact when visitors move between your domains.

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.

Conflicting GA4 IDsWarning

Multiple GA4 measurement IDs were found (G-2HHEBC5KKY, G-KXHDWP4T94). Sending the same events to more than one GA4 property is sometimes intentional, but is often an accident that doubles event counts or splits data — confirm each ID is meant to be here.

G-2HHEBC5KKYG-KXHDWP4T94
SEO Review
92out of 100Grade AExcellent

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

Title tagPass

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

Wi-Com Solutions: Customer Service Information (46 chars)
Meta descriptionPass

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

Wi-Com Solutions is here to help. Contact us for expert support and information regarding our commun… (117 chars)
H1 headingWarning

3 H1 headings found. Most SEO guidance recommends a single H1 per page to signal the primary topic clearly.

3 H1 tags found.
Robots / indexabilityPass

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

robots: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
Canonical URLPass

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

https://wicom.ca/
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 SEO
65out of 100Grade CFair

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.
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: BreadcrumbList, WebSite, Organization.
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.

~760 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
  • 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.
  • 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.
WooCommercedetected

WooCommerce markup (woocommerce / wc-* classes) 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 firingPass

G-2HHEBC5KKY, G-KXHDWP4T94 — collect hit observed.

Google Analytics 4 is actively sending pageview/event data.

WooCommerce platform detectedInfo

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.

Google Consent Mode v2Pass

default=true, update=true, signals=[wait_for_update, analytics_storage, ad_storage, ad_user_data, ad_personalization, region]

Consent Mode v2 is configured. The default and update calls and the v2 signals (ad_user_data, ad_personalization) are all present.

Tag load performancePass

GA4 first hit 1779ms, DOMContentLoaded 3166ms

Tags loaded quickly — no performance concern.

Cross-domain trackingPass

Linker detected

Cross-domain tracking (linker) is set up. This keeps a single user session intact when visitors move between your domains.

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.

Conflicting GA4 IDsWarning

G-2HHEBC5KKY, G-KXHDWP4T94

Multiple GA4 measurement IDs were found (G-2HHEBC5KKY, G-KXHDWP4T94). Sending the same events to more than one GA4 property is sometimes intentional, but is often an accident that doubles event counts or splits data — confirm each ID is meant to be here.

Fix this issue
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_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: 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_infofound in JS ✓

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

Google Analytics 4 (direct gtag.js)

GA4 gtag.js snippet installed directly in the page HTML (outside GTM).

Fix: Remove the hardcoded GA4 snippet and manage it via a GTM 'Google Analytics: GA4 Configuration' tag.

Risk: Running GA4 both directly and via GTM sends duplicate pageviews and inflates every metric in your reports.

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