提问人:Fabian 提问时间:11/13/2023 更新时间:11/17/2023 访问量:106
根据 iframe 中的点击导致的主页 URL 更改触发 GTM 事件
Triggering GTM Event Based on URL Change in Main Page Caused by Click Inside an Iframe
问:
我正在处理一个 Web 项目,在我的主页(托管在 cba123.com 上)中嵌入了一个 iframe。在此 iframe 中,有一些链接,单击这些链接时,会将主页的 URL 更改为其他站点(例如,abc567.com)。
我希望在 Google 跟踪代码管理器 (GTM) 中设置一个触发器来检测此特定场景:当用户单击 iframe 中的链接时,会导致主页 URL 更改。在 GTM 中为主页上的常规链接设置触发器很简单,但我不确定如何使用 iframe 处理这种特殊情况。
至关重要的是,此 iframe 来自不同的域,我无法修改其内容或代码。此外,主页和 iframe 内容之间没有“同源”关系。
有人能否提供有关如何为此方案设置 GTM 触发器的见解或指导?是否可以检测由 iframe 中的操作启动的主页上的 URL 更改?
任何建议或资源将不胜感激。
答:
0赞
Qasim
11/20/2023
#1
经过一些研究,我发现您可以使用“MutationObserver”来监视 href 更改。我个人没有测试过。 下面是示例
document.addEventListener('DOMContentLoaded', function () {
var observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (mutation.type === 'attributes' && mutation.attributeName === 'href') {
dataLayer.push({
event: 'iframeLinkClick',
url: mutation.target.href
});
}
});
});
var iframeLinks = document.querySelectorAll('iframe[src*="abc567.com"]');
iframeLinks.forEach(function (link) {
observer.observe(link, { attributes: true, attributeFilter: ['href'] });
});
});
评论
0赞
Fabian
11/22/2023
He Qasim,看起来很有前途,但请提供有关如何在 GTM 中测试此代码的简短分步说明。
评论