ios - 在 iOS 上使用 Google 跟踪代码管理器传递 UTM 参数

标签 ios google-analytics google-tag-manager

我正在尝试将 UTM 广告系列参数(我在应用程序中从不同来源获取的本地参数)与交易事件一起传递到 Google 跟踪代码管理器,以便能够将交易与广告系列关联起来。我使用数据层发送数据:[self.tagManager.dataLayer push:combinedParameters]事件在combinedParameters中设置为事务。

交易数据已正确跟踪,但在 Analytics 网站中看不到相关的营销事件数据,例如 utm_sourceutm_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/

相关文章:

objective-c - 无法触发 UITableView 委托(delegate)方法 "DidSelectRowAtIndexPath"

ios - iPhone、iPad 上的动画 Gif 问题

javascript - 在 Zend 项目中实现 Google Analytics/任何 Javascript 的最佳方式/最佳实践(适用于所有页面)

android-studio - Google Analytics(分析)未显示android studio项目的任何数据

google-analytics - 谷歌分析与不同用户共享数据

ios - 规则“OCLint:访问者或初始化外部的ivar分配”不存在

ios - Firebase FAuthData 即使在删除应用程序后也会保存

javascript - 如何使用 gtag.js 让 Google Analytics 在 SPA 上显示正确的事件页面?

javascript - Google 跟踪代码管理器自定义模板沙盒 Javascript 问题

google-tag-manager - Google 跟踪代码管理器中的页面浏览量和事件类型之间有什么区别,以及 "some page views"存储在 Google Analytics 中的位置?