Ürün ve etkinlik verilerini aktarma

İpucu. JavaScript API'siyle çalışmak için HTML ve JavaScript'le çalışma tecrübesine sahip olmak gerekir. Bu konuda tecrübeniz yoksa sitenizin geliştiricisine veya yöneticisine başvurmanızı öneririz.
  1. Veri taşıyıcısı ve Metrica'ya aktarımı hakkında
    1. Ürün hakkındaki veriler
    2. Eylem verileri
  2. Örnekler
    1. Ürün görüntüleme
    2. Ürünün sepete eklenmesi
    3. Ürünün sepetten çıkarılması
    4. Satın alma

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.

Uyarı. Ziyaretçinin web sitesinin başka bir sayfasına geçmesi anından itibaren verileri aktarmayın. Örneğin, onclick eyleminin kullanılırken “Sipariş ver” butonunda. Bu durumda sonraki sayfa, sayaç kodu verileri Yandex.Metrica’ya iletmeden daha önce yüklenebilir. Sonuç olarak, eylem bilgileri kaybolacaktır.

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.

Sınırlama. Veri taşıyıcı maksimum 8192 karakter içerebilir.

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:

  • detail: Ürünün (ürün kartının) tam açıklamasının görüntülenmesi,
  • add: Ürünün sepete eklenmesi,
  • remove: Ürünün sepetten çıkarılması,
  • purchase: Satın alma.

Ü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 (<actionType> - purchase) ise işlenir.

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.

Obje alanları
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.

Obje alanları
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
                }
            ]
        }
    }
});