Reputation: 19496
I have a blank page with Google Tag Manager and a javascript redirect. The idea is that the user will pass through this page, the GTM tags will fire, and then they will be redirected.
The problem I'm having is that despite using DOMContentLoaded
, the tags don't seem to fire in time. They do fire if I remove the redirect.
My code looks like this:
<html>
<head>
<meta name="robots" content="noindex" />
<title>
<%= @destination %>
</title>
<%= @head_tags |> raw %>
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TPHDQF4"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<script>
document.addEventListener("DOMContentLoaded", function(event) {
window.location.href = "<%= @destination %>";
});
</script>
</body>
</html>
How can I wait until GTM tags have fired before redirecting?
Upvotes: 2
Views: 3260
Reputation: 3847
GTM supports callbacks for tag firing so you might just push a redirect into callback. here's an example https://www.simoahava.com/gtm-tips/hitcallback-eventcallback/
Upvotes: 1