Ürün ve etkinlik verilerini aktarma
Veri taşıyıcısı ve Metrica'ya aktarımı hakkında
E-ticaret ortamında her bir ürün, üzerinde belirli işlemlerin yapıldığı birer objedir. Ürünün detaylı açıklamasının görüntülenmesi veya sepete koyulması bu eylemlere örnektir. Bu veriler eylemin kimlik belirleyicisini ve eylemin yapıldığı ürünlerin açıklamalarının listesini içeren JavaScript objeleri olarak aktarılır. JavaScript API'siyle bağlantılı olarak bu tür objelere E-ticaret objeleri diyelim.
Verilerin E-Ticaret objeleri olarak Yandex.Metrica servisine aktarılması için bunları push yöntemiyle özel bir JavaScript dizisine yerleştirmek gerekir. Bu diziye veri taşıyıcısı diyelim.
Veri taşıyıcı, global ad alanında bulunmalıdır ve adı sayaç ayarlama veya başlatma işlemi sırasında belirtilen ad ile aynı olmalıdır. Veri taşıyıcısının adı dataLayer
ise ya da çalıştırılan Yandex.Metrica sayacının ecommerce parametresinin değeri true
ise veri taşıyıcılığının, window.dataLayer
dizisi tarafından üstlenildiği varsayılır.
<script type="text/javascript">
window.dataLayer = window.dataLayer || [];
</script>
...
<script type="text/javascript">
window.dataLayer.push ({...});
</script>
Veri taşıyıcısının ismi ve buna yerleştirilen E-Ticaret objelerinin yapısı, Google Analytics Enhanced Ecommerce'teki benzer varlıklara denk gelir. Böylece Global Site Tag üzerinden de dahil olmak üzere Google Analytics Enhanced Ecommerce'a veri gönderimi ayarlamanın yanı sıra ayrıca Yandex.Metrica'da E-Ticaret özelliğini de çalıştırdıysanız Yandex.Metrica da ilgili veriler toplanmaya başlar. Ayrıca Metrica, E-ticaret (GA4)'ü destekler ve ek bir ayar yapmaya gerek olmadan verileri toplar.
E-ticaret objesi şöyle görünür:
window.dataLayer.push({
"ecommerce": {
"currencyCode": "RUB",
"<actionType>" : {
"actionField" : <actionField>,
"products" : [<productFieldObject>, <productFieldObject>, ...]
}
}
});
Alan | Türü | Açıklama |
---|---|---|
ecommerce * | Object | Zorunlu taşıyıcı alan |
currencyCode | String | ISO 4217'ye göre para birimi kodu (3 harf). Başka bir para birimi transfer edilirse, ilgili para birimi ve tutar değerleri 0 olarak gönderilecektir. |
<actionType> * | — | (<actionType> yerine konan) alan adı, ürün setiyle gerçekleştirilen eylemin kimlik belirleyicisini temsil eder. Olası değerler:
Ürünün sepetten çıkarılması hakkında bilginin Yandex.Metrica'ya gönderilmesi raporda ürün sayısının negatif bir sayıyla ifade edilmesine neden olabilir (hesaplamalar sırasında sepetten çıkarılan ürünlerin sayısı eklenen ürünlerin toplam sayısından çıkarılır). Ürünün aktarılan fiyatı da bu durumda raporda negatif bir sayıyla yansıtılır. |
actionField ** | Object | <actionField>şeklindeki obje. Yapılan eylemi açıklayan ek veriler. Eylem sadece satın alma ( |
products * | Array | Belirtilen eylemin yapıldığı ürünlerin açıklama listesi. Ürün açıklamaları, <productFieldObject> şeklindeki objelerdir. |
Alan | Türü | Açıklama |
---|---|---|
ecommerce * | Object | Zorunlu taşıyıcı alan |
currencyCode | String | ISO 4217'ye göre para birimi kodu (3 harf). Başka bir para birimi transfer edilirse, ilgili para birimi ve tutar değerleri 0 olarak gönderilecektir. |
<actionType> * | — | (<actionType> yerine konan) alan adı, ürün setiyle gerçekleştirilen eylemin kimlik belirleyicisini temsil eder. Olası değerler:
Ürünün sepetten çıkarılması hakkında bilginin Yandex.Metrica'ya gönderilmesi raporda ürün sayısının negatif bir sayıyla ifade edilmesine neden olabilir (hesaplamalar sırasında sepetten çıkarılan ürünlerin sayısı eklenen ürünlerin toplam sayısından çıkarılır). Ürünün aktarılan fiyatı da bu durumda raporda negatif bir sayıyla yansıtılır. |
actionField ** | Object | <actionField>şeklindeki obje. Yapılan eylemi açıklayan ek veriler. Eylem sadece satın alma ( |
products * | Array | Belirtilen eylemin yapıldığı ürünlerin açıklama listesi. Ürün açıklamaları, <productFieldObject> şeklindeki objelerdir. |
* Bu parametre zorunludur.
** Satın alma ile ilgili bilgileri iletmek için zorunlu parametre.
Ürün hakkındaki veriler
Belirli bir ürünün özelliklerini açıklayan obje.
Ürünü açıklayan objenin yapısı <productFieldObject> olarak adlandırılır.
Alan | Türü | Açıklama |
---|---|---|
id * | String | Ürünün kimlik belirleyicisi. Örnek: SKU. "id" veya "name" belirtilmesi zorunludur |
name * | String | Ürün adı. Örnek: "Tişört" "id" veya "name" belirtilmesi zorunludur |
brand | String | Ürünle ilgili bir ticari marka. Örnek: Yandex |
category | String | Ürünün ait olduğu kategori Desteklenen kategoriler hiyerarşisi 5 iç içelik düzeyine kadardır. Seviye ayırıcısı olarak kullanılan simge: / Örnek: "Giyim/Erkek giyimi/Tişörtler" |
coupon | String | Ürünle ilgili promosyon kodu. Örnek: "PARTNER_SITE_15" |
position | Integer | Ürünün listedeki konumu. Örnek: 2 |
price | Number | Ürünün birim fiyatı |
quantity | Integer | Ürünün birim sayısı |
variant | String | Ürün çeşidi. Örnek: "Kırmızı" |
Alan | Türü | Açıklama |
---|---|---|
id * | String | Ürünün kimlik belirleyicisi. Örnek: SKU. "id" veya "name" belirtilmesi zorunludur |
name * | String | Ürün adı. Örnek: "Tişört" "id" veya "name" belirtilmesi zorunludur |
brand | String | Ürünle ilgili bir ticari marka. Örnek: Yandex |
category | String | Ürünün ait olduğu kategori Desteklenen kategoriler hiyerarşisi 5 iç içelik düzeyine kadardır. Seviye ayırıcısı olarak kullanılan simge: / Örnek: "Giyim/Erkek giyimi/Tişörtler" |
coupon | String | Ürünle ilgili promosyon kodu. Örnek: "PARTNER_SITE_15" |
position | Integer | Ürünün listedeki konumu. Örnek: 2 |
price | Number | Ürünün birim fiyatı |
quantity | Integer | Ürünün birim sayısı |
variant | String | Ürün çeşidi. Örnek: "Kırmızı" |
Eylem verileri
Ürünle veya ürün setiyle yapılan eylemler hakkında veriler içeren obje.
Eylem sadece satın alma ise (<actionType>
— purchase
) desteklenir.
Eylemi açıklayan objenin yapısı <actionField> olarak adlandırılır.
Eylemle ilgili veriler aktarıldığında Yandex.Metrica bir hedef oluşturur. Bu hedef, Yandex.Direct reklam kampanyasından elde edilen gelir hakkında bilgi almayı sağlar. Direct'te, hedef listesinde, bu türden bir hedef “eCommerce: Satın alma (sayaç no <sayaç ID>)” şeklinde görüntülenir. goal_id alanını aktarmak suretiyle hedefe ulaşmayı kendiniz de takip edebilirsiniz.
Alan | Türü | Açıklama |
---|---|---|
id * | String | Satın alma işleminin kimlik belirleyicisi. Alanın doldurulması zorunludur. Örnek: TRX#54321 |
coupon | String | Bir bütün olarak satın alma işlemiyle (alınan ürünlerle) ilgili promosyon kodu |
goal_id | Integer | Hedef numarasıdır. Söz konusu eylem hedeflenen bir eylem olduğu takdirde belirtilir. Hedef, JavaScript eylemi türündeki bir koşulla belirlenmelidir. Hedefin numarasına Yandex.Metrica arayüzünde Ayarlar bölümündeki Hedefler sekmesi üzerinden ulaşabilirsiniz. |
revenue | Number | Elde edilen gelir. Özel olarak belirtilmediği durumlarda işlem çerçevesinde satın alınan tüm ürünlerin fiyat toplamı olarak otomatik hesaplanır. |
Alan | Türü | Açıklama |
---|---|---|
id * | String | Satın alma işleminin kimlik belirleyicisi. Alanın doldurulması zorunludur. Örnek: TRX#54321 |
coupon | String | Bir bütün olarak satın alma işlemiyle (alınan ürünlerle) ilgili promosyon kodu |
goal_id | Integer | Hedef numarasıdır. Söz konusu eylem hedeflenen bir eylem olduğu takdirde belirtilir. Hedef, JavaScript eylemi türündeki bir koşulla belirlenmelidir. Hedefin numarasına Yandex.Metrica arayüzünde Ayarlar bölümündeki Hedefler sekmesi üzerinden ulaşabilirsiniz. |
revenue | Number | Elde edilen gelir. Özel olarak belirtilmediği durumlarda işlem çerçevesinde satın alınan tüm ürünlerin fiyat toplamı olarak otomatik hesaplanır. |
Örnekler
Bilgileri iletmek için yukarıda açıklanan biçimde sitede belirli bir eylemden (örneğin, sipariş oluşturma) sorumlu olacak bir komut dosyası oluşturmanız gerekir. Aşağıda Metrica destekli eylemler için örnek komut dosyaları bulunmaktadır.
Örneklerde sayacın e-ticaret bağlantısı ile başlatıldığı ve veri aktarımının window.dataLayer taşıyıcısı üzerinden yapıldığı varsayılır.
Ürün görüntüleme
Veriler, ürün kartı sayfası açıldığı anda gönderilmelidir.
dataLayer.push({
"ecommerce": {
"currencyCode": "RUB",
"detail": {
"products": [
{
"id": "P15432",
"name" : "tişört",
"price": 477.60,
"brand": "Yandex / Yandex",
"category": "Giyim/Erkek giyim/Tişörtler",
"variant" : "Kırmızı renk"
}
]
}
}
});
Ürünün sepete eklenmesi
Sipariş sepete eklendiğinde veriler gönderilmelidir. Örneğin, “Sepete ekle” butonuna tıklandığında.
dataLayer.push({
"ecommerce": {
"currencyCode": "RUB",
"add": {
"products": [
{
"id": "43521",
"name": "Yandex çantası",
"price": 654.32,
"brand": "Yandex / Yandex",
"category": "Aksesuarlar/Çantalar",
"quantity": 1
}
]
}
}
});
Ürünün sepetten çıkarılması
Sipariş sepetten çıkarıldığı anda veriler gönderilmelidir.
dataLayer.push({
"ecommerce": {
"currencyCode": "RUB",
"remove": {
"products": [
{
"id": "15243",
"name": "Telefon ekranı silme seti - Yandex",
"category": "Cep telefonu aksesuarları",
"quantity": 1
}
]
}
}
});
Satın alma
Sipariş onaylandığı anda veriler gönderilmelidir.
dataLayer.push({
"ecommerce": {
"currencyCode": "RUB",
"purchase": {
"actionField": {
"id" : "TRX987"
},
"products": [
{
"id": "25341",
"name": "Yandex erkek kapşonlu",
"price": 1345.26,
"brand": "Yandex / Yandex",
"category": "Giyim/Erkek giyim/Kapşonlular ve Svetşörtler",
"variant": "Turuncu renk",
"quantity": 1
},
{
"id": "25314",
"name": "Yandex kadın kapşonlu",
"price": 1543.62,
"brand": "Yandex / Yandex",
"category": "Giyim/Kadın giyim/Kapşonlular ve Svetşörtler",
"variant": "Beyaz renk",
"quantity": 3
}
]
}
}
});