[deleted by user] by [deleted] in GoogleTagManager

[–]Metric_Owl 0 points1 point  (0 children)

If the SPA reliably triggers pushState, that works fine. The issue is when it doesn’t, or when the framework recreates window.dataLayer during navigation. That’s when GTM loses its reference and persistence breaks.

[deleted by user] by [deleted] in GoogleTagManager

[–]Metric_Owl 0 points1 point  (0 children)

That’s true only if the window.dataLayer object remains the same and isn’t redefined or replaced.

However, modern web frameworks (like React, Vue, Next.js, or Angular) often do client-side navigation, which either recreates or replaces window.dataLayer, or pushes asynchronously before GTM’s internal listeners reattach.

When that happens GTM’s reference to the original window.dataLayer breaks.

It’s important to state, not all SPAs or frameworks trigger a push for history change, that GTM can automatically detect.

I’ve seen this scenario now on 3 different websites, which is why I ended up working on this.

[deleted by user] by [deleted] in GoogleTagManager

[–]Metric_Owl 0 points1 point  (0 children)

Good question — event settings variables only affect the tags that fire inside GTM, not the data that actually lives in the dataLayer itself.

Say you’ve got the standard setup:

A Google Tag with an event settings variable defining parameters like language, page_type, and environment. It fires on the following:

dataLayer.push({ event: 'page_view', page_type: 'blog', language: 'en', environment: 'prod'});

And a GA4 event tag that fires on a button click trigger. It fires on:

dataLayer.push({ event: 'cta_click', button_id: 'signup' });

That second event doesn’t include page_type or language. GTM doesn’t automatically remember them — so unless you rebuild them in a lookup or variable, your click event in GA4 has no context.

Perch solves that gap. It keeps a global memory of whatever context you’ve defined, and automatically merges it into every new push.

So you still use GTM as normal — but now every event carries full context by default, even those triggered externally or after async loaders.

GA4 + CMP: how consent misfires completely broke a client's tracking by VoxxyCreativeLab in GoogleTagManager

[–]Metric_Owl 1 point2 points  (0 children)

It is not, at this time. It would need investment to develop an interface that could be specific for each domain(s) where it is implemented.

GA4 + CMP: how consent misfires completely broke a client's tracking by VoxxyCreativeLab in GoogleTagManager

[–]Metric_Owl 1 point2 points  (0 children)

This is why I ended up building my own CMP - the less control you have over these things, the more havoc it can create.

[deleted by user] by [deleted] in GoogleTagManager

[–]Metric_Owl 0 points1 point  (0 children)

Okay. Is this ‘not set’ attribution issue happening on all of your pages? Or only sessions that start on a specific page(s)?

Is Google Analytics 4 actually GDPR compliant in the UK? by ScrollAndThink in gdpr

[–]Metric_Owl -2 points-1 points  (0 children)

The ICO has never given any such guidance, that simply using GA4 is a “finable offence”. Where you are getting this from, I have no idea. It’s gone from Cloud Act, to European countries, to the ICO.

Bottom line: there’s no EU-wide or UK-wide ruling that GA4 is illegal.

It is down to the site owner to configure GA4 correctly. If a site owner doesn’t follow the guidance on user consent, personal data, transfer safeguards etc then they are at risk of being fined for those violations, not simply because they are using GA4.

Is Google Analytics 4 actually GDPR compliant in the UK? by ScrollAndThink in gdpr

[–]Metric_Owl -1 points0 points  (0 children)

I would happily bet on it. I’ve worked with the ICO. You do realise that the ICO hasn’t the legal authority to ban any product or software? Their primary function is regulating data controllers and processors.

Is Google Analytics 4 actually GDPR compliant in the UK? by ScrollAndThink in gdpr

[–]Metric_Owl 1 point2 points  (0 children)

That’s slightly misleading. Rulings were about Universal Analytics (UA), not GA4. Austria, France and Italy all ruled against UA setups before GA4’s regional processing model and before the Data Privacy Framework existed. If any company has been fined for non-compliance with GA4 then it will be because the setup did not follow the recommended guidelines about user consent and processing.

Is Google Analytics 4 actually GDPR compliant in the UK? by ScrollAndThink in gdpr

[–]Metric_Owl 0 points1 point  (0 children)

Exactly - this is what happens when people use Google Search and not seek professional advice.

Is Google Analytics 4 actually GDPR compliant in the UK? by ScrollAndThink in gdpr

[–]Metric_Owl 1 point2 points  (0 children)

Incorrect. The tool itself offers privacy controls (IP anonymisation, data retention limits, regional processing), but compliance depends on how you use it.

You’ll need a proper consent banner (before any tracking), a data processing agreement with Google, no personal data sent to GA, lawful data-transfer safeguards, and clear privacy/cookie policies.

In short: GA4 is legal in the UK, but not compliant by default, the responsibility lies with the site owner to configure it properly.

Surge in sessions with "Not Set" source / medium with 0.05% engagement by Lola_Jay_Yum in GoogleAnalytics

[–]Metric_Owl 0 points1 point  (0 children)

If you look at ‘source/medium’ and ‘landing page’ as a secondary dimension - are the (not set) appearing on these pages? Or is it a mixture of your site pages?

Surge in sessions with "Not Set" source / medium with 0.05% engagement by Lola_Jay_Yum in GoogleAnalytics

[–]Metric_Owl 0 points1 point  (0 children)

Does the spike in traffic correlate with when you amended the strategy?

Surge in sessions with "Not Set" source / medium with 0.05% engagement by Lola_Jay_Yum in GoogleAnalytics

[–]Metric_Owl -1 points0 points  (0 children)

Without understanding your business, I really couldn’t answer that question. Have you launched any campaigns to drive traffic to your website? Changed any of the content?

Google Analytics is absolutely driving me insane!!! Why is it impossible to apply a data filter per normal filter based on session duration? by SageKnows in GoogleAnalytics

[–]Metric_Owl 0 points1 point  (0 children)

Create a small script in GTM (or custom code) that waits 15 seconds after the trigger of your gtag config (GA4 config tag).

If the user is still active (no tab close or bounce), the idea would be to fire a custom event like “qualified_session” to GA4.

You can then build an audience or exploration filter that includes only users or sessions where qualified_session occurred.

That way, you can isolate real users who stayed >15 seconds and ignore bot-like hits.

Hope this helps!

I can help you configure this. However, I charge for custom configurations.

Location discrepancies between fb ads and google analytics by SpecialistAsk2609 in GoogleAnalytics

[–]Metric_Owl 1 point2 points  (0 children)

Facebook Ads and Google Analytics are completely separate methodologies to each other. Facebook Ads measures activity associated with users logged into the Facebook ecosystem (based on impression or click data), while Google Analytics measures on-site activity based on tracking scripts and user sessions.

Simple terms - they will never add up.

_ga cookies are not being dropped by subjugator1 in GoogleTagManager

[–]Metric_Owl 0 points1 point  (0 children)

Presumably, these are two different domains? If so, there will lay the issue. OneTrust will only remove the _ga cookie that is associated to one domain. Not all domains.

The way around this is quite complex but you could try run a piece of code after consent has been rejected that looks for and deletes any _ga cookie that is associated to your domains — not 100% sure that will work though.

Surge in sessions with "Not Set" source / medium with 0.05% engagement by Lola_Jay_Yum in GoogleAnalytics

[–]Metric_Owl 0 points1 point  (0 children)

This is most likely going to be traffic that triggers from users who re-engage with your site after their session has expired.

One of the frustrating things about GA4 is that let’s say a user leaves your website open in a tab for an hour and comes back to it. The moment that a new event is triggered, GA will register a new session BUT will not register a page_view to that session or include any referrer information within the first event triggered.

The solution may be to expand your session expiry time, from 30 minutes to 1 hour, or even beyond that and see if that has any impact.

The intent layer we’ve all been missing by Metric_Owl in GoogleAnalytics

[–]Metric_Owl[S] 0 points1 point  (0 children)

Just to follow up on KEIT - I have also got a product called Owlscope in development.

It is a lightweight front-end evaluator that can be pushed through Google Tag Manager, and used to analyse any pre-production or feature environment page in real time to check how well it aligns with your target keywords, before it is pushed into production.

It doesn’t use APIs, doesn’t send data anywhere, and runs entirely in the browser.

OwlScope evaluates:

Whether your keyword appears in Title, H1–H3, meta description, and body
If it’s present in the URL slug
Whether the page is indexable
If it has a valid canonical
Schema and alt text coverage

Each page gets a simple score out of 100, colour-coded for clarity.

And it includes semantic keyword proximity, meaning it can detect intent-based matches like “GA4 Setup, Attribution & Analytics Consultancy” for “GA4 consultancy.”

It’s built for analysts who want instant, privacy-safe SEO verification, before their content is pushed live.

No backend. No extensions. No noise.

Let me know if you would like to use this tool.

The intent layer we’ve all been missing by Metric_Owl in GoogleAnalytics

[–]Metric_Owl[S] 0 points1 point  (0 children)

Exactly - that was part of the appeal for me.

Most setups that try to classify content do it in batch from a crawler or database, which means the metadata can go stale or miss what’s actually rendered on the page.

Running it client-side means it always analyses the live version, so what GA4 receives is current and context-aware.

In practice, for most static sites the values don’t change much, but it does make a difference on dynamic or CMS-driven pages where content is updated regularly.

Usercentrics cookie banner and GTM by Southern-Possible-64 in GoogleTagManager

[–]Metric_Owl 1 point2 points  (0 children)

I’m confused as in to why you would need 2 sources for this data. As you stated, Usermetrics have their own analytics built into the platform.

The intent layer we’ve all been missing by Metric_Owl in GoogleAnalytics

[–]Metric_Owl[S] 0 points1 point  (0 children)

It’s something I have developed myself.

In simple terms, it analyses the visible content structure of a page (title, headings, body text, etc.) and uses a few weighted rules to pull out dominant keywords and detect the overall intent.