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

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 Google Analytics SDK phiên bản 4 dành cho Android.

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 phiên bản 4 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.

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ổ của chiến dịch trên Google Play

Cửa hàng Google Play cung cấp Install Referrer API cho nhà phát triển để truy xuất nội dung liên kết giới thiệu trong Google Play một cách an toàn. API này trả về giá trị của tham số liên kết giới thiệu 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 thông số liên kết giới thiệu vào bất kỳ đường liên kết nào trỏ đến Cửa hàng Google Play, đồng thời thêm Install Referrer API của Play vào ứng dụng của bạn để nhận và đặt thông tin chiến dịch có trong ý định trên trình theo dõi Google Analytics.

1. Xoá bộ thu của Google Analytics khỏi tệp AndroidManifest.xml.

Nếu bạn cũng đã triển khai trình thu nhận Trình quản lý thẻ của Google, hãy xoá cả bộ thu đó khỏi tệp kê khai.

2. Thêm phần phụ thuộc trong thư viện Install Referrer API.

Để thêm phần phụ thuộc này, hãy đưa nội dung sau đây vào build.gradle:

dependencies {
    ...
    implementation 'com.android.installreferrer:installreferrer:1.1'
}

3. Hãy gọi Install Referrer API trong hoạt động khởi chạy ứng dụng của bạn.

Sử dụng Install Referrer API để truy xuất URL liên kết giới thiệu của gói ứng dụng đã cài đặt, rồi chuyển giá trị URL đó đến bộ thu của Google Analytics hoặc Trình quản lý thẻ của Google. Hãy làm theo cách triển khai tương tự như mã sau để sử dụng Install Referrer API trong hoạt động khởi chạy ứng dụng của bạn.

Nếu có nhiều điểm truy cập vào ứng dụng, chẳng hạn như các đường liên kết sâu đến các phần cụ thể, bạn có thể triển khai các phương thức đã nêu trong ActivityLifecycleListener được kích hoạt bởi ActivityLifecycleCallbacks.

package com.example.myapplication;

import static com.android.installreferrer.api.InstallReferrerClient.InstallReferrerResponse;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.RemoteException;

import com.android.installreferrer.api.InstallReferrerClient;
import com.android.installreferrer.api.InstallReferrerStateListener;
import com.android.installreferrer.api.ReferrerDetails;
import com.google.android.gms.analytics.CampaignTrackingReceiver;
import com.google.tagmanager.InstallReferrerReceiver;

import java.util.concurrent.Executor;
import java.util.concurrent.Executors;

public class MainActivity extends AppCompatActivity {

    private final Executor backgroundExecutor = Executors.newSingleThreadExecutor();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        checkInstallReferrer();
    }

    // TODO: Change this to use whatever preferences are appropriate. The install referrer should
    // only be sent to the receiver once.
    private final String prefKey = "checkedInstallReferrer";

    void checkInstallReferrer() {
        if (getPreferences(MODE_PRIVATE).getBoolean(prefKey, false)) {
            return;
        }

        InstallReferrerClient referrerClient = InstallReferrerClient.newBuilder(this).build();
        backgroundExecutor.execute(() -> getInstallReferrerFromClient(referrerClient));
    }

    void getInstallReferrerFromClient(InstallReferrerClient referrerClient) {

        referrerClient.startConnection(new InstallReferrerStateListener() {
            @Override
            public void onInstallReferrerSetupFinished(int responseCode) {
                switch (responseCode) {
                    case InstallReferrerResponse.OK:
                        ReferrerDetails response = null;
                        try {
                            response = referrerClient.getInstallReferrer();
                        } catch (RemoteException e) {
                            e.printStackTrace();
                            return;
                        }
                        final String referrerUrl = response.getInstallReferrer();


                        // TODO: If you're using GTM, call trackInstallReferrerforGTM instead.
                        trackInstallReferrer(referrerUrl);


                        // Only check this once.
                        getPreferences(MODE_PRIVATE).edit().putBoolean(prefKey, true).commit();

                        // End the connection
                        referrerClient.endConnection();

                        break;
                    case InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
                        // API not available on the current Play Store app.
                        break;
                    case InstallReferrerResponse.SERVICE_UNAVAILABLE:
                        // Connection couldn't be established.
                        break;
                }
            }

            @Override
            public void onInstallReferrerServiceDisconnected() {

            }
        });
    }

    // Tracker for Classic GA (call this if you are using Classic GA only)
    private void trackInstallReferrer(final String referrerUrl) {
        new Handler(getMainLooper()).post(new Runnable() {
            @Override
            public void run() {
                CampaignTrackingReceiver receiver = new CampaignTrackingReceiver();
                Intent intent = new Intent("com.android.vending.INSTALL_REFERRER");
                intent.putExtra("referrer", referrerUrl);
                receiver.onReceive(getApplicationContext(), intent);
            }
        });
    }

    // Tracker for GTM + Classic GA (call this if you are using GTM + Classic GA only)
    private void trackInstallReferrerforGTM(final String referrerUrl) {
        new Handler(getMainLooper()).post(new Runnable() {
            @Override
            public void run() {
                InstallReferrerReceiver receiver = new InstallReferrerReceiver();
                Intent intent = new Intent("com.android.vending.INSTALL_REFERRER");
                intent.putExtra("referrer", referrerUrl);
                receiver.onReceive(getApplicationContext(), intent);
            }
        });
    }

}

4. 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.application
&referrer=utm_source%3Dgoogle
%26utm_medium%3Dcpc
%26utm_term%3Drunning%252Bshoes
%26utm_content%3Dlogolink
%26utm_campaign%3Dspring_sale

Để 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.

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 trực tiếp đặt các thông số chiến dịch trên trình theo dõi thông qua phương thức setCampaignParamsFromUrl.

// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
    TrackerName.APP_TRACKER);

// Set screen name.
t.setScreenName(screenName);

// In this example, campaign information is set using
// a url string with Google Analytics campaign parameters.
// Note: This is for illustrative purposes. In most cases campaign
//       information would come from an incoming Intent.
String campaignData = "http://examplepetstore.com/index.html?" +
    "utm_source=email&utm_medium=email_marketing&utm_campaign=summer" +
    "&utm_content=email_variation_1";

// Campaign data sent with this hit.
t.send(new HitBuilders.ScreenViewBuilder()
    .setCampaignParamsFromUrl(campaignData)
    .build()
);

Xem phần Cấu hình nâng cao để biết thông tin chi tiết về phương thức getTracker.

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 tính năng đo lường chiến dịch chung:

Thông số Nội dung mô tả Ví dụ
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
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
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.

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.