适用于Google Play代码中的dataLayer的EventCallback

时间:2017-10-16 07:33:57

标签: google-tag-manager

我想使用dataLayer.push发送一些事件。 这是我尝试的:



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
    dataLayer = [];
    ga_data = JSON.parse('{{ga_data|safe}}');
    ga_data.eventCategory = 'Test Event Callback';
    ga_data.eventCallback = function () {
      var href = "{{ href }}";
      if((href.substring(0, 4) !== 'http') && (href.substring(0, 2) !== '//'))href = '//' + href;
      alert('sdf');
      window.location = href;
    }
    dataLayer.push(ga_data);

</script>

  <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','some id');</script>

  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=some-id" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>

</body>
</html>
&#13;
&#13;
&#13;

所以我想在发送事件后触发回调。 首先,我从json获得了一些已经设置了eventAction,eventLabel和eventCategory的ga_data对象。

然后我尝试将eventCallback附加到我的ga_data并将其推送到dataLayer。

但似乎eventCallback根本不会发射。

编辑: JSON.parse中的ga_data返回有效的json。如果我在将它推送到dataLayer之前尝试console.log ga_data,我会得到这个:

&#13;
&#13;
{eventCategory: "Test Event Callback", eventAction: "SINN", eventCallback: ƒ}
&#13;
&#13;
&#13;

0 个答案:

没有答案