我正在尝试将 UTM 广告系列参数(我在应用程序中从不同来源获取的本地参数)与交易事件一起传递到 Google 跟踪代码管理器,以便能够将交易与广告系列关联起来。我使用数据层发送数据:[self.tagManager.dataLayer push:combinedParameters]
事件在combinedParameters
中设置为事务。
交易数据已正确跟踪,但在 Analytics 网站中看不到相关的营销事件数据,例如 utm_source
、utm_medium
等。我将所有这些都传递到combinedParameters 中。我还尝试使用 utm_source
等作为键并使用 kGAICampaignContent
通过 [self.tagManager.dataLayer pushValue:val forKey:key];
发送它.
这些都没有真正起作用。没有文档(至少我能找到)有助于理解如何通过 GTM 传递 UTM 数据。唯一可用的是 Google Analytics在这种情况下不起作用。
任何帮助将不胜感激。
最佳答案
如果您只是认为 SDK 是测量协议(protocol)的热门构建器,那么您会更容易理解。
在 GTM 中,您可以添加 MP fields使用更多设置>要设置的字段下的设置添加到标签。要设置三个必需的营销事件参数(来源、媒介、名称),您需要添加以下字段:
字段名称:&cm
值:some-campaign-medium
字段名称:&cs
值:some-campaign-source
字段名称:&cn
值:某些营销事件名称
要设置“some-campaign-*”的动态值,您可以使用数据层变量将解析后的 URL 参数值拉入 GTM 的数据模型。
因此,要解析传入的 URL,您可以利用 GA SDK 的 dataLayer
以及 GAIDictionaryBuilder
接口(interface)。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
NSString *urlString = [url absoluteString];
GAIDictionaryBuilder *hitParams = [[GAIDictionaryBuilder alloc] init];
[hitParams setCampaignParametersFromUrl:urlString];
TAGDataLayer *dataLayer = [TAGManager instance].dataLayer;
if([hitParams get:kGAICampaignSource] && [hitParams get:kGAICampaignMedium] && [hitParams get:kGAICampaignName]) {
[dataLayer push:@{
@"event": @"screenView",
@"screenName": @"Home Screen",
@"customCampaignSource": [hitParams get:kGAICampaignSource],
@"customCampaignMedium": [hitParams get:kGAICampaignMedium],
@"customCampaignName": [hitParams get:kGAICampaignName]
}];
}
return YES;
}
之后,您将创建三个数据层变量,一个用于 customCampaignSource
,一个用于 customCampaignName
,一个用于 customCampaignMedium
。将它们分别添加到 &cs、&cn 和 &cm 字段,您的标签应该会收集动态广告系列数据。
关于ios - 在 iOS 上使用 Google 跟踪代码管理器传递 UTM 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30534908/