首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google标记管理器自定义模板和振幅事件日志记录

Google标记管理器自定义模板和振幅事件日志记录
EN

Stack Overflow用户
提问于 2020-09-29 15:48:49
回答 1查看 505关注 0票数 1

我试图使用Google标记管理器上的自定义模板带来的惊人功能来组织我们用来记录振幅事件的标记。

我以前有一个代码,如: amplitude.getInstance().logEvent(eventTitle,{args})

然而,由于沙箱javascript,我们没有直接访问幅度。

所以我试着做:

代码语言:javascript
运行
复制
const callInWindow = require('callInWindow');
const copyFromWindow = require('copyFromWindow');

const amplitude = copyFromWindow('amplitude');
callInWindow('amplitude.getInstance().logEvent', eventTitle, args);

我给了你完全的许可

  • amplitude
  • amplitude.getInstance
  • amplitude.getInstance.logEvent

但是结果是标签失败了,错误说:标签XXX抛出了一个错误。

我找到的唯一解决办法是以以下方式使用API: amplitude.logEvent的不推荐版本。

代码语言:javascript
运行
复制
const callInWindow = require('callInWindow');
const copyFromWindow = require('copyFromWindow');

const amplitude = copyFromWindow('amplitude');
callInWindow('amplitude.logEvent', eventTitle, args);

它工作正常,但我不知道根据振幅宣布的反对意见有多长时间:https://amplitude.github.io/Amplitude-JavaScript/Amplitude#amplitudelogevent

有谁知道我如何在js中首先获得amplitude.getInstance的实例,然后调用它的logEvent特性呢?

你的帮助将不胜感激。

干杯!

EN

回答 1

Stack Overflow用户

发布于 2020-09-30 23:41:46

这段代码能解决你的问题吗?

代码语言:javascript
运行
复制
const callInWindow = require('callInWindow');

const args = data.args.reduce((result, item) => {
  result[item.key] = item.value;
  return result;
}, {});

const amplitudeInstance = callInWindow('amplitude.getInstance');
amplitudeInstance.logEvent(data.eventTitle, args);

data.gtmOnSuccess();

您将需要一个名为eventTitle的文本字段和一个名为args的表,其中包含keyvalue文本列,这样代码才能工作。

模板需要amplitude.getInstance的执行权限,但仅此而已。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64123143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档