Tài liệu này mô tả về một phiên bản cũ của SDK Android. Nếu bạn mới sử dụng Analytics, hãy sử dụng SDK mới nhất. Tìm hiểu thêm

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

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

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

Tổng quan

Tính năng đo lường chiến dịch trong Google Analytics cho phép bạn phân bổ các chiến dịch và nguồn lưu lượng truy cập đến hoạt động của người dùng trong ứng dụng. Bạn có thể sử dụng các tùy chọn này cho mô hình 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.

Phân bổ chiến dịch trên Google Play

Tính năng Đo lường chiến dịch Google Play cho phép bạn xem chiến dịch và nguồn lưu lượng truy cập nào đang gửi người dùng đến ứng dụng của bạn để tải ứng dụng xuống từ Cửa hàng Google Play. Tất 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 tính năng phân bổ chiến dịch trên Google Play

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

1. Xóa trình nhận Google Analytics khỏi tệp AndroidManifest.xml của bạn.

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

2. Hãy thêm phần phụ thuộc vào thư viện Install Referrer API.

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

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

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

Sử dụng API Install Referrer để truy xuất URL liên kết giới thiệu của gói ứng dụng đã cài đặt, sau đó chuyển giá trị URL đến trình nhận 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 API Install Referrer trong hoạt động khởi chạy ứng dụng.

Nếu có nhiều điểm truy cập để mở ứng dụng, chẳng hạn như 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 được chỉ định trong ActivityLifecycleListener do ActivityLifecycleCallbacks kích hoạt.

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 các tham số chiến dịch của Google Analytics vào URL trên 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 với Cửa hàng Google Play và đặt giá trị của tham số đó thành một chuỗi các tham số chiến dịch trong Google Analytics mô tả nguồn, như trong ví dụ này:

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.

Thuộc tính chung của chiến dịch và nguồn lưu lượng truy cập

Sau khi cài đặt, ứng dụng có thể được khởi chạy bằng cách giới thiệu từ chiến dịch quảng cáo, trang web hoặc ứng dụng khác. Trong trường hợp này, các 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 thông số chiến dịch trên trình theo dõi bằng cách sử dụng 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()
);

Hãy xem 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 để chuyển thông tin về nguồn lưu lượng truy cập và các chiến dịch đang đưa người dùng đến ứng dụng của bạn.

Bảng bên dưới chứa các thông số chiến dịch có sẵn mà bạn có thể sử dụng trong Google Play hoặc cách đo lường chiến dịch chung:

Thông số Mô tả Ví dụ
utm_source Nguồn chiến dịch; 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; dùng để xác định một 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 Từ khoá chiến dịch; được dùng với nội dung tìm kiếm có trả tiền để cung cấp từ khoá cho quảng cáo utm_term=running+shoes
utm_content Nội dung chiến dịch; được dùng cho thử nghiệm A/B và quảng cáo được 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; dùng để phân tích từ khoá nhằm xác định một chiến dịch quảng cáo sản phẩm cụ thể hoặc chiến dịch chiến lược utm_campaign=spring_sale
gclid Thông số tự động gắn thẻ của Google Ads; dùng để đo lường quảng cáo. Giá trị này được tạo động và bạn không nên 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 các URL cho hoạt động đo lường chiến dịch trên Google Play.