广告系列衡量 - iOS SDK

本文档将大略介绍如何使用 iOS 版 Google Analytics(分析)SDK v3 来衡量广告系列和流量来源。

概览

在 Google Analytics(分析)中衡量广告系列可让您将应用中的用户活动归因于特定的广告系列和流量来源。iOS 版 Google Analytics(分析)SDK 提供了以下这些用于广告系列和流量来源归因的选项:

下文介绍了何时及如何在您的应用中实现每种广告系列衡量功能。

广告系列参数

广告系列参数用于传递将用户带到您的应用中的流量来源和广告系列的相关信息。

下表列出了可用于常规广告系列衡量的广告系列参数:

参数 说明 示例
utm_campaign 广告系列名称,用于关键字分析,以标识具体的产品推广活动或战略广告系列 utm_campaign=spring_sale
utm_source 广告系列来源,用于确定具体的搜索引擎、简报或其他来源 utm_source=google
utm_medium 广告系列媒介,用于确定电子邮件或采用每次点击费用 (CPC) 的广告等媒介 utm_medium=cpc
utm_term 广告系列字词,用于付费搜索,为广告提供关键字 utm_term=running+shoes
utm_content 广告系列内容,用于 A/B 测试和内容定位广告,以区分指向相同网址的不同广告或链接 utm_content=logolink
utm_content=textlink
gclid AdWords 自动标记参数,用于衡量 Google AdWords 广告。此值会动态生成,请勿修改。

常规广告系列和流量来源归因

应用在安装之后,即可被来自广告系列、网站或其他应用的引荐所启动。在这种情况下,您可以直接在跟踪器中设置广告系列字段,以便将一系列会话中的用户活动归因到特定的引荐流量来源或营销广告系列。

发送广告系列数据的最简单方式是使用 [GAIDictionaryBuilder setCampaignParametersFromUrl:urlString],其中 urlString 是一个字符串,代表一个可能包含 Google Analytics(分析)广告系列参数的网址。请注意在下例中,广告系列数据未直接在跟踪器中设置,因为该数据只需要发送一次:

/*
 * MyAppDelegate.m
 *
 * An example of how to implement campaign and referral attribution.
 * If no Google Analytics campaign parameters are set in the referring URL,
 * use the hostname as a referrer instead.
 */

// For iOS 9.0 and later
- (BOOL)application:(UIApplication *)app openURL:(nonnull NSURL *)url
            options:(nonnull NSDictionary<NSString *,id> *)options {

// For iOS versions prior to 9.0
//- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
//  sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

  NSString *urlString = [url absoluteString];

  id<GAITracker> tracker = [[GAI sharedInstance] trackerWithName:@"tracker"
                                                      trackingId:@"UA-XXXX-Y"];

  // setCampaignParametersFromUrl: parses Google Analytics campaign ("UTM")
  // parameters from a string url into a Map that can be set on a Tracker.
  GAIDictionaryBuilder *hitParams = [[GAIDictionaryBuilder alloc] init];

  // Set campaign data on the map, not the tracker directly because it only
  // needs to be sent once.
  [hitParams setCampaignParametersFromUrl:urlString];

  // Campaign source is the only required campaign field. If previous call
  // did not set a campaign source, use the hostname as a referrer instead.
  if(![hitParams get:kGAICampaignSource] && [url host].length !=0) {
    // Set campaign data on the map, not the tracker.
    [hitParams set:@"referrer" forKey:kGAICampaignMedium];
    [hitParams set:[url host] forKey:kGAICampaignSource];
  }

  NSDictionary *hitParamsDict = [hitParams build];

  // A screen name is required for a screen view.
  [tracker set:kGAIScreenName value:@"screen name"];

  // Previous V3 SDK versions.
  // [tracker send:[[[GAIDictionaryBuilder createAppView] setAll:hitParamsDict] build]];

  // SDK Version 3.08 and up.
  [tracker send:[[[GAIDictionaryBuilder createScreenView] setAll:hitParamsDict] build]];

或者,如果您掌握的广告系列信息并不是 Google Analytics(分析)广告系列参数的形式,则可以在 NSDictionary 中设置并手动发送:

// Assumes at least one tracker has already been initialized.
id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];

// Note that it's not necessary to set kGAICampaignKeyword for this email campaign.
NSDictionary *campaignData = [NSDictionary dictionaryWithObjectsAndKeys:
    @"email", kGAICampaignSource,
    @"email_marketing", kGAICampaignMedium,
    @"summer_campaign", kGAICampaignName,
    @"email_variation1", kGAICampaignContent, nil];

// A screen name is required for a screen view.
[tracker set:kGAIScreenName value:@"screen name"];

// Note that the campaign data is set on the Dictionary, not the tracker.
// Previous V3 SDK versions.
// [tracker send:[[[GAIDictionaryBuilder createAppView] setAll:campaignData] build]];

// SDK Version 3.08 and up.
[tracker send:[[[GAIDictionaryBuilder createScreenView] setAll:campaignData] build]];

iOS 应用安装广告系列衡量

Google Analytics(分析)默认情况下即支持 iOS 应用安装广告系列衡量功能,它既支持常见网络,也支持为其他网络生成自定义网址。

要启用 iOS 应用安装广告系列衡量功能,请使用下面的 iOS 广告系列跟踪网址构建工具来为您将用户发送到 App Store 的广告生成目标网址。为了让 iOS 广告系列跟踪功能正常发挥作用,您必须已在您的 iOS 应用中实现了 Google Analytics(分析)、启用了 IDFA 收集,并且已在跟踪您应用中的一个或多个屏幕浏览或事件。如果您想使用自动的 iAd 应用安装广告系列衡量功能,还需要向您的应用添加额外的框架。

对 iOS 转化跟踪问题进行自助排查

如果看不到您的 iOS 广告系列的转化,请按以下步骤进行问题排查:

  1. 确认您已启用 iOS 广告系列跟踪
  2. 确认应用 ID 正确无误
  3. 确认 GA SDK 发送了 IDFA
  4. 查看受众特征报告以确认发送了 IDFA
  5. 确保 iOS 广告系列跟踪网址正确无误

第 1 步:确认您已启用 iOS 广告系列跟踪

要确认针对目标媒体资源的 iOS 广告系列跟踪功能已启用,请执行以下操作:

  1. 点击管理标签。

    “管理”标签

  2. 选择媒体资源,然后点击媒体资源设置

    媒体资源设置

  3. 确保 iOS 广告系列跟踪处于开启状态。

    iOS 广告系列跟踪

第 2 步:确认应用 ID 正确无误

要使用应用数据正确归因广告系列,iOS 广告系列跟踪网址和您的应用跟踪实现需要使用相同的 App ID。要确定您当前跟踪的应用的 App ID,可以在 Google Analytics(分析)网页界面中以 App ID会话分别作为维度和指标创建一个自定义报告。

在创建 iOS 广告系列点击跟踪网址时,请使用该自定义报告中显示的 App ID

创建自定义报告

第 3 步:确认 Google Analytics(分析)SDK 发送了 IDFA

Google Analytics(分析)使用广告客户标识符 (IDFA) 作为一种键值 将移动点击加入 Google Analytics(分析)匹配。您需要确保:

  • 您的应用使用的是 iOS 版 Google Analytics(分析)SDK 版本 3.10更高版本
  • 如果您使用独立版 SDK 下载
    • 作为 iOS 版 Google Analytics(分析)的一部分,您的应用与 libAdIdAccess.a 相关联。
    • 您的应用与 AdSupport.framework 相关联。
  • 如果您使用 CocoaPods 来安装和管理依赖关系,请将 GoogleIDFASupport Cocoapod 添加到 Podfile:
    pod 'GoogleIDFASupport'
    
  • 您已在每个跟踪器上启用 IDFA 收集:
    tracker.allowIDFACollection = YES;
    
  • 可能的话,使用调试代理应用来查看 HTTP 请求并确认其中包含 IDFA。

第 4 步:查看受众特征报告以确认发送了 IDFA

Google Analytics(分析)使用 IDFA 来生成受众特征报告。在 Google Analytics(分析)中,点击报告标签,然后点击受众群体 > 受众特征 > 概览,检查是否存在受众特征数据。如果存在,说明 IDFA 发送正确。

自定义报告

第 5 步:确保 iOS 广告系列跟踪网址正确无误

使用 iOS 广告系列跟踪网址构建工具来验证 iOS 广告系列跟踪网址是否正确。

在选择广告网络的自定义选项时,还请务必咨询该广告网络以确认该网络支持使用重定向网址来跟踪单个设备 ID。如果不能得到支持,则 Google Analytics(分析)无法向您报告任何数据。

iOS 广告系列跟踪网址构建工具

请使用下面的工具来生成网址,以用于衡量 iOS 应用安装来源。