如何使用setCampaignParamsFromUrl()使用Google Analytics设置广告系列

时间:2015-03-08 21:42:43

标签: android google-analytics google-analytics-v4

更新

这是由谷歌修复的bug引起的,发布版本为4.5 - Google Play Services 7。0(2015年5月1日)"。使用Google Play Services 7.3或更高版本时,应该可以按预期使用完整网址调用setCampaignParametersFromUrl()


原始问题

我在Android应用中使用Google Analytics V4。在启动时,我向Google Analytics发送了一个屏幕视图点击,并通过调用HitBuilders.ScreenViewBuilder来设置我的setCampaignParamsFromUrl()上的广告系列参数:

String url = "http://example.com/?referrer=utm_source%3Down-build%26utm_campaign%3Dinternal-testing";
builder.setCampaignParamsFromUrl(url); 

这似乎有效,因为我可以看到该广告系列包含在Google Analytics的日志中:

V/GAV4﹕ Thread[GAThread,5,main]: Sending hit to service ...,  cn=internal-testing...

但是,当我第二天在Google Analytics网络界面查看我的数据时,此广告系列不会显示。我只有广告系列用户"(未设置)"。

我已卸载我的应用,清除了广告ID并重新安装了应用,我在Google Analytics网络界面中将此安装视为新用户,因此我知道数据已发送到那里。但我使用的广告系列并没有显示出来。

我错误地使用setCampaignParamsFromUrl()还是错过了其他内容?我是否必须配置我所拥有的广告系列,或者Google Analytics是否会自动选择以前未见过的新广告系列的值?

(至于为什么我没有收听安装推荐人事件,请参阅:What is the scope of the utm_campaign dimension in Google Analytics v4 on Android?

2 个答案:

答案 0 :(得分:3)

更新:issue 596已由Google修复,现在可以使用最新版Google Play服务(2015年5月1日发布的7.3)使用网址致电setCampaignParamsFromUrl() < /强>

经过一些测试后,我设法弄清楚发生了什么以及传递给setCampaignParamsFromUrl()的网址究竟应该具有什么格式。

TL; DR:使用Google Play URL Builder生成网址,但只将引荐来源字符串(referrer=之后的部分)传递给setCampaignParamsFromUrl()

当调用setCampaignParamsFromUrl()时,它会在“?”之后取出所有内容并在每个'&amp;'上拆分它获取它应发送给GA的所有参数列表。

对于每个参数,它然后拆分'='并将第一个子串作为参数,第二个作为该参数的值。

通常情况下效果很好,但它不适用于Google Play网址构建器生成的网址。在取消转义原始问题中使用的URL的参数字符串后,我们得到字符串:

referrer=utm_source=own-build&utm_campaign=internal-testing

拆分'&amp;'后我们得到以下两个字符串

1. referrer=utm_source=own-build
2. utm_campaign=internal-testing

第二个可以很好地处理utm_campaign赋值“内部测试”,但第一个是有问题的。我们得到参数referrer,其值为“utm_source”。由于referrer不是有效的广告系列参数,因此不会向GA报告,因为utm_source是必需参数,因此GA会将此广告系列数据视为无效,并忽略同时报告的所有其他参数。

因此,要让setCampaignParamsFromUrl()生效,您只能传入引荐来源字符串,即Google Play网址构建器生成的网址中referrer=之后的所有字符串。因此,原始问题中使用的URL应为

utm_source%3Down-build%26utm_campaign%3Dinternal-testing

由于GA SDK会自动获取包,因此根本不需要URL构建器生成的URL的包名称。

由于此行为对我来说感觉像是一个错误,因此在GA错误跟踪器中报告为issue 596

答案 1 :(得分:1)

尝试使用“广告系列开发指南”末尾提供的表单构建您的网址: https://developers.google.com/analytics/devguides/collection/android/v4/campaigns

另外,请确保您没有启用采样。如果您是从单个设备/模拟器进行测试,并且启用了采样,则可能会忽略您的广告系列数据。