Satın alım sonrası sayfasında piksel takibi

Mağazanızın ödeme sayfasına satın alım sonrası sayfası ekleyen bir uygulama mağazanızda yüklüyse burada kullandığınız özel takip pikselleri belirli takip etkinliklerini yakalamayabilir. Mağazanızın Ek komut dosyaları kutusuna eklenen özel takip pikselleri yalnızca sipariş durumu sayfasındaki (ödeme bölümünde yer alan satın alım sonrası sayfasının ardından görüntülenir) etkinlikleri takip eder. Müşteri, satın alım sonrası sayfasında mağazadan ayrılırsa sipariş durumu sayfasındaki etkinlikler takip edilmez.

Dönüşüm etkinliklerini düzgün bir şekilde kaydettiğinizden emin olmak için satın alım sonrası sayfasına etkinlikleri takip eden bir komut dosyası ekleyebilirsiniz. Bu komut dosyası, yukarı satış gibi satın alım sonrası sayfasında gerçekleştirilen ek satın alımları da takip edebilir. Satın alım sonrası sayfası komut dosyası ekledikten sonra, satın alım sonrası sayfa komut dosyası tarafından zaten kaydedilen etkinlikleri yok saymak için sipariş durumu sayfa komut dosyanızı düzenlemeniz gerekir.

Yalnızca özel bir takip pikseli kullanıyorsanız mağazanızın etkinlikleri nasıl takip ettiğini değiştirmeniz gerekir. Örneğin, Online Mağaza > Tercihler üzerinden Google Analytics'i ayarladıysanız satın alım sonrası sayfanızda etkinlikler zaten doğru bir şekilde kaydedilir.

Önemli hususlar

Satın alım sonrası sayfası ek komut dosyası, sipariş durumu sayfası ek komut dosyalarına benzemekle birlikte aralarında birkaç temel fark vardır:

  • Komut dosyası sipariş durumu sayfasına değil, satın alım sonrası sayfasına eklenir.
  • Alan yalnızca JavaScript'e izin verir. Liquid kodu kabul edilmez.
  • Yalnızca şu HTML etiketine izin verilir: <script>.
  • Komut dosyası, korumalı alan içinde çalışır ve ana sayfaya dahil değildir.
  • Yalnızca mağazanızda, ödeme sayfanıza satın alım sonrası sayfası ekleyen bir uygulama yüklüyse satın alım sonrası sayfası komut dosyası ekleyebilirsiniz.

Komut dosyasının korumalı alanda çalıştırılması, dosyadan güvenle ve hedeflenen kullanım amacına uygun şekilde yararlanılmasını sağlar.

Shopify Destek ekibi, satın alım sonrası sayfa komut dosyaları konusunda destek sunamaz. Yardıma ihtiyacınız varsa Shopify Topluluğu'nda gönderi yayınlayabilir veya bir Shopify Expert ile çalışabilirsiniz.

Sipariş durumu sayfasındaki komut dosyalarıyla uyumluluk

Piksellerinizin tüm dönüşüm etkinliklerini doğru bir şekilde takip ettiğinden emin olmak için hem satın alım sonrası sayfasında hem de sipariş durumu sayfasında takip komut dosyaları ayarlayın. Etkinliklerin iki kez sayılmasını önlemek için, sipariş durumu sayfasında çalıştırılan komut dosyalarında post_purchase_page_accessed Liquid değişkenini kullanabilirsiniz.

Bir müşteri satın alım sonrası sayfasını açtıktan sonra sipariş durumu sayfasına giderse post_purchase_page_accessed değişkeni true değerini döndürür. Müşteri satın alım sonrası sayfasına ulaşmazsa değişken, false değerini döndürür.

Örneğin, sipariş durumu sayfasındaki komut dosyalarınız için aşağıdaki biçimi kullanabilirsiniz:

{% if first_time_accessed == true and post_purchase_page_accessed == false %}
<script>
   // insert your tracking script
</script>
{% endif %}

Kullanılabilir API'ler

Takip komut dosyalarının gerekli verilere erişebilmesini sağlamak için JavaScript genel değişkenlerini kullanabilirsiniz. Erişilebilir verilere window.Shopify bölümünden ulaşabilirsiniz.

Satın alım sonrası sayfasında gerçekleştirilen satın alımları takip etme

Satın alım sonrası sayfası üzerinden yapılan ek satın alımları takip etmek için Shopify.on etkinliğine abone olabilirsiniz.

Abone olmanızın ardından, satın alım sonrası değişiklik kümesinin başarıyla uygulandığı her seferde aşağıdaki işlemler gerçekleştirilir:

  • İşleyiciniz iki Sipariş türü değişkeniyle çağrılır: order ve outdated order.
  • Komut dosyalarının güncellenen verileri kullanabilmesi için window.Shopify bölümündeki genel değişkenler güncellenir.

Bu etkinliğe abone olan işleyicilerin yürütülmesi için 500 ms kadar kısa bir süre gerekebilir. İhtiyacınız olan tüm destek dosyalarını önceden yüklediğinizden emin olun.

Satın alım sonrası sayfasına ait komut dosyasını ekleme

  1. Shopify yöneticinizden Ayarlar > Ödeme'ye gidin.
  2. Satın alım sonrası ek komut dosyaları alanına komut dosyanızı girin.
  3. Kayıtyap ' a tıklayın.

Örnek komut dosyası

Kendi satın alım sonrası sayfası komut dosyanızı oluşturmanıza yardımcı olması için aşağıdaki temel komut dosyası şablonunu kullanabilirsiniz. Bu örnek komut dosyası ilk dönüşümleri takip etmek için Google Analytics'i kullanır ve ek satın alımların nasıl takip edileceğini açıklar. Bu oldukça basit bir örnektir ve nihai komut dosyanızın bundan farklı olma olasılığı yüksektir.

Örnek komut dosyaları

Sipariş durumu sayfası için örnek komut dosyası:

<script async src="https://www.googletagmanager.com/gtag/js?id=G-FYNQ742HTX"></script>
<script>
(function() {
  // make sure the initial conversion isn't tracked twice
  {% if first_time_accessed == false or post_purchase_page_accessed == true %}
    return;
  {% endif %}
  // set up google analytics
  window.dataLayer = window.dataLayer || [];
  function gtag() {
    dataLayer.push(arguments);
  }
  gtag('js', new Date());
  gtag('config', 'G-FYNQ742HTX');
  // track initial conversion
  var order = window.Shopify.order;

  gtag('event', 'purchase', {
    affiliation: 'My Shopify Store',
    transaction_id: Number(order.id).toString(),
    value: order.totalPrice,
    currency: order.currency,
    items: order.lineItems.map((item) => ({
      id: Number(item.id).toString(),
      name: item.title,
      category: item.product.type,
      price: item.price,
      quantity: item.quantity,
      variant: Number(item.variant.sku).toString(),
    })),
  });
})();
</script>

Satın alım sonrası sayfası için örnek komut dosyası:

<script async src="https://www.googletagmanager.com/gtag/js?id=G-FYNQ742HTX"></script>
<script>
(function() {
  // set up google analytics
  window.dataLayer = window.dataLayer || [];

  function gtag() {
    dataLayer.push(arguments);
  }

  gtag('js', new Date());
  gtag('config', 'G-FYNQ742HTX');

  // make sure the initial conversion isn't tracked twice
  if (!Shopify.wasPostPurchasePageSeen) {
    var order = window.Shopify.order;

    // track initial conversion
    gtag('event', 'purchase', {
      affiliation: 'My Shopify Store',
      transaction_id: Number(order.id).toString(),
      value: order.totalPrice,
      currency: order.currency,
      items: order.lineItems.map(function(item) {
        return {
          id: Number(item.id).toString(),
          name: item.title,
          category: item.product.type,
          price: item.price,
          quantity: item.quantity,
          variant: Number(item.variant.sku).toString(),
        };
      }),
    });
  }

  // set up additional conversion tracking
  Shopify.on('CheckoutAmended', function(newOrder, previousOrder) {
    // identify which items were recently added, if any
    var oldItems = previousOrder.lineItems.map(function (line) { return line.id; });

    var addedItems = newOrder.lineItems.filter(
      function (line) { return oldItems.indexOf(line.id) < 0; }
    );

    // no new items were added, so we skip conversion tracking
    if (addedItems.length === 0) {
      return;
    }

    // track additional purchase
    gtag('event', 'purchase', {
      affiliation: 'My Shopify Store',
      transaction_id: Number(order.id).toString(),
      value: order.totalPrice,
      currency: order.currency,
      items: addedItems.map(function (item) {
        return {
          id: Number(item.id).toString(),
          name: item.title,
          category: item.product.type,
          price: item.price,
          quantity: item.quantity,
          variant: Number(item.variant.sku).toString(),
        };
      }),
    });
  });
})();
</script>

Referanslar

Aşağıdaki tabloda, windows.Shopify aracılığıyla satın alım sonrası ek komut dosyalarına açılan özniteliklerin türüne yönelik tanımlar yer almaktadır:

Alan Tanım
window.Shopify
shop Siparişin verildiği mağazaya ait bilgilerdir.
order Siparişe ait bilgilerdir.
pageUrl Geçerli sayfanın URL'sidir.
wasPostPurchasePageSeen Müşterinin bu ödeme sırasında satın alım sonrası sayfasını görüntüleyip görüntülemediğini gösterir. İlk kez işlenirken false ve sayfanın yeniden yüklenmesi gibi diğer durumlarda true değerine sahip olur.
on(event: string, handler: function): void Bir etkinliğe abone olur. Şu anda yalnızca CheckoutAmended etkinliği desteklenmektedir.
off(event: string, handler: function): void İşleyicinin verilen etkinlikten aboneliğini kaldırır. Şu anda yalnızca CheckoutAmended etkinliği desteklenmektedir.
Shop
id Mağazanın kimliğidir.
currency Mağazanın para birimi ISO 4217 biçimindedir (ör. USD). Daha fazla bilgi için shop.currency bölümüne göz atın.
Order
id Siparişin dahili tanımlayıcısıdır.
number Sipariş adının tam sayı temsilidir (ör. 1025).
checkoutToken Ödeme sayfasının dahili tanımlayıcısı.
customer Siparişle ilişkili müşteridir.
lineItem Siparişin satır öğeleridir.
subtotalPrice Hem satır öğesi hem de sepet indirimleri uygulandıktan sonra siparişteki tüm ürünlerin alt toplam fiyatıdır. Alt toplam, vergileri (fiyatlara dahil değilse), kargo masraflarını veya bahşişleri içermez.
totalPrice Siparişin toplam fiyatıdır.
currency Siparişin para biriminin ISO 4217 kodudur.
discounts Siparişe uygulanan indirimlerin toplam tutarıdır.
Customer
id Müşterinin kimliğidir.
email Müşterinin e-posta adresi.
acceptsMarketing Müşterinin, pazarlama faaliyetlerini kabul edip etmediğini belirir. Kabul etmişse true, etmemişse false değerine sahip olur.
hasAccount Müşteri e-postasının bir müşteri hesabıyla ilişkilendirilip ilişkilendirilmediğini belirtir. E-posta bir müşteri hesabında listelenmişse true, listelenmemişse false değerine sahip olur. Daha fazla bilgi için customer.has_account bölümüne göz atın.
firstName Müşterinin adıdır.
lastName Müşterinin soyadıdır.
ordersCount Müşterinin verdiği siparişlerin toplam sayısıdır.
totalSpent Müşterinin tüm siparişlerde harcadığı toplam tutar.
LineItem
finalLinePrice Satır öğesindeki tüm ürünlerin birleştirilmiş fiyatı. Bu değer, line_item.final_price değerinin line_item.quantity ile çarpılmasıyla elde edilen sonuca eşittir.
finalPrice Tüm satır düzeyi indirim tutarlarının dahil edildiği satır öğesi fiyatı.
lineLevelTotalDiscount Özel olarak satır öğesine uygulanan tüm indirimlerin toplam tutarıdır. Sepete eklenen indirimleri içermez.
optionsWithValues Ürüne ait seçenekler arasından belirlenen değerlerden oluşan bir dizidir. Daha fazla bilgi için line_item.options_with_values bölümüne bakın.
originalLinePrice Satıra eklenen ürün adedinin indirimler uygulanmadan önceki toplam fiyatıdır. Bu değer, line_item.original_price ile line_item.quantity çarpımına eşittir.
originalPrice Satır öğesinin indirimler uygulanmadan önceki orijinal fiyatıdır.
price Satır öğesinin birim fiyatıdır. Fiyat, satır öğesine uygulanan tüm indirimleri yansıtır. Yalnızca Almanya veya Fransa'da bulunan mağazalar tarafından kullanılabilir.
product Satır öğesindeki üründür.
properties Sepete eklenen bir ürüne ait özel bilgilerden oluşan bir dizidir. Daha fazla bilgi için line_item.properties bölümüne bakın.
quantity Satır öğelerinin adedidir.
title Satır öğesinin başlığıdır. Daha fazla bilgi için line_item.title bölümüne göz atın.
variant Satır öğesinin varyasyonudur.
Product
id Ürün kimliğidir.
type Ürünün türünü belirtir.
ProductVariant
id Varyasyon kimliğidir.
sku Varyasyonun SKU'su.
CartDiscount
id İndirim uygulamasının dahili tanımlayıcısı.
code İndirim kodudur (varsa).
type İndirimin türüdür. Olası değerler şunlardır: automatic, discount_code, manual ve script.
amount Sipariş fiyatının indirimle düşürülen toplam tutarı.

Shopify ile satış yapmaya hazır mısınız?

Ücretsiz olarak dene