اندازه گیری کمپین

این سند یک نمای کلی از نحوه اندازه گیری کمپین ها و منابع ترافیک با Google Analytics SDK v4 برای اندروید ارائه می دهد.

بررسی اجمالی

اندازه‌گیری کمپین‌ها در Google Analytics، انتساب کمپین‌ها و منابع ترافیک به فعالیت کاربر در برنامه شما را امکان‌پذیر می‌سازد. این گزینه‌ها برای انتساب منبع ترافیک و کمپین در Google Analytics SDK v4 برای Android در دسترس هستند:

  • Google Play Campaign Attribution - ببینید کدام کمپین ها، وب سایت ها و سایر برنامه ها کاربران را برای دانلود برنامه شما به فروشگاه Google Play ارجاع می دهند.
  • کمپین عمومی و منبع ترافیک - ببینید کدام کمپین ها یا ارجاع دهندگان برنامه شما را پس از نصب راه اندازی می کنند.

بخش‌های زیر زمان و نحوه اجرای هر نوع اندازه‌گیری کمپین را در برنامه شما شرح می‌دهند.

ارجاع کمپین Google Play

Google Play Campaign Measurement به شما این امکان را می دهد که ببینید کدام کمپین ها و منابع ترافیک کاربران را برای دانلود برنامه شما از فروشگاه Google Play می فرستند. توصیه می شود که همه توسعه دهندگان اندازه گیری کمپین فروشگاه Google Play را اجرا کنند.

Google Play Campaign Attribution را پیاده سازی کنید

فروشگاه Google Play یک Install Referrer API برای توسعه دهندگان فراهم می کند تا به طور ایمن محتوای ارجاع را از Google Play بازیابی کنند. این API مقدار پارامتر ارجاع مورد استفاده برای دسترسی به صفحه فروشگاه Google Play برنامه شما را، در صورت وجود، برمی‌گرداند.

برای نسبت دادن دانلود برنامه به یک کمپین، باید یک پارامتر ارجاع دهنده به هر پیوندی که به فروشگاه Google Play اشاره دارد، اضافه کنید و API Install Referrer Play را به برنامه خود اضافه کنید تا اطلاعات کمپین موجود در intent را در ردیاب Google Analytics خود دریافت و تنظیم کنید. .

1. گیرنده Google Analytics را از فایل AndroidManifest.xml خود حذف کنید.

اگر گیرنده Google Tag Manager را نیز اجرا کرده اید، آن را نیز از مانیفست خود حذف کنید.

2. یک وابستگی به کتابخانه Install Referrer API اضافه کنید.

برای اضافه کردن وابستگی، موارد زیر را در build.gradle قرار دهید:

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

3. Install Referrer API را در فعالیت راه اندازی برنامه خود فراخوانی کنید.

از Install Referrer API برای بازیابی URL ارجاع دهنده بسته برنامه نصب شده استفاده کنید و سپس مقدار URL را به گیرنده Google Analytics یا Google Tag Manager ارسال کنید. پیاده سازی مشابه کد زیر را برای استفاده از Install Referrer API در فعالیت راه اندازی برنامه خود دنبال کنید.

اگر چندین نقطه ورودی به برنامه دارید، مانند پیوندهای عمیق به بخش‌های خاص، می‌توانید روش‌های تجویز شده را در 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 پیوند می دهد اضافه کنید و مقدار آن پارامتر را روی یک رشته از پارامترهای کمپین 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

برای یادگیری نحوه ایجاد رشته‌های پارامتر کمپین، از Google Play URL Builder استفاده کنید یا به بخش مرجع پارامترهای کمپین مراجعه کنید.

کمپین عمومی و منبع ترافیک

پس از نصب یک برنامه، ممکن است با ارجاع از کمپین های تبلیغاتی، وب سایت ها یا برنامه های دیگر راه اندازی شود. در این سناریو، ارجاع منابع ترافیک یا کمپین های بازاریابی ممکن است به فعالیت کاربر در جلسات بعدی با تنظیم پارامترهای کمپین روی ردیاب مستقیماً با استفاده از روش 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 Play URL Builder

از ابزار زیر برای ایجاد URL برای اندازه‌گیری کمپین Google Play استفاده کنید.