Bu dokümanda, Android için Google Analytics SDK v4 ile kampanyaların ve trafik kaynaklarının nasıl ölçüleceğine genel bir bakış sunulmaktadır.
Genel bakış
Google Analytics'te kampanyaları ölçmek, kampanyaların ve trafik kaynaklarının uygulamanızdaki kullanıcı etkinliğiyle ilişkilendirilmesini sağlar. Bu seçenekler, Android için Google Analytics SDK v4'te kampanya ve trafik kaynağı ilişkilendirmesi için kullanılabilir:
- Google Play Kampanya İlişkilendirmesi: Hangi kampanyaların, web sitelerinin ve diğer uygulamaların kullanıcıları uygulamanızı indirmeleri için Google Play Store'a yönlendirdiğini görün.
- Genel Kampanya ve Trafik Kaynağı İlişkilendirme: Hangi kampanyaların veya yönlendirenlerin uygulamanızı yüklendikten sonra başlattığını görün.
Aşağıdaki bölümlerde, her bir kampanya ölçüm türünün ne zaman ve nasıl uygulamanıza uygulanacağı açıklanmaktadır.
Google Play Kampanya İlişkilendirmesi
Google Play Kampanya Ölçümü, hangi kampanyaların ve trafik kaynaklarının kullanıcıları Google Play Store'dan uygulamanızı indirmeye gönderdiğini görmenize olanak tanır. Tüm geliştiricilerin Google Play Store Kampanya Ölçümü'nü uygulamaları önerilir.
Google Play Kampanya İlişkilendirmesini Uygulama
Google Play Store, geliştiricilerin Google Play'den yönlendirme içeriğini güvenli bir şekilde alabilmeleri için Install Referrer API'sini sağlar. Bu API, mevcutsa uygulamanızın Google Play Store sayfasına ulaşmak için kullanılan yönlendiren parametresinin değerini döndürür.
Bir uygulamanın indirilmesini bir kampanyayla ilişkilendirmek için Google Play Store'a yönlendiren bağlantılara bir yönlendiren parametresi eklemeniz, ayrıca Google Play izleme aracındaki niyette bulunan kampanya bilgilerini almak ve ayarlamak için Play'in Yükleme Yönlendiren API'sını uygulamanıza eklemeniz gerekir.
1. AndroidManifest.xml dosyanızdan Google Analytics alıcısını kaldırın.
Ayrıca, Google Etiket Yöneticisi alıcısını da uyguladıysanız bunu manifest dosyanızdan de kaldırın.
2. Install Referrer API kitaplığına bağımlılık ekleyin.
Bağımlılığı eklemek için build.gradle öğesine aşağıdakileri ekleyin:
dependencies { ... implementation 'com.android.installreferrer:installreferrer:1.1' }
3. Uygulamanızın lansman etkinliğinde Install Referrer API'yi çağırın.
Yüklü uygulama paketinin yönlendiren URL'sini almak için URL'yi Yükle API'sını kullanın, ardından URL değerini bir Google Analytics veya Google Etiket Yöneticisi alıcısına iletin. Uygulamanızı kullanıma sunma etkinliğinde Install Referrer API'sini kullanmak için aşağıdaki koda benzer bir uygulamayı izleyin.
Uygulamaya birden fazla giriş noktanız varsa (ör. belirli bölümlere derin bağlantılar) ActivityLifecycleCallbacks
tarafından tetiklenen ActivityLifecycleListener
yönteminde belirtilen yöntemleri uygulayabilirsiniz.
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 kampanya parametrelerini Google Play URL'lerine ekleme
Ardından, doğrudan Google Play Store'a bağlanacak tüm URL'lere bir referrer
parametresi ekleyin ve bu parametrenin değerini, aşağıdaki örnekte olduğu gibi, kaynağı açıklayan bir Google Analytics kampanya parametresi dizesine ayarlayın:
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
Kampanya parametresi dizelerini nasıl oluşturacağınızı öğrenmek için Google Play URL Oluşturucu'yu kullanın veya Kampanya Parametreleri referans bölümüne bakın.
Genel Kampanya ve Trafik Kaynağı İlişkilendirmesi
Bir uygulama yüklendikten sonra reklam kampanyaları, web siteleri veya diğer uygulamalardan yönlendirmeler tarafından başlatılabilir. Bu senaryoda, yönlendiren trafik kaynakları veya pazarlama kampanyaları, setCampaignParamsFromUrl
yöntemini kullanarak doğrudan bir izleyicide kampanya parametreleri ayarlanarak sonraki oturumlarda kullanıcı etkinliğiyle ilişkilendirilebilir.
// 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
yöntemiyle ilgili ayrıntılı bilgi için Gelişmiş Yapılandırma konusuna bakın.
Kampanya Parametreleri
Kampanya parametreleri, kullanıcıları uygulamanıza getiren trafik kaynakları ve kampanyalarla ilgili bilgileri aktarmak için kullanılır.
Aşağıdaki tabloda, Google Play'de veya genel kampanya ölçümünde kullanılabilecek kampanya parametreleri verilmiştir:
Parametre | Açıklama | Örnekler |
---|---|---|
utm_source |
Kampanya kaynağı; arama motorunu, bülten veya diğer kaynakları tanımlamak için kullanılır | utm_source=google |
utm_medium |
Kampanya aracısı; e-posta veya tıklama başına maliyet (tbm) gibi bir aracıyı tanımlamak için kullanılır | utm_medium=cpc |
utm_term |
Kampanya terimi; reklamlar için anahtar kelimeleri sağlamak üzere ücretli arama ile kullanılır | utm_term=running+shoes |
utm_content |
Kampanya içeriği; aynı URL'ye yönlendiren reklamları veya bağlantıları ayırt etmek için A/B testi ve içerik hedefli reklamlar için kullanılır |
utm_content=logolink
utm_content=textlink
|
utm_campaign |
Kampanya adı; belirli bir ürün promosyonunu veya stratejik kampanyayı tanımlamak için anahtar kelime analizinde kullanılır | utm_campaign=spring_sale |
gclid |
Google Ads otomatik etiketleme parametresi; reklamları ölçmek için kullanılır. Bu değer, dinamik olarak oluşturulur ve hiçbir zaman değiştirilmemelidir. |
Google Play URL Oluşturucu
Google Play Kampanya Ölçümü için URL'ler oluşturmak üzere aşağıdaki aracı kullanın.