首页 文章

如何在JS中手动将gclid参数传递给Google Analytics

提问于
浏览
1

我有一个网站构建与世界上最令人惊叹的框架之一 . 不幸的是,它有一个缺点 . 它不允许使用查询参数,例如:www.url.com/page/1即可,但www.url.com/?page=1不正常 . 当您放置此URL时,它会使用浏览器历史记录,因此URL中不会留下任何查询参数 .

我在Google Adwords中有一个广告系列,可以引导用户访问此网站 . 自动标记已开启 . 我注意到我的网站有10k次点击,但Google Analytics不会为Adwords来源报告此类数字 .

我发现Adwords自动标记是将gclid参数添加到目标网址 . 比分析更了解广告系列的所有内容,因为Google Analytics和Adwords是相互关联的,我应该拥有关于广告系列及其转化的精美分析数据 .

但我没有 . 由于我最好的网站框架之一使用其JS代码删除了gclid参数,因此Analytics不会注意到gclid而不会保存用户的来源 .

为了检查它是否真的是我的网站框架问题,我已经在我的网站上添加了utm(umt)参数,并在Analytics中实时检查了源代码 . 它没有报告作为参数提供的来源,而是直接访问 .

我希望能够在Google Analytics中分析Adwords的效果 . 不幸的是,我不能改变我的框架,因为它是世界上最伟大的框架之一 . 但我注意到,在框架的JS代码被解雇之前,我有一段时间带有参数gclid的URL .

下面的几行我有我的Google Analytics跟踪代码 . 显然它试图从URL获取gclid . 但对他来说为时已晚 . 当Google Analytics尝试阅读时,gclid参数消失了 .

所以我的问题是:因为我有gclid,谷歌分析有什么方法可以传递给他吗?喜欢说:

var gclid = getGClidBeforeItsToLate(); //我有它覆盖

//很棒的框架内容

HeyGoogleAnalyticsHereYouGoItsYourGclidTakeCare(GCLID);

1 回答

  • 2

    覆盖“location”字段并附加gclid参数 .

    if(gclid) {
      ga('set', 'location', document.location + '?gclid=' + gclid);
    }
    ga('send','pageview')
    

    您必须使用位置字段,而不是“页面”字段(采用页面路径),因为即使您在路径中添加参数,后者也不会更改属性 .

    如果您已手动设置广告系列参数(“utm参数”),则可以通过campaignMedium / campaignSource / campaignName字段设置它们,但由于您无法从gclid获取单个广告系列值,因此您必须覆盖该位置(此时GA将从浏览器的地址栏中删除它收集的内容并使用您传入的值 .

相关问题