Đo lường chiến dịch – SDK Android

Tài liệu này cung cấp thông tin tổng quan về cách đo lường chiến dịch và nguồn lưu lượng truy cập bằng SDK Google Analytics dành cho Android phiên bản 3.

Tổng quan

Việc đo lường chiến dịch trong Google Analytics cho phép phân bổ chiến dịch và nguồn lưu lượng truy cập cho hoạt động của người dùng trong ứng dụng của bạn. Bạn có thể sử dụng các tùy chọn sau cho hoạt động phân bổ chiến dịch và nguồn lưu lượng truy cập trong SDK Google Analytics dành cho Android:

Các phần sau đây sẽ mô tả thời điểm và cách triển khai từng loại đo lường chiến dịch trong ứng dụng của bạn.

Thông số chiến dịch

Các thông số chiến dịch được dùng để truyền thông tin về các nguồn lưu lượng truy cập và chiến dịch đang đưa người dùng đến với ứng dụng của bạn.

Bảng dưới đây chứa các thông số chiến dịch hiện có có thể dùng trong Google Play hoặc dữ liệu đo lường chiến dịch chung:

Thông số Nội dung mô tả Ví dụ
utm_campaign Tên chiến dịch; được dùng để phân tích từ khoá nhằm xác định một quảng cáo sản phẩm cụ thể hoặc chiến dịch mang tính chiến lược utm_campaign=spring_sale
utm_source Nguồn chiến dịch; được dùng để xác định công cụ tìm kiếm, bản tin hoặc nguồn khác utm_source=google
utm_medium Phương tiện chiến dịch; được dùng để xác định phương tiện, chẳng hạn như email hoặc chi phí mỗi lượt nhấp (cpc) utm_medium=cpc
utm_term Cụm từ chiến dịch; được sử dụng cùng với kết quả tìm kiếm có trả phí để cung cấp từ khoá cho quảng cáo utm_term=running+shoes
utm_content Nội dung chiến dịch; được sử dụng cho thử nghiệm A/B và quảng cáo nhắm mục tiêu theo nội dung để phân biệt các quảng cáo hoặc đường liên kết trỏ đến cùng một URL utm_content=logolink
utm_content=textlink
gclid thông số tự động gắn thẻ của Google Ads; được dùng để đo lường quảng cáo. Giá trị này được tạo tự động và không bao giờ được sửa đổi.

Mô hình phân bổ chung cho chiến dịch và nguồn lưu lượng truy cập

Sau khi người dùng cài đặt một ứng dụng, ứng dụng đó có thể được khởi chạy nhờ các lượt giới thiệu từ chiến dịch quảng cáo, trang web hoặc các ứng dụng khác. Trong trường hợp này, việc giới thiệu nguồn lưu lượng truy cập hoặc chiến dịch tiếp thị có thể được phân bổ cho hoạt động của người dùng trong các phiên tiếp theo bằng cách đặt các trường chiến dịch trực tiếp trên trình theo dõi.

Ví dụ: quy trình triển khai sau đây kiểm tra ý định chạy ứng dụng cho các thông số chiến dịch trên 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();
  }
}

Ngoài ra, nếu có thông tin chiến dịch ở một dạng khác với các thông số chiến dịch trên Google Analytics, bạn có thể đặt thông tin đó trên Map và gửi theo cách thủ công:

// 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()
);

Mô hình phân bổ chiến dịch trên Google Play

Tính năng Đo lường chiến dịch trên Google Play giúp bạn biết được những chiến dịch và nguồn lưu lượng truy cập nào đang đưa người dùng tải ứng dụng của bạn xuống từ Cửa hàng Google Play. Tất cả các nhà phát triển nên triển khai tính năng Đo lường chiến dịch trên Cửa hàng Google Play.

Triển khai mô hình phân bổ cho chiến dịch trên Google Play

Khi ứng dụng của bạn được tải xuống từ Cửa hàng Google Play, ứng dụng Cửa hàng Play sẽ truyền một INTENT_REFERRER đến ứng dụng của bạn trong quá trình cài đặt. Ý định này chứa giá trị của tham số referrer của đường liên kết dùng để truy cập trang Cửa hàng Google Play của ứng dụng (nếu có).

Để phân bổ lượt tải ứng dụng xuống cho một chiến dịch, bạn phải thêm tham số referrer vào mọi đường liên kết trỏ đến Cửa hàng Google Play. Bạn cũng phải thêm BroadcastReceiver vào ứng dụng của mình để nhận và đặt thông tin chiến dịch có trong ý định trên trình theo dõi Google Analytics.

Hầu hết các nhà phát triển nên sử dụng BroadcastReceiver được cung cấp kèm theo SDK. Cách triển khai hoạt động đo lường chiến dịch trên Cửa hàng Google Play bằng bộ thu đi kèm:

1. Thêm trình thu nhận của Google Analytics vào tệp AndroidManifest.xml. Để thêm receiver Google Analytics vào tệp kê khai, hãy sao chép và dán mã đánh dấu sau:

<!-- 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. Thêm thông số chiến dịch Google Analytics vào URL Google Play

Tiếp theo, hãy thêm tham số referrer vào bất kỳ URL nào sẽ liên kết trực tiếp đến Cửa hàng Google Play và đặt giá trị của tham số đó thành một chuỗi các thông số chiến dịch trên Google Analytics để mô tả nguồn, như trong ví dụ sau:

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

Để tìm hiểu cách tạo chuỗi tham số chiến dịch, hãy sử dụng Trình tạo URL của Google Play hoặc tham khảo phần tham khảo Tham số chiến dịch.

Trình tạo URL của Google Play

Hãy sử dụng công cụ dưới đây để tạo URL cho hoạt động Đo lường chiến dịch trên Google Play.