当页面作为 iFrame 加载时禁用 GTM 代码触发
Disable GTM tag firing when page loaded as an iFrame
我被要求为一个网站实施 Google 跟踪代码管理器,该网站将另一个页面(来自同一网站)加载为 iFrame。
我想在该页面作为 iFrame 加载时禁用 GTM,但当访问者访问该页面时它可以正常工作。
我可以用 JS 检查页面是否作为 iFrame 加载,从而不加载 GTM 脚本内容。但是,如果禁用 JS(当 GTM 代码的 noscript 部分通常会接管时),是否有解决方案?
您是否尝试过 GTM 中的主机名过滤器?基本上,您在 GTM 中有一个规则,用于检查执行代码的域是否与您/希望/执行它的域相匹配。如果是这样,您的代码就会触发。如果没有,您的代码就不会触发。
请注意,如果 GTM 代码所在的浏览器不执行 JavaScript,这一点没有实际意义 - 您需要 JavaScript 到 运行 跟踪 GA 中的任何内容,无论您NOSCRIPT 标签中是否有内容。
当您插入 iframe 时,将参数(即 "iframe=true")添加到页面 url。如果存在参数(自定义变量,类型 "URL","component type" 是 "Query","Query key",则为您的代码设置阻止规则 (v1) 或触发例外 (v2)是您的参数的名称)。
正如在另一个答案中指出的,这仅在 GTM 中有任何非 javascript 标签(如自定义图像)时才相关,如今大多数标签在任何情况下都需要 javascript(但你可能知道这一点)。
我被要求为一个网站实施 Google 跟踪代码管理器,该网站将另一个页面(来自同一网站)加载为 iFrame。
我想在该页面作为 iFrame 加载时禁用 GTM,但当访问者访问该页面时它可以正常工作。
我可以用 JS 检查页面是否作为 iFrame 加载,从而不加载 GTM 脚本内容。但是,如果禁用 JS(当 GTM 代码的 noscript 部分通常会接管时),是否有解决方案?
您是否尝试过 GTM 中的主机名过滤器?基本上,您在 GTM 中有一个规则,用于检查执行代码的域是否与您/希望/执行它的域相匹配。如果是这样,您的代码就会触发。如果没有,您的代码就不会触发。
请注意,如果 GTM 代码所在的浏览器不执行 JavaScript,这一点没有实际意义 - 您需要 JavaScript 到 运行 跟踪 GA 中的任何内容,无论您NOSCRIPT 标签中是否有内容。
当您插入 iframe 时,将参数(即 "iframe=true")添加到页面 url。如果存在参数(自定义变量,类型 "URL","component type" 是 "Query","Query key",则为您的代码设置阻止规则 (v1) 或触发例外 (v2)是您的参数的名称)。
正如在另一个答案中指出的,这仅在 GTM 中有任何非 javascript 标签(如自定义图像)时才相关,如今大多数标签在任何情况下都需要 javascript(但你可能知道这一点)。