E-ticaret verilerinin iletimi

Önemli

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.

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.

Ecommerce nesneleri olarak Yandex Metrica’ya veri iletmek için, bunları JavaScript dizisi window.dataLayer içinde küresel ad alanında (window) push yöntemiyle eklemeniz gerekir. Bu diziye veri taşıyıcısı diyelim.

Dikkat

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">
    // Code snippet initializing
    ym(XXXXXX, 'init', {
        ...
        // If ecommerce setting is enabled during initialization, data container will always be window.dataLayer
        // If the setting is enabled via interface, name can be changed in tag settings 
        ecommerce: true
        ...
    });
    // Data container (JavaScript array) in global namespace (window)
    window.dataLayer = window.dataLayer || [];
</script>
...
<script type="text/javascript">
    // We use push method to add an Ecommerce object
    window.dataLayer.push(
        // Ecommerce object
        {
            "ecommerce": {
                ...
                "currencyCode": "RUB",
                "<actionType>": {
                    "actionField": <actionField>,
                    "products" : [<productFieldObject>, <productFieldObject>, ...]
                }
                ...
            }
        }
    );
</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.

Dikkat

Veri taşıyıcı maksimum 8192 karakter içerebilir.
Konteynerde daha fazla veri aktarıyorsanız, siparişi alt numaralarla parçalara ayırmanızı öneririz (örneğin, order1-1, order1-2, order1-3). Bu şekilde Yandex Metrica’da hem siparişler hem de alt siparişler görüntülenecektir.

Gerçek sipariş sayısını değerlendirmek için bir JS hedefi belirleyin ve bunu alt siparişlerden biriyle Yandex Metrica’ya gönderin. Bir siparişin alt siparişlere bölünmüş birden fazla konteyneri aktarıldığında, toplam sipariş sayısını hesaplamak için bir hedefe ulaşılacaktır.

E-Ticaret objesinin şekli şö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 yapılan eylemin kimlik belirleyicisidir.

Olası değerler:

  • impressions – ürün listesinin görüntülenmesi;
  • click – listedeki ürüne tıklama;
  • detail – ürünün görüntülenmesi;
  • add – Ürünün sepete eklenmesi;
  • remove – Ürünün sepetten çıkarılması;
  • purchase – Satın alma;
  • promoView – dahili reklamı görüntülemei;
  • promoClick – iç reklama tıklama.

Ü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). Eğer bununla bereaber ürünün fiyatı da aktarılmışsa, bu durumda raporda aynı şekilde 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

promoClick, promoView ve impressions eylemleri için kullanılmıyor.

promotions*

Array

Belirtilen eylemin gerçekleştirildiği reklam kampanyası açıklamalarının listesi. Reklam kampanyalarının açıklamaları promoFieldObject türünde nesneler olarak sunulmaktadır.

* 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 tanımlayıcısı. Örnek: SKU.

"id" veya "name" belirtilmesi zorunludur

name*

String

Ürün adı. Örnek: "Tişört"

Belirtilmesi zorunlu olan öğe: name veya id

brand

String

Ürünle ilgili bir ticari marka Örnek: Yandex

category

String

Ürünün ait olduğu kategori

Desteklenen kategoriler hiyerarşisi 5 yuvalanma seviyesine kadardır. Seviye ayırıcısı olarak kullanılan simge: / Örneğin, "Giyim / Erkek giyim / Tişörtler"

coupon

String

Ürünle ilgili promosyon kodu. Örnek: "PARTNER_SITE_15"

discount

Number

Ürünün indirim oranı (sayı olarak belirtilir).

list

String

Ürünün ait olduğu liste.

Kullanıcının ürünle etkileşiminin farklı aşamalarında listenin etkinliğini değerlendirmek için, ürün listesini görüntülemeden sonraki tüm olaylarda ürün listesini belirtmenizi öneririz.

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. Yandex Direct'teki hedef listesinde böyle bir hedef şu şekilde görünür: “eCommerce: Alım işlemi (Sayaç No.: <Sayaç ID'si>)”. goal_id alanını aktarmak suretiyle hedefe ulaşmayı kendiniz de takip edebilirsiniz.

Alan

Türü

Açıklama

id*

String

Satın alma işlemi tanımlayıcısı.

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.

Promosyon kampanyaları hakkında veriler

Promosyon kampanyalarını tanımlayan nesne.

Konteyner aynı fakat productFieldObject yerine promoFieldObject yazılır.

Alan

Türü

Açıklama

id*

String

Promosyon kampanyasının kimliği.

Alanın doldurulması zorunludur

name

String

Promosyon kampanyasının adı

creative

String

Reklam bannerinin adı

creative_slot

String

Reklam bannerinin slotu

position

String

Reklam banneri pozisyonu

Ö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 listesini görüntüleme

Veriler, ürün listesinin açılması anında gönderilmelidir.

dataLayer.push({
    "ecommerce": {
        "currencyCode": "RUB",
        "impressions": [
            {
                "id": "P15432",
                "name" : "Tişört",
                "price": 477.60,
                "brand": "Yandex / Яndex",
                "category": "Giyim / Erkek giyim / Tişörtler",
                "variant" : "Kırmızı renk",
                "list": "Search",
                "position": 1
            },
            {
                "id": "P15435",
                "name" : "Tişört",
                "price": 500.60,
                "brand": "Yandex/ Яndex",
                "category": "Giyim / Erkek giyim / Tişörtler",
                "variant" : "Lacivert renk",
                "list": "Search",
                "position": 2
            }
        ]
    }
});

Listeden ürüne tıklama

Veriler, kullanıcı ürün bağlantısına tıkladığında iletilmelidir.

dataLayer.push({
    "ecommerce": {
        "currencyCode": "RUB",
        "click": {
            "products": [
                {
                    "id": "39084",
                    "name": "Yandex termos bardak",
                    "price": 1089.69,
                    "brand": "Yandex / Яndex",
                    "category": "Ev ürünleri /Züccaciye / Termoslar ve termos bardaklar",
                    "variant": "Kırmızı renk",
                    "list": "Search",
                    "position": 1
                }
            ]
        }
    }
});

Ü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 / Яndex",
                    "category": "Giyim / Erkek giyim / Tişörtler",
                    "variant" : "Kırmızı renk",
                    "list": "Arama sonuçları",
                    "position": 1
                }
            ]
        }
    }
});

Ürünü sepete koyma

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 çanta",
                    "price": 654.32,
                    "brand": "Yandex / Яndex",
                    "category": "Aksesuarlar / Çantalar",
                    "quantity": 1,
                    "list": "Kategori sonuçları",
                    "position": 2
                }
            ]
        }
    }
});

Ürünü sepetten çıkarma

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,
                    "list": "Aksesuarlar",
                    "position": 3
                }
            ]
        }
    }
});

Satın alma

Sipariş onaylandığı anda veriler gönderilmelidir.

dataLayer.push({
    "ecommerce": {
        "currencyCode": "RUB",
        "purchase": {
            "actionField": {
                "id" : "TRX987"
            },
            "products": [
                {
                    "id": "25341",
                    "name": "Yandex erkek sweatshirt",
                    "price": 1345.26,
                    "brand": "Yandex / Яndex",
                    "category": "Giyim / Erkek giyim / Sweatshirt'ler",
                    "variant": "Turuncu renk",
                    "quantity": 1,
                    "list": "Giyim",
                    "position": 1
                },
                {
                    "id": "25314",
                    "name": "Yandex kadın sweatshirt",
                    "price": 1543.62,
                    "brand": "Yandex / Яndex",
                    "category": "Giyim / Kadın giyim / Sweatshirt'ler",
                    "variant": "Beyaz renk",
                    "quantity": 3,
                    "list": "Sweatshirt'ler",
                    "position": 2
                }
            ]
        }
    }
});

Dahili reklamı görüntüleme

Veriler, kullanıcı reklam materyallerini görüntülediğinde gönderilmelidir.

dataLayer.push({
    "ecommerce": {
        "promoView": {
            "promotions": [
                {
                    "id": "BF001",          
                    "name": "Efsane Cuma",
                    "creative": "Banner_1",
                    "position": "Slot1"
                },
                {
                    "id": "SUMMER002",
                    "name": "Yaz indirimleri",
                    "creative": "Banner_3",
                    "position": "Slot2"
                }
            ]
        }
    }
});

Dahili reklamlara tıklamalar

Veriler, kullanıcı reklam materyali ile tıklama veya başka bir hedef eylem gerçekleştirdiğinde gönderilmelidir.

dataLayer.push({
    "ecommerce": {
        "promoClick": {
            "promotions": [
                {
                    "id": "BF001",          
                    "name": "Efsane Cuma",
                    "creative": "Banner_1",
                    "position": "Slot1"
                }
            ]
        }
    }
});

Daha fazla bilgi edinin

Sohbete yaz

E-posta yaz

Lütfen, dikkatli olun: Destek Ekibi kullanıcıları aramaz. Dolayısıyla Yandex Metrica Destek Ekibi adına sizi telefonla arayan yabancıları yok sayın ve talimatlarını kesinlikle izlemeyin.


Bu parametre zorunludur.

Satın alma ile ilgili bilgileri iletmek için zorunlu parametre.

"id" veya "name" belirtilmesi zorunludur.

Alanın doldurulması zorunludur.