在 iOS 6 中,Google 代碼管理工具支援使用 Google Ads 轉換追蹤代碼,以觸發條件為基礎的彈性 Google Ads 轉換追蹤。本指南使用 iOS 應用程式下載轉換,說明如何使用 Google 代碼管理工具設定及導入 Google Ads 轉換追蹤代碼。
如要為 iOS 應用程式下載設定並導入 Google Ads 轉換追蹤,請按照下列步驟進行:
1. 在 Google Ads 中建立新的轉換
如要在 Google Ads 中建立新的轉換,請按照下列步驟操作:
- 登入 Google Ads 帳戶。
- 在選單列中,依序選取「工具」>「轉換」。
- 按一下「+ 轉換」。
- 選取「應用程式」。
- 選取「應用程式下載」和「iOS」,然後按一下「繼續」。
- 輸入下列內容:
- 按一下「Name」(名稱) 輸入 iOS 應用程式名稱,然後按一下「Done」(完成)。
- 按一下「Value」即可為每次下載輸入一個值;您也可以選取「不指派值給這次下載的值」,然後按一下「完成」。
- 按一下預設選取的「最佳化」。 如要關閉最佳化功能,請按一下「開啟」將其切換為「關閉」,然後按一下「完成」。
- (選用) 按一下「回傳網址」,輸入分析供應商提供的網址來發布轉換,然後按一下「完成」。
- 按一下「儲存並繼續」。
- 查看轉換設定。如要變更設定,請按一下「編輯設定」。
- 在「設定追蹤方式」下方,選取「將追蹤程式碼導入應用程式」。
- 按一下「儲存操作說明和程式碼」或「以電子郵件傳送指示和程式碼」,儲存
conversionId
和label
值。 - 按一下「完成」。
2. 建立封鎖和觸發條件
在 Google 代碼管理工具介面中,建立封鎖和觸發觸發條件,決定轉換追蹤代碼的觸發時機。
Google Ads 轉換標記僅適用於 iOS 6.0 以上版本,因此您必須建立兩個觸發條件:
如要在 Google 代碼管理工具中建立封鎖觸發條件,請按照下列步驟操作:
- 登入 Google 代碼管理工具帳戶。
- 請選取行動容器。
- 按一下左側導覽列中的「觸發條件」。
- 按一下 [新增]。
- 按一下「未命名的觸發條件」,輸入觸發條件名稱 osVersionPre6。
- 在「啟動時機」下方,輸入下列條件:
- 按一下 [Create trigger] (建立觸發條件)。
在 Google 代碼管理工具中建立觸發條件的步驟如下:
- 登入 Google 代碼管理工具帳戶。
- 請選取行動容器。
- 按一下左側導覽列中的「觸發條件」。
- 按一下「新增」,然後選取「自訂觸發條件」。
- 按一下「未命名的觸發條件」,輸入「當事件等於 appLaunch 且平台等於 iOS 時觸發」觸發條件名稱。
- 在「這項觸發條件的啟動時機」下方,選取「部分事件」並輸入下列條件:
- 按一下 [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
5. 錄製深層連結
如果應用程式使用深層連結記錄深層連結轉換,請在 AppDelegate
的 application: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
。