Android'de paylaşım yaparken utm_campaign ekleme — hızlı rehber
Intent.ACTION_SEND oluşturulmadan önce utm_campaign'i dinamik olarak ekleyin: Uri.Builder ile URL'yi oluşturun, utm_source/utm_medium/utm_campaign parametrelerini ekleyin ve nihai metin dizisini Intent.EXTRA_TEXT içine yerleştirin. Aşağıda Kotlin ile hazır kod, test seçenekleri ve yaygın hatalar yer almaktadır.
Paylaşım sırasında utm_campaign neden önemlidir?
utm_campaign, yönlendirmeleri belirli bir pazarlama kampanyasına (örneğin black_friday_2026 veya new_user_promo) atfetmenizi sağlar. Etiketler olmadan mesajlaşma uygulamalarından gelen çoğu trafik "direct" olarak kaydedilir veya etiketlenmemiş kalır; bu durum GA4 raporlarını bozar ve performans değerlendirmesini zorlaştırır.
Android uygulamasına utm_campaign nasıl eklenir?
Adımlar:
- Temel URL'yi oluşturun.
- Parametreleri Uri.Builder ile ekleyin (parametreleri doğru şekilde kodlar).
- Nihai metin dizisini Intent ACTION_SEND içine yerleştirin ve chooser'ı çağırın.
Kotlin örneği:
val baseUrl = "https://example.com/product"
val campaign = "promo_2026" // Remote Config, veritabanı veya arayüzden alınabilir
val uri = Uri.parse(baseUrl).buildUpon()
.appendQueryParameter("utm_source", "android_app")
.appendQueryParameter("utm_medium", "share")
.appendQueryParameter("utm_campaign", campaign)
.build()
val shareIntent = Intent(Intent.ACTION_SEND).apply {
type = "text/plain"
putExtra(Intent.EXTRA_TEXT, uri.toString())
}
startActivity(Intent.createChooser(shareIntent, "Paylaş"))
Kısa seçenek özeti:
- Dinamik değerler: utm_campaign'i Firebase Remote Config, sunucu veya anlık üretimle (kullanıcı kimliği/promo türü dahil) alın.
- Mesaj metinlerine UTM eklemeniz gerekiyorsa (sadece link değil), uri.toString() öğesini gövdeye yerleştirin.
- Uri.Builder parametreleri kendisi kodlar; çift kodlama kullanmayın.
Java örneği (mikro):
String baseUrl = "https://example.com/product";
String campaign = "promo_2026";
Uri uri = Uri.parse(baseUrl).buildUpon()
.appendQueryParameter("utm_source", "android_app")
.appendQueryParameter("utm_medium", "share")
.appendQueryParameter("utm_campaign", campaign)
.build();
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT, uri.toString());
startActivity(Intent.createChooser(share, "Paylaş"));
A/B testleri ve hızlı değişiklikler için utm_campaign değerini Firebase Remote Config'de saklamak uygundur — sürüm yayınlamadan kampanyayı değiştirebilirsiniz.
Test etme ve GA4 entegrasyonu
- GA4'te Realtime / DebugView modunda test edin: emülatörde/cihazda mobil tarayıcı açın, paylaşımdan gelen linke tıklayın ve gelen olayı izleyin.
- Linklerin query parametrelerini temizleyebilecek bir ara hizmet üzerinden yönlendirilmediğinden emin olun.
- Üretim ortamı için: karmaşık yönlendirme durumlarında query parametrelerini koruyan sunucu tarafı yönlendirmeler kullanın veya yönlendirme sonrası etiketleri korumak için deep links / branch gibi çözümlerden yararlanın.
Trafiği kendinizin yönlendirdiği hedef açılış sayfasındaki dahili linklere utm parametreleri eklemeyin — bu durum self-referral'a yol açar ve atıf modelini bozar.
Yaygın hatalar
- Yönlendirme sonrası UTM kaybolması: neden — yönlendirme query'yi sıfırlar. Çözüm — query'yi sunucu düzeyinde koruyacak şekilde yapılandırın veya doğru deep link kullanın.
- Parametrelerin kodlanmamış olması: linki manuel olarak metne ekliyorsanız veya bot için deep link oluşturuyorsanız, değerleri her zaman URL-encode edin.
- utm_campaign'in yinelenmesi: benzersiz tanımlayıcılar üretin veya kampanya versiyonlarını ayırt etmek için adlandırma kurallarını kontrol edin.
- Query (?) yerine fragment (#) kullanılması: fragment'ler sunucuya iletilmez ve analitik tarafından dikkate alınmaz.
SSS
-
utm_campaign için güvenli değerler nasıl oluşturulur?
Latin harfler, rakamlar ve alt çizgi kullanın; boşluklardan ve özel karakterlerden kaçının. Uri.Builder kullanılırken değerleri kodlamak gerekli değildir. -
Etiketler mesajlaşma uygulamalarında (Telegram, WhatsApp) korunur mu?
Çoğu mesajlaşma uygulaması query parametrelerini korur, ancak bazı uygulamalar URL'yi kısaltabilir veya kendi yönlendirmelerini yapabilir. Hedef uygulama kombinasyonlarını test edin. -
Link kısaltıcı uygun mudur?
Kullanılabilir, ancak kısaltıcının geçiş sırasında orijinal query parametrelerini koruduğundan emin olun; aksi takdirde etiketler kaybolur. -
utm_medium ve utm_source eklemek gerekir mi?
Evet, doğru atıf için utm_campaign ile birlikte en azından utm_source ve utm_medium gönderin.
Gerekirse, projede UTM linklerinin merkezi olarak oluşturulması için Kotlin'de hazır yardımcı programlar/fonksiyonlar gönderebilirim.