Gumroad Satış İzleme İşlemi

Daha önce yayınladığım Online Eğitim / Kurs Platformları başlıklı yazıda online olarak eğitim platformlarından bahsetmiştim. İlgili platformlar özelinde de yayınladığım teknik içeriklere bir ekleme yapmak istiyorum. Bahsi geçen platformlardan bazıları doğrudan eğitim akışı oluşturmanın yanı sıra kimi varlıkları (assets) dosya / bağlantı olarak da sunma özelliğine sahipler. Podia ve Thinkific bu seçeneklerden bazıları. Eğitim platformundan daha çok doğrudan varlık paylaşımlarına odaklanan çözümler de mevcut. Platformlar arasında yer bulmasa da, Gumroad bunlardan biri.

Gumroad

Gumroad

Gumroad, benim de ürünler sayfasında kullandığım servis platform üzerinizden kendizine bir çevrimiçi mağaza oluşurma imkanı sunmakta. Bu sayede, indirilebilir her türü materyal ve yönlendirme bağlantısı hem platform hem de 3. parti araçlar üzerinden yayınlanabilmekte.

Gumroad ile ilgili detaylara ilerleyen zaman içerisinde ayrıca değineceğim. Ancak, öncesinde sıklıkla karşılaştığım ve kullandığım widget ile satın alma işleminin nasıl izlenebileceğinden bahsetmek istiyorum.

Gumroad Button

Gumroad Ürün Yayını

Gumroad üzerinden bir ürün yayınlandığında ilgili ürüne ait oluşturulan sayfa (örn. https://gum.co/<ürün-id>) aynı zamanda 3. parti uygulamalar üzerinden de embed seçeneği ile erişilebilir hale gelmekte.

Gumroad Button

Overlay seçeneği ilgili web sitesinden ayrılmadan ürün detaylarının görüntülenmesi ve satın alma işleminin gerçekleştirilmesini sağlamakta. Bu seçenek ile JavaScript aracılığı ile oluşturulan Gumroad düğmesi tıklandığında iframe aracılığı ile kullanıcıya ürün detayları görüntülenebilir ya da kullanıcı doğrudan ödeme işlemine yönlendirilebilir. Ayrıca, iframe aracılığı ile iletilen akışa tek satın alma işlemi gibi sınırlandırmalar da eklenebilir. 3. partide JavaScript aktif değilse ilgili işlemler yeni bir sekmede kullanıcıya sunulacaktır.

Embed seçeneğinde ise ürün detayları JavaScript aracılığı ile doğrudan sayfa içerisine gömülerek sunulur.

Gumroad Payment

Gumroad Satış İzleme İşlemi

Eğer Gumroad üzerinden yayınlanan ürünler bir web sayfası üzerinden sunulduğunda JavaScript ile iframe içerisindeki olaylar ayrıca message olarak iletilir. Bu mesajlar arasında satış işlemi bildirimi de yer almaktadır1.

window.addEventListener('message', ev => {
  if (ev.data && JSON.parse(ev.data).post_message_name === 'sale') {
    //...
  }
}, false);

Yukarıdaki temel kod parçacığını kullanarak pek çok işlem gerçekleştirmek mümkün. dataLayer ile bir etkinlik olarak ele almak da bu seçeneklerden biri2.

Gumroad Sales
window.addEventListener('message', ev => {
  if (ev.data && JSON.parse(ev.data).post_message_name === 'sale') {
    dataLayer.push({
      'event' : 'sale',
      'eventCategory' : 'Gumroad',
      'eventAction' : 'Purchase',
      'eventLabel' : ev.data.order_number,
      'eventValue' : ev.data.price
    });
  }
}, false);

İlgili mesaj içeriğinde sunulan ürüne dair pek çok bilgi de yer almaktadır3 4 5. Yukarıdaki örnek kod parçacığında order_number ile sipariş numarası, price ile de ürünün satış fiyatı event tanımı olarak iletilmektedir. Sunulan diğer bilgiler ile birlikte event kullanımını Google Analytics standart işlem etkinliği ya da genişletilmiş e-ticaret etkinliği (UA ve GA4) olarak da ele alabiliriz6 7.

Gumroad API
window.addEventListener('message', ev => {
  if (ev.data && JSON.parse(ev.data).post_message_name == 'sale') {
    let gumroadData = JSON.parse(ev.data);
    let prc = pr => Number(pr.replace(/[^0-9\.-]+/g,""));
    // console.log(gumroadData);
    // UA
    dataLayer.push({
      'event': 'purchase',
      'ecommerce': {
        'purchase': {
          'actionField': {
            'id': gumroadData.order_number,
            'affiliation': gumroadData.affiliate || '',
            'revenue': prc(gumroadData.total_price_including_tax_and_shipping),
            'tax': prc(gumroadData.sales_tax_amount),
            'coupon': gumroadData.offer_code || ''
          },
          'products': [{
            'name': gumroadData.product_name,
            'id': gumroadData.product_id,
            'price': prc(gumroadData.price),
            // 'variant': gumroadData.variants.categories[0].options[0].name,
            'quantity': gumroadData.quantity,
            'coupon': gumroadData.offer_code || ''
          }]
        }
      }
    });

    // GA4
    dataLayer.push({
      'event': 'purchase',
      'ecommerce': {
        'purchase': {
          'transaction_id': gumroadData.order_number,
          'affiliation': gumroadData.affiliate || '',
          'value': prc(gumroadData.total_price_including_tax_and_shipping),
          'tax': prc(gumroadData.sales_tax_amount),
          'currency': gumroadData.currency,
          'coupon': gumroadData.offer_code || '',
          'items': [{
            'item_name': gumroadData.product_name,
            'item_id': gumroadData.product_id,
            'item_price': prc(gumroadData.price),
            // 'item_variant': gumroadData.variants.categories[0].options[0].name,
            'quantity': gumroadData.quantity,
            'item_coupon': gumroadData.offer_code || ''
          }]
        }
      }
    });

  }
}, false);

İşlemlerimiz bu kadar. Artık web sitemiz veya 3. siteler aracılığı ile gerçekleştirilen Gumroad ürün satış işlemlerini ilgili sayfada aktif olarak yer alan Google Tag Manager aracılığı ile ele alabiliriz. Elbette GTM seçeneklerden biri. İşlemleri doğrudan Google Analytics ve Facebook Analytics başta olmak üzere pek çok izleme ve reklam aracı vasıtasıyla takip edebilirsiniz.