İçeriğe geç

URL ve UTM rehberi

Araç rehberi. Güncellendi .

XGM URL ve UTM bir URL'yi parçalarına ve çözülmüş sorgusuna nasıl ayırır, UTM kampanya bağlantılarını nasıl kurar, kodlama sorunlarını nasıl gösterir.

Bir URL'nin anatomisi

Her parçası bulunan bir URL
https://user:pass@shop.example.com:8443/products/shoes?color=blue&size=42#reviews
└─┬─┘   └───┬───┘ └──────┬───────┘ └┬─┘└─────┬───────┘ └───────┬────────┘ └──┬──┘
scheme  credentials     host       port    path            query          fragment
URL bileşenleri
ParçaÖrnekAnlamı
Protokol (şema)https:Kaynağa nasıl erişileceği
Kullanıcı adı ve parolauser:pass@URL'ye gömülü kimlik bilgileri; seyrek görülür ve önerilmez
Sunucu adıshop.example.comSunucu; isteğin nereye gideceğine karar verir
Port8443Şemanın varsayılanı olduğunda yazılmaz (HTTPS için 443, HTTP için 80)
Yol/products/shoesSunucudaki kaynak
Sorgu?color=blue&size=42anahtar=değer çiftleri hâlinde parametreler
Parça#reviewsSayfa içindeki bir konum; sunucuya hiçbir zaman gönderilmez
Kökenhttps://shop.example.com:8443Şema, sunucu ve port birlikte; tarayıcının güvenlik sınırı
Ayrıştırıcı girdinizi nasıl okurŞeması yoksa girdinin başına https:// eklenir, adres tarayıcının URL uygulamasıyla ayrıştırılır ve parçalarıyla birlikte çözülmüş sorgu parametrelerinin tablosu gösterilir.GirdiTam bir URL ya da example.com/pricing gibiçıplak bir sunucu adı ve yolEksikse şema eklehttps:// varsayılır; mailto:, tel:, data: veurn: olduğu gibi korunurURL API'si ile ayrıştırTarayıcıların kullandığı WHATWG URLkurallarının aynısıParçalarProtokol, kullanıcı adı, maskelenmiş parola,sunucu adı, port, yol, sorgu, parça, kökenSorgu parametreleriHer anahtar ve değeri, çözülmüş hâliyle
Şeması yoksa girdinin başına https:// eklenir, adres tarayıcının URL uygulamasıyla ayrıştırılır ve parçalarıyla birlikte çözülmüş sorgu parametrelerinin tablosu gösterilir.

Bir URL nasıl ayrıştırılır

  1. URL ve UTM aracını açın ve bir URL yapıştırın.
  2. Parçaların tablosunu okuyun; URL içindeki bir parola ekranda maskelenerek gösterilir.
  3. Her anahtarı ve onun çözülmüş değerini görmek için sorgu parametreleri tablosuna bakın.
  4. İhtiyacınız olanı kopyalayın ya da UTM Oluşturucu veya URL Kodlayıcı ile devam edin.

Ayrıştırma tarayıcınızda olur. Uzun takip bağlantıları parametrelerinde çoğu zaman e-posta adresleri, oturum tanımlayıcıları ya da token'lar taşır; bu yüzden araç bunları hiçbir yere göndermez. Yapıştırdığınız adres XGM sunucusuna ulaşmadığı gibi, tarayıcı adres çubuğuna da yazılmaz; paylaştığınız bağlantı yalnızca modu taşır.

UTM kampanya bağlantıları oluşturmak

URL ve UTM aracının ikinci modu kampanya bağlantıları oluşturur. Analitik araçları beş parametre okur: utm_source (ziyaretçinin nereden geldiği, örneğin newsletter), utm_medium (kanal, örneğin email ya da cpc), utm_campaign (kampanyaya verdiğiniz ad) ve isteğe bağlı olarak utm_term ile utm_content. İlk üçünün etiketlenen her bağlantıda bulunması beklenir. Bunlardan biri eksik kaldığında trafik raporlarda doğrudan ziyaret ya da tanımlanamayan bir kaynak olarak toplanır.

Oluşturucu mevcut sorgu parametrelerini korur, değerleri kodlar ve boşluklarla büyük harfler konusunda uyarır; çünkü analitik araçları Newsletter ile newsletter değerlerini iki ayrı kaynak sayar. Hazır ayarlar bir bülten, bir LinkedIn gönderisi ve bir Google Ads bağlantısı için alışılmış değerleri doldurur. Kampanya adlarında baştan sona aynı yazım düzenini kullanmak, sonraki aylarda raporları karşılaştırmayı kolaylaştırır.

Kampanya URL'si
https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=september-launch

Sorgu dizeleri ve kodlama

Sorgu parametreleri birbirinden & ile, anahtarlar ile değerler ise = ile ayrılır. &, =, #, + ve boşluk gibi özel anlamı olan karakterlerin değerlerin içinde yüzde kodlamasıyla yazılması gerekir: boşluk %20 olur (form kodlamasında +), & ise %26 olur. Ayrıştırıcı değerleri çözülmüş gösterir, bu yüzden name=Ana%20Pop ekranda Ana Pop olarak görünür. Ham sorgu dizesi de ayrı bir satırda durur; böylece çözülmüş değerlerle ham hâli karşılaştırabilir, kodlamanın nerede bozulduğunu görebilirsiniz.

Fark edebileceğiniz kodlama sorunları
GördüğünüzNedeni
Bir parametre değeri & işaretinde kesiliyorDeğerin içindeki kodlanmamış bir & yeni bir parametre başlatmış
URL içinde %2520Bir değer iki kez kodlanmış (% işareti %25 olarak kodlanmış)
Boşluk olması gereken yerde + ya da tersiForm kodlaması ile yüzde kodlaması birbirine karışmış
Aynı anahtar birkaç kez görünüyorİzin verilir; birçok çatı bunu liste olarak okur, diğerleri ilk ya da son değeri alır
# işaretinden sonraki metin sunucuda yokParçalar HTTP isteklerinde hiçbir zaman gönderilmez

URL Kodlayıcı, tek tek değerleri bileşen ya da tam URI kurallarıyla kodlar ve çözer; URL'leri elle kurarken doğru araç budur. Bir değeri kodlamadan önce ve kodladıktan sonra karşılaştırmak, iki kez kodlanmış dizeleri en çabuk ortaya çıkaran yöntemdir.

Oltalama bağlantıları, insanların URL'nin yanlış parçasını okumasına güvenir. Hangi sunucuya ulaşacağınıza karar veren tek parça sunucu adıdır ve onun içinde de kayıtlı alan adı, üst düzey alan adından önce gelen son etiketlerdir. Geri kalan her şey resmî görünecek biçimde düzenlenebilir. Yol da, sorgu da, hatta bağlantının görünen metni de saldırganın seçtiği şeydir.

Aldatıcı örüntüler
BağlantıGerçek sunucuHile
https://example.com.login.example.net/example.com.login.example.netGüvenilen ad, başka bir alan adının alt alan adı
https://example.com@example.net/example.net@ işaretinden önceki metin sunucu değil, kullanıcı adıdır
https://example.net/example.com/loginexample.netGüvenilen ad yalnızca yolda geçiyor
https://examp1e.com/examp1e.comBirbirine benzeyen karakterler
https://xn--exmple-cua.com/ASCII dışı bir harf içeren adın Punycode karşılığıUluslararasılaştırılmış benzer alan adı

Kontrol etmek için bağlantıyı açmayın

Şüpheli bağlantıları tıklamak yerine ayrıştırıcıya yapıştırın. Gerçek sunucu beklediğiniz kuruluşa ait değilse, sayfayı ziyaret etmek yerine iletiyi bildirin.

Yönlendirme yapan bağlantılarda ayrıştırıcı yalnızca ilk URL'yi gösterir. Yönlendirme Kontrolü bir alan adının yönlendirme zincirini XGM sunucusundan izler, WHOIS ise alan adının ne zaman kaydedildiğini gösterir; oltalama alan adlarında bu tarih çoğu zaman çok yenidir. Birkaç gün önce kaydedilmiş bir alan adı tek başına kanıt değildir, ama iletinin geri kalanına daha dikkatli bakmanız için yeterli bir işarettir.

Takip parametreleri ve gizlilik

Birçok bağlantı, sayfa içeriğiyle hiç ilgisi olmayan parametreler taşır: utm_source ve utm_campaign gibi kampanya etiketleri, reklam platformlarının eklediği tıklama tanımlayıcıları ve bir tıklamayı tek bir alıcıya bağlayan e-postaya özel kimlikler. Parametreler tablosu bunları görmeyi kolaylaştırır. Bir bağlantıyı paylaşmadan önce bunları temizlemek, hem kendi etkinliğinizi hem de özgün alıcının kimliğini başkalarının analitiğinin dışında tutar.

Yaygın parametreler
ParametreAmacı
utm_source, utm_medium, utm_campaignAnalitik araçlarında kampanya atfı
utm_term, utm_contentAnahtar kelime ve reklam varyantı atfı
Reklam platformlarının tıklama kimlikleriBir ziyareti belirli bir reklam tıklamasına bağlamak
Oturum ya da token parametreleriKimlik doğrulama ya da durum; bunları içeren bağlantıları asla paylaşmayın

Kampanya bağlantılarını kendiniz yayımlıyorsanız, onları UTM Oluşturucu ile tutarlı biçimde kurun. Küçük harfli değerler ve sabit bir adlandırma düzeni analitik raporlarını temiz tutar; çünkü araçların çoğu Email ile email değerlerini iki ayrı kaynak sayar. Aynı kural kampanya adları için de geçerlidir: tarih ya da kanal içeren kısa bir kalıp, aylar sonra hangi bağlantının nereye ait olduğunu hatırlatır.

Kodda URL ayrıştırmak

Düzenli ifadeler ya da dizeyi bölmek yerine platformun URL ayrıştırıcısını kullanın. Kimlik bilgileri, köşeli parantez içindeki IPv6 sunucuları, varsayılan portlar ve kodlanmış karakterler gibi uç durumlar elle yazılmış ayrıştırıcıları bozar ve bileşenler arasındaki tutarsız ayrıştırma, örneğin yönlendirme izin listelerinde, pek çok güvenlik hatasına yol açmıştır. Aynı adresi iki farklı ayrıştırıcının farklı okuması, saldırganın aradığı boşluktur.

JavaScript'te URL API'si
const url = new URL("https://shop.example.com/products?color=blue&size=42");
url.hostname;                 // "shop.example.com"
url.searchParams.get("size"); // "42"
url.searchParams.set("size", "43");
url.toString();               // "https://shop.example.com/products?color=blue&size=43"

Yönlendirme hedeflerini ya da izin verilen kökenleri doğrularken, ayrıştırılmış origin veya hostname değerini bir izin listesiyle birebir karşılaştırın. startsWith("https://example.com") gibi kontroller https://example.com.example.net adresini de kabul eder ki bu, klasik bir açık yönlendirme hatasıdır. Sorgu parametrelerini kurarken de URLSearchParams kullanın; böylece değerler kendiliğinden doğru biçimde kodlanır.

SSS

URL XGM'e gönderiliyor mu?

Hayır. Ayrıştırma tarayıcınızın URL uygulamasıyla yapılır ve hiçbir şey yüklenmez. Adres getirilmez, arkasındaki sayfa açılmaz ve hiçbir yönlendirme izlenmez.

https:// olmadan bir URL yapıştırırsam ne olur?

Ayrıştırıcı https:// varsayar; böylece example.com/pricing gibi girdiler de çalışır. mailto: ve tel: gibi şemalar olduğu gibi korunur.

Parça neden sunucu günlüklerimde görünmüyor?

Tarayıcılar # işaretinden sonraki bölümü sunucuya hiçbir zaman göndermez. Bu bölüm yalnızca sayfanın kendisi tarafından kullanılır.

Köken nedir?

Şema, sunucu ve portun birleşimidir. Tarayıcılar bunu aynı köken politikası, çerez kapsamı kuralları ve CORS için kullanır. Bu üç parçadan biri bile değiştiğinde köken başka bir köken olur.

Port neden varsayılan olarak gösteriliyor?

URL, şemasının standart portunu kullanıyordur; HTTPS için 443, HTTP için 80. Bu durumda adrese port numarası yazılmaz.

Bir URL parola içerebilir mi?

Sözdizimi user:password@host biçimine izin verir, ancak tarayıcılar bu konuda uyarır ve bu yazım kimlik bilgilerini günlüklerde ve geçmişte açığa çıkarır. Ayrıştırıcı ekranda parolayı maskeler.

Bazı parametreler neden iki kez görünüyor?

Bir anahtar sorgu dizesinde tekrarlanabilir. Tekrarların nasıl yorumlanacağı sunucunun kullandığı çatıya bağlıdır: bazıları değerleri bir liste olarak toplar, bazıları ilk ya da son değeri alır.

Punycode nedir?

Uluslararasılaştırılmış alan adları için xn-- ile başlayan bir ASCII kodlamasıdır. Tarayıcılar iki biçimden birini gösterebilir; ayrıştırıcı sunucu adını URL API'sinin döndürdüğü hâliyle gösterir.

URL ile URI arasındaki fark nedir?

URI bir kaynağı tanımlar; URL ise ayrıca ona nasıl ulaşılacağını da söyleyen bir URI'dir, örneğin https: ile. Gündelik web kullanımında iki terim birbirinin yerine kullanılır.

Sunucu adı bir IP adresi olabilir mi?

Evet. IPv4 adresleri olduğu gibi, IPv6 adresleri ise köşeli parantez içinde görünür; örneğin https://[2001:db8::1]/. Çıplak IP adresleri taşıyan bağlantılar sıradan web siteleri için alışılmadıktır ve ikinci bir bakışı hak eder.

Kampanya URL'sini nasıl oluştururum?

utm_source, utm_medium ve utm_campaign parametrelerini doğru kodlamayla ekleyen UTM Oluşturucu'yu kullanın. Açılış sayfasının mevcut parametreleri korunur, boş bıraktığınız alanlar ise bağlantıya yazılmaz.

Kaynaklar