我在 Google 标签管理器中的变量定义有什么问题?

What's wrong with my variable definition in Google tag manager?

我已经将一些值推送到 dataLayer 中,如下所示,我在 google 标签管理器调试控制台上拥有它们:

我定义了一个自定义 javascript 变量,如下所示:

function() {
    var dest;
    dest = google_tag_manager[{{Container 
    ID}}].dataLayer.get("DestinationLocation").fromLocation;
    return dest;
 }

但是,它在变量列表中仍然是未定义的。

您正在尝试获取对标签管理器对象的引用,虽然这适用于标签,但不适用于变量。

没有理由为什么这会起作用 - 如果值在数据层上(通过推送或通过 datalayer.set 方法),您可以创建一个数据层变量,它将 return 价值。无需任何自定义脚本。

在你的例子中 DestinationLocation 是一个 自定义事件 ,所以要检测它你必须创建一个名称为 [=12 的自定义事件=]DestinationLocation 并将其用作触发所需代码的触发器。