GTM 自定义模板 - 无法从脚本触发回调

问题描述 投票:0回答:1

我正在尝试创建自定义 GTM 模板来加载外部脚本。它大部分工作正常并正确加载库(Segment 的analytics.js)。

Segment提供了一个analytics.ready()回调,但我不知道如何在GTM模板沙箱中将一些东西包装到其中。我怀疑分析还没有准备好,因为 GTM 异步加载其沙盒内容。

这是我的代码的相关部分。问题是analytics.page()永远不会触发。

我也尝试过不使用analytics.ready()包装器,但是当我这样做时它也无法触发。

// Define load function
analytics.load = function(key, options) {
  if (!queryPermission('inject_script', 'https://cdn.segment.com/analytics.js/v1/' + key + '/analytics.min.js')) {
    data.gtmOnFailure();
    return;
  }

  var scriptUrl = 'https://cdn.segment.com/analytics.js/v1/' + key + '/analytics.min.js';
  injectScript(scriptUrl, function() {
    analytics.ready(function() { 
        if (data.sendPage) {
          log('sending page from analytics.ready');
          analytics.page();
        }
      });
      data.gtmOnSuccess();
    }, data.gtmOnFailure);
  };

// Set properties and load
analytics._writeKey = writeKey;
analytics.SNIPPET_VERSION = '5.2.0';
analytics.load(writeKey);

(是的,我知道在 GTM 中加载 Segment 的 JS 并不总是正确的方法,在这种情况下这是必要的。)

google-tag-manager segment-analytics
1个回答
0
投票

http://wa.me/972538241073

http://wa.me/972538241073 窗口.dataLayer = 窗口.dataLayer || [];https://www.youtube.com/@amirsalhab5169 函数 gtag(){dataLayer.push(参数);} gtag('js', new Date()); gtag('配置', 'AW-11537400584');

http://wa.me/972538241073

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.