本文件將概述如何使用適用於 Android v3 的 Google Analytics (分析) SDK,評估廣告活動和流量來源。
總覽
透過 Google Analytics (分析) 評估廣告活動,您就能將廣告活動和流量來源歸因於應用程式內的使用者活動。下列選項適用於 Android 專用 Google Analytics (分析) SDK 中的廣告活動和流量來源歸因:
- Google Play 廣告活動歸因 - 查看哪些廣告活動、網站和其他應用程式將使用者轉介至 Google Play 商店來下載您的應用程式。
- 一般廣告活動和流量來源歸因 - 查看哪些廣告活動或參照網址在安裝應用程式後啟動。
以下各節將說明在應用程式中導入各類型廣告活動評估的時機和方式。
廣告活動參數
廣告活動參數的作用是針對將使用者帶往應用程式的流量來源和廣告活動,傳遞相關資訊。
下表列出可用廣告活動參數,可用於 Google Play 或一般廣告活動評估:
參數 | 說明 | 範例 |
---|---|---|
utm_campaign |
廣告活動名稱;用於關鍵字分析,找出特定產品宣傳或策略性廣告活動 | utm_campaign=spring_sale |
utm_source |
廣告活動來源;用來識別搜尋引擎、電子報或其他來源 | utm_source=google |
utm_medium |
廣告活動媒介;用來識別電子郵件或單次點擊出價等媒介 | utm_medium=cpc |
utm_term |
廣告活動字詞;搭配付費搜尋使用,以提供廣告的關鍵字 | utm_term=running+shoes |
utm_content |
廣告活動內容;用於 A/B 測試和指定內容廣告,以區分連到同一個網址的廣告或連結 |
utm_content=logolink
utm_content=textlink
|
gclid |
Google Ads 自動標記參數;用於評估廣告。這個值是動態產生,請勿修改。 |
一般廣告活動與流量來源歸因
應用程式安裝完成後,廣告活動、網站或其他應用程式的參照連結網址可能會啟動。在這種情況下,您可以直接在追蹤程式上設定廣告活動欄位,將參照流量來源或行銷廣告活動歸因於後續工作階段的使用者活動。
舉例來說,下列實作項目會檢查啟動應用程式的意圖,找出 Google Analytics (分析) 廣告活動參數:
package com.example.app; import com.google.analytics.tracking.android.Fields; import com.google.analytics.tracking.android.GoogleAnalytics; import com.google.analytics.tracking.android.MapBuilder; import com.google.analytics.tracking.android.Tracker; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import java.util.Map; /* * An example of how to implement general campaign attribution in Android. * * If the intent that launched the Activity has a URI, parse it for campaign * parameters and send the referring data to Google Analytics. */ public class MainActivity extends Activity { private static final String GA_PROPERTY_ID = "UA-XXXX-Y"; private static final String SCREEN_LABEL = "Home Screen"; // This examples assumes the use of Google Analytics campaign // "utm" parameters, like "utm_source". private static final String CAMPAIGN_SOURCE_PARAM = "utm_source"; Tracker mTracker; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mTracker = GoogleAnalytics.getInstance(this).getTracker(GA_PROPERTY_ID); } @Override public void onStart() { super.onStart(); // Set screen name on tracker so that all subsequent hits will use this // value. mTracker.set(Fields.SCREEN_NAME, SCREEN_LABEL); // Get the intent that started this Activity. Intent intent = this.getIntent(); Uri uri = intent.getData(); // Send a screenview using any available campaign or referrer data. MapBuilder.createAppView().setAll(getReferrerMapFromUri(uri)); } /* * Given a URI, returns a map of campaign data that can be sent with * any GA hit. * * @param uri A hierarchical URI that may or may not have campaign data * stored in query parameters. * * @return A map that may contain campaign or referrer * that may be sent with any Google Analytics hit. */ Map<String,String> getReferrerMapFromUri(Uri uri) { MapBuilder paramMap = new MapBuilder(); // If no URI, return an empty Map. if (uri == null) { return paramMap.build(); } // Source is the only required campaign field. No need to continue if not // present. if (uri.getQueryParameter(CAMPAIGN_SOURCE_PARAM) != null) { // MapBuilder.setCampaignParamsFromUrl parses Google Analytics campaign // ("UTM") parameters from a string URL into a Map that can be set on // the Tracker. paramMap.setCampaignParamsFromUrl(uri.toString()); // If no source parameter, set authority to source and medium to // "referral". } else if (uri.getAuthority() != null) { paramMap.set(Fields.CAMPAIGN_MEDIUM, "referral"); paramMap.set(Fields.CAMPAIGN_SOURCE, uri.getAuthority()); } return paramMap.build(); } }
此外,如果您的廣告活動資訊形式不是 Google Analytics (分析) 廣告活動參數,則可在 Map
上設定,並手動傳送:
// May return null if EasyTracker has not yet been initialized with a property ID. EasyTracker easyTracker = EasyTracker.getInstance(this); easyTracker.set(Fields.SCREEN_NAME, "Home Screen"); // In this example, campaign information is set using a Map, rather than // a url string with Google Analytics campaign parameters. // Note that Fields.CAMPAIGN_KEYWORD is not necessary for this campaign. HashMap<String, String> campaignData = new HashMap<String, String>(); campaignData.put(Fields.CAMPAIGN_SOURCE, "email"); campaignData.put(Fields.CAMPAIGN_MEDIUM, "email marketing"); campaignData.put(Fields.CAMPAIGN_NAME, "summer_campaign"); campaignData.put(Fields.CAMPAIGN_CONTENT, "email_variation_1"); MapBuilder paramMap = MapBuilder.createAppView(); // Campaign data sent with this hit. // Note that the campaign data is set on the Map, not the tracker. easyTracker.send(paramMap .setAll(campaignData).build() );
Google Play 廣告活動歸因分析
Google Play 廣告活動評估可讓您瞭解哪些廣告活動和流量來源將使用者從 Google Play 商店下載應用程式。建議所有開發人員導入 Google Play 商店廣告活動評估。
導入 Google Play 廣告活動歸因
應用程式從 Google Play 商店下載時,Play 商店應用程式會在安裝期間向您的應用程式廣播 INTENT_REFERRER
。此意圖包含應用程式 Google Play 商店頁面的連結 referrer
參數值 (如果有的話)。
如要將應用程式下載歸因於廣告活動,您必須在指向 Google Play 商店的任何連結中加入 referrer
參數,並在應用程式中新增 BroadcastReceiver
,以便在 Google Analytics (分析) 追蹤程式接收及設定意圖中包含的廣告活動資訊。
我們建議大多數開發人員使用 SDK 提供的 BroadcastReceiver
。如要使用隨附的接收器導入 Google Play 商店廣告活動評估功能,請按照下列步驟操作:
1. 將 Google Analytics (分析) 接收器新增至 AndroidManifest.xml
檔案。如要將 Google Analytics (分析) 接收器新增至資訊清單,請複製及貼上下列標記:
<!-- Used for Google Play Store Campaign Measurement-->; <service android:name="com.google.analytics.tracking.android.CampaignTrackingService" /> <receiver android:name="com.google.analytics.tracking.android.CampaignTrackingReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver>
2.在 Google Play 網址中加入 Google Analytics (分析) 廣告活動參數
接著,請為會直接連結至 Google Play 商店的任何網址新增 referrer
參數,並將該參數的值設為描述來源的 Google Analytics (分析) 廣告活動參數字串,如以下範例所示:
https://play.google.com/store/apps/details?id=com.example.app &referrer=utm_source%3Dgoogle %26utm_medium%3Dcpc %26utm_term%3Dpodcast%252Bapps %26utm_content%3DdisplayAd1 %26utm_campaign%3Dpodcast%252Bgeneralkeywords
如要瞭解如何建立廣告活動參數字串,請使用 Google Play 網址產生器,或參閱廣告活動參數參考資料一節。
Google Play 網址產生器
使用下方工具產生 Google Play 廣告活動評估網址。