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.
Bu sayfada
Ö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ı sayfasındaki komut dosyaları konusunda yardım sunamaz. Yardıma ihtiyacınız varsa Shopify Topluluğu'nda gönderi yayınlayabilir veya bir Shopify İş Ortağı 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
veoutdated 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
Satın alım sonrası sayfası komut dosyasını eklemeden önce, satın alım sonrası alanın Shopify Yöneticinizde görüntülenmesi için Google ve YouTube kanalını ayarladığınızdan veya üçüncü taraf bir satın alım sonrası uygulaması indirdiğinizden emin olun.
Adımlar:
- Shopify yöneticinizden Ayarlar > Ödeme'ye gidin.
- Satın alım sonrası ek komut dosyaları alanına komut dosyanızı girin.
- 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. |
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ı. |