Google Ads 轉換追蹤

在 iOS 6 中,Google 代碼管理工具支援使用 Google Ads 轉換追蹤代碼,以觸發條件為基礎的彈性 Google Ads 轉換追蹤。本指南使用 iOS 應用程式下載轉換,說明如何使用 Google 代碼管理工具設定及導入 Google Ads 轉換追蹤代碼。

如要為 iOS 應用程式下載設定並導入 Google Ads 轉換追蹤,請按照下列步驟進行:

  1. 在 Google Ads 中建立新的轉換
  2. 建立封鎖和觸發觸發條件
  3. 建立 Google Ads 轉換追蹤代碼
  4. 將轉換事件推送至資料層
  5. 記錄深層連結
  6. 發布容器
  7. 存取廣告客戶 ID (IDFA)

1. 在 Google Ads 中建立新的轉換

如要在 Google Ads 中建立新的轉換,請按照下列步驟操作:

  1. 登入 Google Ads 帳戶。
  2. 在選單列中,依序選取「工具」>「轉換」
  3. 按一下「+ 轉換」
  4. 選取「應用程式」
  5. 選取「應用程式下載」和「iOS」,然後按一下「繼續」
  6. 輸入下列內容:
    • 按一下「Name」(名稱) 輸入 iOS 應用程式名稱,然後按一下「Done」(完成)
    • 按一下「Value」即可為每次下載輸入一個值;您也可以選取「不指派值給這次下載的值」,然後按一下「完成」
    • 按一下預設選取的「最佳化」。 如要關閉最佳化功能,請按一下「開啟」將其切換為「關閉」,然後按一下「完成」
    • (選用) 按一下「回傳網址」,輸入分析供應商提供的網址來發布轉換,然後按一下「完成」
  7. 按一下「儲存並繼續」
  8. 查看轉換設定。如要變更設定,請按一下「編輯設定」
  9. 在「設定追蹤方式」下方,選取「將追蹤程式碼導入應用程式」
  10. 按一下「儲存操作說明和程式碼」或「以電子郵件傳送指示和程式碼」,儲存 conversionIdlabel 值。
  11. 按一下「完成」

2. 建立封鎖和觸發條件

在 Google 代碼管理工具介面中,建立封鎖和觸發觸發條件,決定轉換追蹤代碼的觸發時機。

Google Ads 轉換標記僅適用於 iOS 6.0 以上版本,因此您必須建立兩個觸發條件:

如要在 Google 代碼管理工具中建立封鎖觸發條件,請按照下列步驟操作:

  1. 登入 Google 代碼管理工具帳戶。
  2. 請選取行動容器。
  3. 按一下左側導覽列中的「觸發條件」
  4. 按一下 [新增]。
  5. 按一下「未命名的觸發條件」,輸入觸發條件名稱 osVersionPre6
  6. 在「啟動時機」下方,輸入下列條件:

    iOS 6.0 之前的版本

  7. 按一下 [Create trigger] (建立觸發條件)

在 Google 代碼管理工具中建立觸發條件的步驟如下:

  1. 登入 Google 代碼管理工具帳戶。
  2. 請選取行動容器。
  3. 按一下左側導覽列中的「觸發條件」
  4. 按一下「新增」,然後選取「自訂觸發條件」
  5. 按一下「未命名的觸發條件」,輸入「當事件等於 appLaunch 且平台等於 iOS 時觸發」觸發條件名稱。
  6. 在「這項觸發條件的啟動時機」下方,選取「部分事件」並輸入下列條件:

    在 iOS 上啟動應用程式

  7. 按一下 [Create trigger] (建立觸發條件)

3. 建立 Google Ads 轉換標記

在 Google 代碼管理工具介面中,使用以下設定值來建立新的 Google Ads 轉換追蹤代碼,即可將應用程式下載視為轉換來追蹤:

代碼名稱:iOS App Download Conversion
代碼類型:Google Ads Conversion Tracking
轉換 ID:從 Google Ads 程式碼片段中複製 conversionId
轉換標籤:從 Google Ads 程式碼片段中複製「label
轉換價值:不需要與 Google Ads 程式碼片段進行比對
不可重複:Yes
啟用觸發條件:fire when event equals appLaunch and platform equals iOS
封鎖觸發條件:osVersionPre6

4. 將轉換事件推送至資料層

在應用程式中加入程式碼,將觸發轉換的事件推送到資料層。舉例來說,如要追蹤應用程式下載,請在應用程式啟動且代碼管理工具容器可供使用後,將值為 appLaunch 的事件推送至資料層。

//
// MyNotifier.h
//
#import "TAGContainerOpener.h"

@interface MyNotifier : NSObject<TAGContainerOpenerNotifier>

@end

//
// MyNotifier.m
//
#import "AppDelegate.h"
#import "MyNotifier.h"
#import "TAGDataLayer.h"
#import "TAGManager.h"

@implementation MyNotifier

- (void)containerAvailable:(TAGContainer *)container {

  AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];

  if (appDelegate.appLaunchEventPushed == NO) {
    // Push the app launch event once after the container is opened.
    [[TAGManager instance].dataLayer push:@{@"event": @"appLaunch"}];
    appDelegate.appLaunchEventPushed = YES;
  }
}

@end

//
// AppDelegate.m
//
#import "AppDelegate.h"
#import "MyNotifier.h"
#import "TAGDataLayer.h"
#import "TAGManager.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

   // MyNotifier::containerAvailable: is called when the container is opened.
  [TAGContainerOpener openContainerWithId:@"GTM-XXXX"
                               tagManager:[TAGManager instance]
                                 openType:kTAGOpenTypePreferNonDefault
                                  timeout:nil
                                 notifier:[[MyNotifier alloc] init]];

  // Rest of the method implementation.
  return YES:
}

// Rest of the AppDelegate implementation

@end

如果應用程式使用深層連結記錄深層連結轉換,請在 AppDelegateapplication:handleOpenURL 中,以 "gtm.url" 的形式將連結推送至資料層:

[[TAGManager instance].dataLayer push:@{@"gtm.url": [url absoluteString]}];
[[TAGManager instance] previewWithURL:url];

6. 發布容器

您現在可以發布容器,開始將轉換追蹤連線偵測 (ping) 傳送至 Google Ads。詳情請參閱「 發布和版本」。

如要進一步瞭解 Google Ads 轉換追蹤,包括轉換記錄方式的相關問題,請參閱「 瞭解轉換追蹤」一文。

7. 存取廣告主 ID (IDFA)

如何允許 iOS 應用程式存取廣告客戶 ID (IDFA):

  • 在實際目標中加入 libAdIdAccess.a 程式庫。
  • 在連結器選項中,為實際目標指定 -ObjC-force_Load
  • 在實際目標中加入 AdSupport.framework