AMP Analytics Derinlemesine Giriş
Important: this documentation is not applicable to your currently selected format email!
Bu kılavuz
amp-analitik bileşen içerisine derinlemesine girerek, bir örnek
amp-analytics
yapılandırmasını temel yapıtaşlarına ayırır:
Kılavuzun kalan kısmında bu yapılandırma örneği kullanılarak, sayfa görünümeleri ve kullanıcının bağlantı tıklamaları izlenir ve analitik veriler üçüncü şahıs sağlayıcıya, Google Analytics gönderilir:
<amp-analytics type="googleanalytics" config="https://example.com/analytics.account.config.json">
<script type="application/json">
{
"requests": {
"pageview": "https://example.com/analytics?url=${canonicalUrl}&title=${title}&acct=${account}",
"event": "https://example.com/analytics?eid=${eventId}&elab=${eventLabel}&acct=${account}"
},
"vars": {
"account": "ABC123"
},
"extraUrlParams": {
"cd1": "AMP"
},
"triggers": {
"trackPageview": {
"on": "visible",
"request": "pageview"
},
"trackAnchorClicks": {
"on": "click",
"selector": "a",
"request": "event",
"vars": {
"eventId": "42",
"eventLabel": "clicked on a link"
}
}
},
'transport': {
'beacon': false,
'xhrpost': false,
'image': true
}
}
</script>
</amp-analytics>
Not: Yukarıdaki örnek kod öğrenmenize yardımcı olmak için verilmiştir, gerçek bir örnek değildir. Analitik sağlayıcılarla çalışıyorsanız, yukarıdaki örnek sizin için bir anlam ifade etmeyebilir; sağlayıcı yapılandırmaları karmaşıklığı ortadan kaldırır. Örnek yapılandırmalar için analitik sağlayıcınızın belgelerine başvurun.
Analitik verilerin gönderileceği yer: yazma özelliği
AMP, iki yaygın veri toplama şeklini destekleyecek şekilde tasarlanmıştır:
- Kurum içi analitik sistemler için yayıncıya ait son nokta ile alınım.
- Bir satıcı çözümü ile birlikte işlerlik için satıcıya ait bir son nokta ile alınım (örneğin, Adobe Analytics, Chartbeat, Google Analytics).
Analitik verileri bir analitik sağlayıcıya göndermek için,
amp-analytics
etiketine type
özelliği ekleyin ve
amp-analytics
spesifikasyonu içerisinde belirlenen şekilde değerini
ilgili satıcıya ayarlayın.
Örneğin: <amp-analytics type="googleanalytics">
analitik verileri
üçüncü şahıs analitik sağlayıcı, Google Analytics›e gönderir.
Verileri yayıncıya ait bir son noktaya göndermek için,
type
özelliğini eklememeniz yeterlidir;
analitik veriler her bir
istekiçin tanımlanan son noktalara gönderilir.
Analytics satıcı yapılandırmaları amp-analytics
‹e başlamanın
hızlı bir yoludur.
Ayrıntılı rehberlik için satıcı belgelerine ve
yardım kaynaklarına danışmanız gerekir.
Daha önce bahsedildiği gibi,
halihazırda AMP ile entegre ettiğiniz satıcıların listesi, aynı zamanda
spesifik belgelerin bağlantıları
amp-analytics
spesifikasyonu içerisinde bulunabilir.
Bir analitik satıcıysanız,
AMP HTML›sine kendi analitik yapılandırmanızı entegre etme hakkında daha fazla öğrenin.
Uzaktan yapılandırma yükle: yapılandırma özelliği
AMP sayfanıza amp-analytics
yapılandırmasının
tamamını eklemeniz gerekli değildir.
Bunun yerine, yapılandırmaların tamamı ya da bir kısmı için
uzaktan bir URL talep edebilirsiniz.
Bu şekilde, belli bir isteğe göre yapılandırmayı değiştirme gibi işlemleri yapabilirsiniz. Yayıncı olarak, uzaktan dosya üzerinde kontrolünüz varsa, yapılandırma verilerini şekillendirmek için gerekli sunucu tarafı işlemlerinin tümünü gerçekleştirebilirsiniz.
Uzaktan yapılandırmaları yüklemenin ilk adımı
amp-analytics
etiketine yapılandırma özelliğinin eklenmesidir:
<amp-analytics config="https://example.com/analytics.account.config.json">
Bir sonraki adım, uzaktan URL içerisinde yer alan JSON içeriğinin oluşturulmasıdır. Bu basit örnekte, JSON nesnesi içerisinde yer alan yapılandırma, analitik hesabının yalnızca değişken değeridir.
https://example.com/analytics.account.config.json
‹deki örnek içeriği:
{
"vars": {
"account": "UA-XXXXX-Y" // Replace with your property ID.
}
}
Son adım, uzaktan dosya içindekilerin amp-analytics
yapılandırmasında uygun yerlere çekilmesidir.
Buradaki hem pageview
hem de event
isteklerinde,
account
değişken değeri
uzaktan URL ("account": "UA-XXXXX-Y"
) içindeki hesap değerine otomatik olarak ayarlanır:
"requests": {
"pageview": "https://example.com/analytics?url=${canonicalUrl}&title=${title}&acct=${account}",
"event": "https://example.com/analytics?eid=${eventId}&elab=${eventLabel}&acct=${account}"
}
Önemli: AMP aynı değişkenin birden çok kullanımını doğrulamaz. Değerler, önceliğe göre değişken değiştirme sırasına göre çoğaltılır ve uzaktan URL›lerin içindeki değerler bu sıranın en üzerindedir (bkz. Değişken değiştirme sıralaması.
İstek, tetikleme ve taşıma
requests
özelliği ‹hangi verilerin gönderileceğini›
(örneğin, pageviews
, events
)
ve bu verilerin nereye gönderileceğini tanımlar (verileri aktarmak için kullanılan URL›ler).
triggers
özelliği analitik verilerinin ne zaman gönderileceğini;
örneğin, kullanıcının bir sayfayı ne zaman görüntülediğini, bir bağlantıya ne zaman tıkladığını tanımlar.
transport
özelliği bir isteğin,
daha spesifik olarak protokolün nasıl gönderileceğini belirler.
Bu yapılandırmalar hakkında daha fazla bilgi için okumaya devam edin. (Bu yapılandırmalar hakkında bilgi için amp-analitik referansı bölümünü de okuyabilirsiniz.)
Hangi veriler gönderilir: istek özelliği
request-name
tetikleme yapılandırmasında
belli bir etkinliğe karşı hangi isteğin gönderileceğini belirlemek için kullanılır.
request-value
bir https
URL›sidir.
Bu değerler,
diğer istek veya değişkenlere referans verebilen yer tutucu işaretlerini içerebilir.
"requests": {
"pageview": "https://example.com/analytics?url=${canonicalUrl}&title=${title}&acct=${account}",
"event": "https://example.com/analytics?eid=${eventId}&elab=${eventLabel}&acct=${account}"
}
Bazı analitik sağlayıcıları (Google Analytics dahil) halihazırda type
özelliği aracılığıyla
kullandığınız yapılandırma sağlamıştır.
Bir analitik sağlayıcı kullanıyorsanız, requests
bilgilerini eklemeniz gerekli olmayabilir.
requests
yapılandırması gerekli olup olmadığını ve nasıl yapılacağını öğrenmek için satıcı belgelerine başvurun.
İstek URL›si ekleme: Ekstra URL Parametreleri
extraUrlParams özelliği normal "&foo=baz" kuralı aracılığıyla istek URL›sinin sorgu dizesine eklenecek ek parametreleri belirler.
amp-analytics
özelliği isteğe ek bir cd1
parametresi
ekler ve parametre değerini «AMP» olarak ayarlar:
"extraUrlParams": {
"cd1": "AMP"
}
Veri ne zaman gönderilir: tetikleme özelliği
triggers
özelliği bir analitik isteğinin ne zaman gönderilmesi gerektiğini tanımlar.
Tetikleme adı ve tetikleme yapılandırmasının bir anahtar değer çiftini içerir.
Tetikleme adı alfanümerik karakterlerden (a-zA-Z0-9) oluşan
herhangi bir dize olabilir.
Örneğin,
aşağıdaki amp-analytics
ögesi
belge ilk yüklendiğinde
ve bir a
etiketine her tıklandığında https://example.com/analytics
‹e bir istek gönderilecek şekilde yapılandırılmıştır:
"triggers": {
"trackPageview": {
"on": "visible",
"request": "pageview"
},
"trackAnchorClicks": {
"on": "click",
"selector": "a",
"request": "event",
"vars": {
"eventId": "42",
"eventLabel": "clicked on a link"
}
}
}
AMP aşağıdaki tetikleme yapılandırmalarını destekler:
Tetikleme Yapılandırması | Tanım |
---|---|
on (gerekli) | Dinleyici etkinliği. Geçerli değerler click , scroll , timer vevisible ‹dır. |
request (gerekli) | Gönderilecek isteğin adı (isteklerinde belirtilen şekilde). |
vars | En üst seviye yapılandırmada tanımlanan vars geçersiz kılmak veya bu tetiklemeye özgüvars belirlemek için anahtar değer çiftlerini içeren bir nesne (ayrıca bkz. Değişken değiştirme sıralaması). |
selector (on , click olarak ayarlandığında gereklidir) | Hangi ögelerin seçilmesi gerektiğini işlemek için kullanılan bir CSS selektörü. Tüm ögeleri izlemek için * değerini kullanın. Bu yapılandırma click tetikleme ile birlikte kullanılır. Selektörü kullanarak sayfa tıklamalarını ve sosyal medya etkileşimlerini nasıl izleyeceğinizi öğrenin. |
scrollSpec (on , scroll olarak ayarlandığında gereklidir) | Hangi koşullar altında sayfa kaydırıldığında scroll etkinliğinin uyarı verdiğini kontrol eder. Bu nesne verticalBoundaries vehorizontalBoundaries içerebilir. Bir scroll etkinliğinin uyarı vermesi için iki özellikten en az biri gereklidir. Her iki özelliğin değerleri bir kaydırma etkinliğinin oluşturulduğu sınırları içeren sayılar dizini olmalıdır. kaydırma izleme ile ilgili örneğe bakın. |
timerSpec (on , timer olarak ayarlandığında gereklidir) | timer etkinliğinin ne zaman uyarı vereceğini kontrol eder. Zamanlayıcı anında ve ardından belirlenen bir zaman aralığında tetiklenir. Bu yapılandırma timer tetikleme ile birlikte kullanılır. |
Önemli: Düşük öncelikli bir yapılandırmadaki tetiklemeler, yüksek öncelikli yapılandırmadaki aynı adlı tetiklemelerle geçersiz kılınır (bkz. Değişken değiştirme sıralaması.
Verileri gönderme: aktarma özelliği
transport
özelliği bir isteğin nasıl gönderileceğini tanımlar.
Aşağıdaki üç yöntem varsayılan olarak etkinleştirilir:
Taşıma Yöntemi | Tanım |
---|---|
beacon | navigator.sendBeacon isteği aktarmak için kullanılabilir. Bu kimlik bilgileri ile birlikte bir POST isteği ve boş bir gövde gönderir. |
xhrpost | XMLHttpRequest isteği aktarmak için kullanılabileceğini gösterir. Bu kimlik bilgileri ile birlikte bir POST isteği ve boş bir gövde gönderir. |
image | İsteğin bir Image etiketi oluşturarak gönderilebileceğini gösterir. Bu bir GET isteği gönderecektir. |
Yalnızca bir aktarma yöntemi kullanılır,
bu da etkinleştirilen, izin verilen ve kullanılabilir
en yüksek önceliğe sahip yöntemdir.
Öncelik beacon
> xhrpost
> image
şeklindedir.
İstemci kullanıcı aracısı bir yöntemi desteklemiyorsa,
etkinleştirilen en yüksek yöntem kullanılır.
transport
özelliğini yapılandırmanıza
yalnızca taşıma seçeneklerini sınırlamak istediğinizde ekleyin,
aksi halde, istekleri durdurabilirsiniz.
Aşağıdaki örnekte,
beacon
ve xhrpost
yanlış olarak ayarlanmıştır,
bu nedenle image
‹den daha yüksek önceliğe sahip olsalar da kullanılmazlar.
İstemcinin kullanıcı aracısı image
yöntemini destekliyorsa,
bu yöntem kullanılır; aksi halde hiçbir istek gönderilmez.
'transport': {
'beacon': false,
'xhrpost': false,
'image': true
}
Değişken değiştirme sıralaması
AMP bir öncelik sırasına göre değişkenleri değerlerle doldurur:
- Uzaktan yapılandırmalar (
config
aracılığıyla). vars
,triggers
içerisinde bir tetikleme içinde yuvalanmıştır.amp-analytics
içerisinde en üst seviyede yuvalananvars
.- Platform tarafından sağlanan değerler.
Bu örnekte, uzaktan bir yapılandırma vardır, değişkenler en üst seviyede, tetiklemelerde ve platform seviyesinde tanımlanmıştır:
<amp-analytics config="http://example.com/config.json">
<script type="application/json">
{
"requests": {
"pageview": "https://example.com/analytics?url=${canonicalUrl}&title=${title}&acct=${account}&clientId=${clientId(cid-scope)}",
},
"vars": {
"account": "ABC123",
"title": "Homepage"
},
"triggers": {
"some-event": {
"on": "visible",
"request": "pageview",
"vars": {
"title": "My homepage",
"clientId": "my user"
}
}
}
</script>
</amp-analytics>
Aynı var
birden fazla yerde tanımlanmışsa,
değişkenin öncelik sırası değerini bir kez belirler.
Dolayısıyla, uzaktan yapılandırma yukarıdaki örnekteaccount
UA-XXXXX-Y olarak tanımlandıysa,
çeşitli değişkenlerin değerleri aşağıdaki gibi olacaktır:
var | Değer | Tanımlanan |
---|---|---|
canonicalUrl | http://example.com/path/to/the/page | Platform |
title | My homepage | Tetikleme |
account | UA-XXXXX-Y | Uzaktan yapılandırma |
clientId | my user | Tetikleme |