Firebase动态链接广告系列跟踪无法正常工作

时间:2020-06-01 13:30:21

标签: android firebase firebase-analytics firebase-dynamic-links event-tracking

在工作中,我们尝试通过Firebase门户创建动态链接时使用可选的广告系列跟踪UTM参数。

动态链接工作正常,据我从所有官方文档了解,在创建动态链接时,仅在最后一个可选步骤中添加UTM值会导致这些值与{{1 }}事件。

但是,当我们查看dynamic_link_app_open事件的事件或转化标签时,看不到任何归因值。我们看到事件已发送,但我们只是没有获得广告系列归因值,因此我们不知道是什么广告系列导致了这些事件和转化。

确实缺少此特定功能的文档,这使我们的营销部门感到沮丧,而最终该部门最终还是由开发人员(即我)来完成的。

我已经开发出一种解决方法,但这是一个hack:

在Firebase门户上创建动态链接时,我将dynamic_link_app_openutm_sourceutm_medium查询字符串直接放入深层链接中(出于安全原因,这不是我们的实际深层链接) ,但您知道了)

utm_campaign

然后在客户端中,我将代码通过Firebase动态链接SDK传递给动态链接后,将代码从最终的深层链接中剔除。借助这三点信息,我可以通过https://www.example.com?utm_source=Test&utm_medium=Test&utm_campaign=Test SDK将app_open事件发送到Firebase分析,如下所示:

FirebaseAnalytics

虽然可行,但却引出了一个问题;创建动态链接时,可选的广告系列跟踪部分有什么意义?大概放置FirebaseDynamicLinks.getInstance() .getDynamicLink(getIntent()) .addOnSuccessListener(this, pendingDynamicLinkData -> { if (pendingDynamicLinkData != null) { Uri optionalDynamicDeepLink = pendingDynamicLinkData.getLink(); if (optionalDynamicDeepLink != null) { List<String> utmSource = optionalDynamicDeepLink.getQueryParameters(UTM_SOURCE); List<String> utmCampaign = optionalDynamicDeepLink.getQueryParameters(UTM_CAMPAIGN); List<String> utmMedium = optionalDynamicDeepLink.getQueryParameters(UTM_MEDIUM); if (!utmSource.isEmpty() && !utmCampaign.isEmpty() && !utmMedium.isEmpty()) { String utmSourceParam = String.valueOf(utmSource); String utmCampaignParam = String.valueOf(utmCampaign); String utmMediumParam = String.valueOf(utmMedium); Bundle params = new Bundle(); params.putString(FirebaseAnalytics.Param.SOURCE, utmSourceParam); params.putString(FirebaseAnalytics.Param.CAMPAIGN, utmCampaignParam); params.putString(FirebaseAnalytics.Param.MEDIUM, utmMediumParam); FirebaseAnalytics.getInstance(this).logEvent(FirebaseAnalytics.Event.CAMPAIGN_DETAILS, params); FirebaseAnalytics.getInstance(this).logEvent(FirebaseAnalytics.Event.APP_OPEN, params); } String dynamicDeepLink = optionalDynamicDeepLink.toString(); if (!handleDeepLink(dynamicDeepLink)) { Generic.openLinkInCustomTabs(getApplicationContext(), deepLinkOptional); } } else { if (!handleDeepLink(deepLinkOptional)) { handleIntent(intent); } } } else { if (!handleDeepLink(deepLinkOptional)) { handleIntent(intent); } } }).addOnFailureListener(this, e -> { if (!handleDeepLink(deepLinkOptional)) { Generic.openLinkInCustomTabs(getApplicationContext(), deepLinkOptional); } }); utm_sourceutm_medium可以使Firebase用上述广告系列跟踪数据自动神奇地填充utm_campaign事件,但事实并非如此。

例如,这是我设置可选的最后一步的方法:

Campaign Tracking Section

然后,我多次跟踪动态链接到应用程序中,并要求测试人员进行相同的操作。我已经等待了36个多小时(因为我知道这些事件可能需要一些时间才能传播到云中),并且我们看到dynamic_link_app_open个事件逐渐增多,这表明已为我们的动态链接记录了一个事件,但是当我们对该事件进行了深入研究,未收集到任何UTM信息。

firebase的此功能是否已损坏?

我可以从Firebase官方文档(https://firebase.google.com/docs/dynamic-links/analytics)中看到这一点:

enter image description here

这表示在Firebase上不支持从动态链接点击中收集UTM数据,但在Google Analytics(分析)中受支持。这一点都不令人困惑(/ sarcasm)。 因此,大概我们的某些数据(即与广告系列跟踪有关的数据)是由Google Analytics(分析)收集/托管的吗?

为进一步混淆,firebase动态链接的官方文档规定:

“如果将动态链接事件标记为转化,则可以在“归因”页面上查看动态链接的效果。”

然后显示甚至与现实都不匹配的Firebase门户用户界面的图像:

enter image description here

我已经在firebase控制台上搜索并搜索了一个归因标签,但是没有一个...这些文档足以使开发人员发疯。

3 个答案:

答案 0 :(得分:2)

我能理解您的沮丧,我们几个月来都遇到了同样的问题。我也认为这不应该是它的工作原理,你需要手动拿起UTM参数的方式。我没有找到一个较旧的屏幕截图(从2019),其显示动态链接应该做到这一点对自己: [Dynamic Link Event automatically generating campaign, source, and medium

这第一部分仍然有效,但源/中/运动从来没有使之成为收购/归因报告。他们确实做了,在过去的: Report

(在屏幕截图的例子是另一种动态链接比在第一屏幕截图,对不起)

在与谷歌谈判,它听起来好像他们确实意识到这是一个错误,但提供对是否或何时这将是固定不具体。

所以我只能确认你不是一个人与你的问题...

答案 1 :(得分:0)

根据this answer

您在UI中选择的

UTM参数是移动设备的参数 跟踪。如果您要将UTM参数传递给您的“后备” 网站,则需要将其添加到后备地址本身。

答案 2 :(得分:0)

2021 年更新的答案:

我想问题已解决,现在您可以从 DebugView 看到动态链接的事件以及所有参数(如@Lukas Oldenburg 所说)

enter image description here