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

Your website's tracking setup shows a few areas that need attention. The Google Tag Manager (GTM) is functioning well, but there are some warnings: the <noscript> fallback is missing, which could affect users with JavaScript disabled, and the dataLayer wasn't initialized before the GTM container, which might impact data accuracy. Google Analytics 4 (GA4) is firing correctly, but there are conflicting GA4 IDs that could lead to data discrepancies. Since your site is not on Shopify, there are no concerns about Shopify-native analytics or duplicate pixel risks. The 'view_item_list' event, which should fire on the homepage, is missing, indicating a gap in tracking. Next, consider auditing your product pages, cart, and checkout to ensure comprehensive tracking. Given these issues, I recommend connecting your store to PayHelm AI for a more detailed analysis and guidance.

Tracking Health: 95/100 · A
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.

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 via Osano. The default and update calls and the v2 signals (ad_user_data, ad_personalization) are all present.

default: yesupdate: yes✓ ad_storage✓ analytics_storage✓ ad_user_data✓ ad_personalization✓ personalization_storage✓ functionality_storage✓ security_storage✓ wait_for_updateCMP: Osano
Tag PerformancePass

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

GTM 0.54sGA4 first hit 4.80sDOM ready 1.20sPage load 2.51s
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.

Conflicting GA4 IDsWarning

Multiple GA4 measurement IDs were found (G-T2YCW3K1C0, G-R7FQND1N34). 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-T2YCW3K1C0G-R7FQND1N34
GTM-MQ42F32head
Loaded
Tags(1)

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

Google Analytics 4GA4 Event · G-T2YCW3K1C0
1 hit
Triggers(5)

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(6)

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

gtm.starteventgtm.uniqueEventIdcmdtargetparams
Network hits(5)

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

200gtm.jshttps://www.googletagmanager.com/gtm.js?id=GTM-MQ42F32
200gtag.jshttps://www.googletagmanager.com/gtag/js?id=AW-336464554&cx=c&gtm=4e66o1
200gtag.jshttps://www.googletagmanager.com/gtag/js?id=G-T2YCW3K1C0&cx=c&gtm=4e66o1
200gtag.jshttps://www.googletagmanager.com/gtag/js?id=G-R7FQND1N34&cx=c&gtm=4e66o1
beaconga4-collecthttps://www.google-analytics.com/g/collect?v=2&tid=G-R7FQND1N34&gtm=45je66o1v881583091z8844522440za20gzb844522440zd844522440&_p=1782513887043&gcs=G100&gcd=13p3p
Checks
GTM container detectedPass

GTM-MQ42F32

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-T2YCW3K1C0, G-R7FQND1N34 — collect hit observed.

Google Analytics 4 is actively sending pageview/event data.

Google Consent Mode v2Pass

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

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

Tag load performancePass

GTM 535ms, GA4 first hit 4805ms, DOMContentLoaded 1195ms

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

Conflicting GA4 IDsWarning

G-T2YCW3K1C0, G-R7FQND1N34

Multiple GA4 measurement IDs were found (G-T2YCW3K1C0, G-R7FQND1N34). 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
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.

HubSpot Tracking / Forms

HubSpot tracking snippet or forms embed hardcoded in the page HTML.

Fix: Load the HubSpot script via a GTM Custom HTML tag and initialise forms only after the script has loaded.

Risk: Calling hbspt before the HubSpot loader has executed causes 'hbspt is not defined' errors and broken form embeds. Centralising in GTM also enables conditional loading.

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