این سند یک نمای کلی از نحوه اندازه گیری کمپین ها و منابع ترافیک با Google Analytics SDK برای Android نسخه 3 ارائه می دهد.
بررسی اجمالی
اندازهگیری کمپینها در Google Analytics، انتساب کمپینها و منابع ترافیک به فعالیت کاربر در برنامه شما را امکانپذیر میسازد. این گزینهها برای انتساب منبع ترافیک و کمپین در Google Analytics SDK برای Android در دسترس هستند:
- Google Play Campaign Attribution - ببینید کدام کمپین ها، وب سایت ها و سایر برنامه ها کاربران را برای دانلود برنامه شما به فروشگاه Google Play ارجاع می دهند.
- کمپین عمومی و منبع ترافیک - ببینید کدام کمپین ها یا ارجاع دهندگان برنامه شما را پس از نصب راه اندازی می کنند.
بخشهای زیر زمان و نحوه اجرای هر نوع اندازهگیری کمپین را در برنامه شما شرح میدهند.
پارامترهای کمپین
پارامترهای کمپین برای انتقال اطلاعات در مورد منابع ترافیک و کمپین هایی که کاربران را به برنامه شما می آورند استفاده می شود.
جدول زیر شامل پارامترهای کمپین موجود است که می تواند در Google Play یا اندازه گیری کلی کمپین استفاده شود:
پارامتر | شرح | مثال ها) |
---|---|---|
utm_campaign | نام کمپین؛ برای تجزیه و تحلیل کلمات کلیدی برای شناسایی یک تبلیغ خاص محصول یا کمپین استراتژیک استفاده می شود | utm_campaign=spring_sale |
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 |
gclid | پارامتر برچسب گذاری خودکار گوگل ادز ; برای اندازه گیری تبلیغات استفاده می شود. این مقدار به صورت پویا تولید می شود و هرگز نباید تغییر یابد. |
کمپین عمومی و منبع ترافیک
پس از نصب یک برنامه، ممکن است با ارجاع از کمپین های تبلیغاتی، وب سایت ها یا برنامه های دیگر راه اندازی شود. در این سناریو، ارجاع منابع ترافیک یا کمپین های بازاریابی را می توان با تنظیم مستقیم فیلدهای کمپین در یک ردیاب به فعالیت کاربر در جلسات بعدی نسبت داد.
به عنوان مثال، پیاده سازی زیر قصد راه اندازی برنامه را برای پارامترهای کمپین 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(); } }
از طرف دیگر، اگر اطلاعات کمپین را به شکلی غیر از پارامترهای کمپین Google Analytics دارید، میتوانید آن را روی Map
تنظیم کرده و به صورت دستی ارسال کنید:
// 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() );
ارجاع کمپین Google Play
Google Play Campaign Measurement به شما این امکان را می دهد که ببینید کدام کمپین ها و منابع ترافیک کاربران را برای دانلود برنامه شما از فروشگاه Google Play می فرستند. توصیه می شود که همه توسعه دهندگان اندازه گیری کمپین فروشگاه Google Play را اجرا کنند.
پیاده سازی انتساب کمپین Google Play
هنگامی که برنامه شما از فروشگاه Google Play دانلود می شود، برنامه Play Store یک INTENT_REFERRER
را در حین نصب برای برنامه شما پخش می کند. این هدف حاوی مقدار پارامتر referrer
پیوندی است که برای دسترسی به صفحه فروشگاه Google Play برنامه شما استفاده شده است، اگر یکی وجود داشت.
برای نسبت دادن دانلود برنامه به یک کمپین، باید یک پارامتر referrer
به هر پیوندی که به فروشگاه Google Play اشاره دارد اضافه کنید، و یک BroadcastReceiver
به برنامه خود اضافه کنید تا اطلاعات کمپین موجود در intent را در ردیاب Google Analytics خود دریافت و تنظیم کنید.
توصیه می شود که اکثر توسعه دهندگان از BroadcastReceiver
ارائه شده با SDK استفاده کنند. برای اجرای اندازهگیری کمپین فروشگاه Google Play با استفاده از گیرنده موجود:
1. گیرنده Google Analytics را به فایل AndroidManifest.xml
خود اضافه کنید. برای افزودن گیرنده Google Analytics به مانیفست، نشانه گذاری زیر را کپی و جایگذاری کنید:
<!-- 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. پارامترهای کمپین Google Analytics را به URL های Google Play اضافه کنید
سپس، یک پارامتر referrer
را به هر URL که مستقیماً به فروشگاه Google Play پیوند می دهد اضافه کنید و مقدار آن پارامتر را روی یک رشته از پارامترهای کمپین Google Analytics که منبع را توصیف می کند، تنظیم کنید، مانند این مثال:
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
برای یادگیری نحوه ایجاد رشتههای پارامتر کمپین، از Google Play URL Builder استفاده کنید یا به بخش مرجع پارامترهای کمپین مراجعه کنید.
Google Play URL Builder
از ابزار زیر برای ایجاد URL برای اندازهگیری کمپین Google Play استفاده کنید.