我在使用gtag跟踪utm_source,utm_medium时遇到了困难。我在AngularJS中有一个SPA,因此所有页面视图都是动态触发的。我一直在寻找从gtag跟踪这些值的解决方案,但我找到的唯一提示是:
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async="async" src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXX-X"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments)};
gtag('js', new Date());
gtag('set', 'page_title', 'FBIA: '+ia_document.title);
gtag('set', 'campaignSource', 'Facebook');
gtag('set', 'campaignMedium', 'Social Instant Article');
gtag('config', 'UA-XXXXXXXX-X');
</script>
来源:https://gist.github.com/danielmcclure/559c2fe2433035f72d80fe45755af7bf
不幸的是,这不适合我,也不适合其他人:
有更好的想法吗?
答案 0 :(得分:8)
最后,我设法通过美化gtag.js代码并搜索“campaignSource”来找到它。目前的方法似乎是:
gtag('config', 'YOUR_TRACKING_ID', {
...some_other_configs,
campaign: {
source: 'Some source', // utm_source
medium: 'Some medium' // utm medium
}
});
遗憾的是,没有全面的gtag文档。但至少我并没有被迫转回ga ......
答案 1 :(得分:2)
我还需要utm_campaign和utm_content。您未设置的所有内容似乎都会消失,因此我还搜索了代码,发现可以做到这一点:(请注意ga前缀变量是我在早期JavaScript中确定的东西
gtag('config', 'YOUR_TRACKING_ID', {
campaign: {
medium: gaMedium,
source: gaSource,
name: gaCampaign,
content: gaContent
}
});