Ad

How Can I Fire GTM Tags Before Redirecting?

- 1 answer

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?

Ad

Answer

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/

Ad
source: stackoverflow.com
Ad