การวัดประสิทธิภาพแคมเปญ

เอกสารนี้แสดงภาพรวมของวิธีวัดผลแคมเปญและแหล่งที่มาของการเข้าชมด้วย Google Analytics SDK v4 สำหรับ Android

ภาพรวม

การวัดผลแคมเปญใน Google Analytics จะช่วยให้ระบุแหล่งที่มาของแคมเปญและแหล่งที่มาของการเข้าชมไปยังกิจกรรมของผู้ใช้ภายในแอปพลิเคชันได้ ตัวเลือกเหล่านี้พร้อมใช้งานสำหรับการระบุแหล่งที่มาของแคมเปญและแหล่งที่มาของการเข้าชมใน Google Analytics SDK v4 สำหรับ Android

ส่วนต่อไปนี้จะอธิบายกรณีและวิธีใช้งานการวัดผลแคมเปญแต่ละประเภทในแอป

การระบุแหล่งที่มาของแคมเปญใน Google Play

การวัดผลแคมเปญของ Google Play ช่วยให้คุณเห็นว่าแคมเปญและแหล่งที่มาของการเข้าชมใดที่ส่งผู้ใช้ไปดาวน์โหลดแอปของคุณจาก Google Play Store ขอแนะนำให้นักพัฒนาแอปทุกรายใช้การวัดผลแคมเปญ ของ Google Play Store

ใช้การระบุแหล่งที่มาของแคมเปญใน Google Play

Google Play Store มี Install Referrer API สำหรับนักพัฒนาซอฟต์แวร์เพื่อเรียกเนื้อหาการอ้างอิงจาก Google Play อย่างปลอดภัย API นี้จะแสดงค่าของพารามิเตอร์ URL ที่มาที่ใช้ในการเข้าถึงหน้า Google Play Store ของแอป หากมี

หากต้องการระบุแหล่งที่มาของการดาวน์โหลดแอปในแคมเปญ คุณต้องเพิ่มพารามิเตอร์ URL ที่มาในลิงก์ที่ชี้ไปยัง Google Play Store และเพิ่มการติดตั้ง API ที่มาของการติดตั้งของ Play ลงในแอปเพื่อรับและตั้งค่าข้อมูลแคมเปญที่อยู่ใน Intent ดังกล่าวบนเครื่องมือติดตาม Google Analytics

1. นําตัวรับ Google Analytics ออกจากไฟล์ AndroidManifest.xml

หากคุณใช้ตัวรับ Google Tag Manager ด้วย ให้นำตัวรับสัญญาณออกจากไฟล์ Manifest ด้วย

2. เพิ่มทรัพยากร Dependency ในไลบรารีโปรแกรมติดตั้ง Referrer API

หากต้องการเพิ่มทรัพยากร Dependency ให้ใส่ข้อมูลต่อไปนี้ใน build.gradle

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

3. เรียกใช้Install Referrer API ในกิจกรรมการเปิดตัวของแอป

ใช้Install Referrer API เพื่อเรียก URL ที่มาของแพ็กเกจแอปที่ติดตั้ง จากนั้นส่งค่า URL ไปยังตัวรับสัญญาณของ Google Analytics หรือ Google Tag Manager ทำตามการใช้งานที่คล้ายกับโค้ดต่อไปนี้เพื่อใช้การติดตั้ง Referrer API ในกิจกรรมการเปิดตัวแอปของคุณ

หากมีจุดแรกเข้าหลายจุดในแอป เช่น ทำ Deep Link เป็นส่วนเฉพาะ คุณสามารถใช้วิธีการที่กําหนดไว้ใน ActivityLifecycleListener ซึ่ง 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. เพิ่มพารามิเตอร์แคมเปญ Google Analytics ลงใน URL ของ Google Play

จากนั้น เพิ่มพารามิเตอร์ referrer ลงใน URL ที่จะลิงก์กับ Google Play Store โดยตรง แล้วกำหนดค่าของพารามิเตอร์นั้นเป็นสตริงพารามิเตอร์แคมเปญ Google Analytics ที่อธิบายแหล่งที่มา ดังตัวอย่างต่อไปนี้

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

หากต้องการดูวิธีสร้างสตริงพารามิเตอร์แคมเปญ ให้ใช้เครื่องมือสร้าง URL ของ Google Play หรือดูที่ส่วนข้อมูลอ้างอิงพารามิเตอร์แคมเปญ

การระบุแหล่งที่มาของแคมเปญและแหล่งที่มาของการเข้าชมทั่วไป

หลังจากติดตั้งแอปแล้ว แอปอาจเปิดขึ้นโดยการอ้างอิงจากแคมเปญโฆษณา เว็บไซต์ หรือแอปอื่นๆ ในสถานการณ์นี้ แหล่งที่มาของการเข้าชมหรือแคมเปญการตลาดที่อ้างอิงอาจมาจากกิจกรรมของผู้ใช้ในเซสชันต่อๆ มาได้โดยการตั้งค่าพารามิเตอร์แคมเปญในตัวติดตามโดยตรงด้วยเมธอด 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()
);

ดูรายละเอียดเกี่ยวกับเมธอด getTracker ได้ที่ การกำหนดค่าขั้นสูง

พารามิเตอร์แคมเปญ

พารามิเตอร์แคมเปญใช้สำหรับส่งต่อข้อมูลเกี่ยวกับแหล่งที่มาของการเข้าชมและแคมเปญที่นำผู้ใช้มาที่แอปของคุณ

ตารางด้านล่างมีพารามิเตอร์แคมเปญที่ใช้ได้ซึ่งใช้ใน Google Play หรือการวัดผลแคมเปญทั่วไปได้

พารามิเตอร์ คำอธิบาย ตัวอย่าง
utm_source แหล่งที่มาของแคมเปญ ใช้สำหรับระบุเครื่องมือค้นหา จดหมายข่าว หรือแหล่งที่มาอื่นๆ utm_source=google
utm_medium สื่อแคมเปญ ใช้เพื่อระบุสื่อ เช่น อีเมลหรือต้นทุนต่อคลิก (CPC) utm_medium=cpc
utm_term คำของแคมเปญ ใช้กับการค้นหาที่เสียค่าใช้จ่ายเพื่อระบุคีย์เวิร์ดสำหรับโฆษณา utm_term=running+shoes
utm_content เนื้อหาแคมเปญ ใช้สำหรับการทดสอบ A/B และโฆษณาที่กำหนดเป้าหมายตามเนื้อหาเพื่อแยกแยะโฆษณาหรือลิงก์ที่ชี้ไปยัง URL เดียวกัน utm_content=logolink
utm_content=textlink
utm_campaign ชื่อแคมเปญ ใช้เพื่อวิเคราะห์คีย์เวิร์ดเพื่อระบุการโปรโมตผลิตภัณฑ์หรือแคมเปญเชิงกลยุทธ์ที่เฉพาะเจาะจง utm_campaign=spring_sale
gclid พารามิเตอร์การติดแท็กอัตโนมัติของ Google Ads ซึ่งใช้เพื่อวัดโฆษณา ระบบจะสร้างค่านี้แบบไดนามิกและไม่ควรแก้ไข

เครื่องมือสร้าง URL ของ Google Play

ใช้เครื่องมือด้านล่างเพื่อสร้าง URL สำหรับการวัดผลแคมเปญของ Google Play