Dijital Pazarlama 15 Mart 2021

Facebook Catalog Batch API ile XML Manipülasyonu

Eren Dağlar

E-ticaret siteleri için sosyal medya üzerinden pazarlama yaparken ürünlerimizin reklamını yapabilmek Facebook Catalog‘a ürünleri yüklememiz gerekir. Bunun en yaygın yöntemi XML ile ilerlemek. Fakat Google Merchant Center’da XML’i manipüle etmek istediğimizde yani kurallar kullanıp XML’i modifiye etmek istediğimizde elimiz, Facebook’a göre daha güçlü, daha esnek. Google Merchant Center‘da şarta bağlı kurallar koyabiliyorken, Facebook Catalog’da koyamıyoruz. İçeriğimizde Facebook Catalog Batch API kullanarak bunu nasıl yapabileceğimize bakacağız.

Örneğin, XML’de 3 tane ürünü reklamlarda göstermemeniz gerekiyor. Marka bir dizi yıldızı ile anlaşma yapmış ve yıldız kişi, sitede benim fotoğraflarımı yayımlayabilirsiniz ama reklamlarda gözükmesini istemiyorum diyor.  XML’i üreten yazılım firması bunu yapamayacağını söylüyor. Eliniz kolunuz bağlı. Bir şekilde Google Merchant Center’da şarta bağlı kural koyma özelliği olduğu için “Ürün ID’si şu olan ürünün, availability değerini out of stock yap” kuralını koyduğumuzda bu işi çözüyoruz. Ama Facebook Catalog’da şarta bağlı kural koyamadığımız için bunu yapamıyoruz.

Facebook Catalog’da Kullanılabilen Kurallar

Ürünlerimizin bulunduğu XML üzerinde kurallar oluşturup manipülasyon yapmak istediğimiz zaman Facebook’un sunduğu seçenekler aşağıdaki gibi. Şarta bağlı bir kural oluşturma esnekliğimiz maalesef yok. (Eğer varsa lütfen bilgilendirin, ben uzun süredir bulamadım 🙂 )

facebook catalog'daki kural seçenekleri

 

Facebook Catalog’da XML’inizden ürün seçip o ürünü “deaktif” etme veya “silme” özelliği var. Bunları denedim, ama silsem de deaktif etsem de ertesi gün yine o ürün “in stock” oluyor yani reklamlarda gözükmeye başlıyor. Facebook Marketing API ile bunu yapabilir miyiz diye araştırma yaptım ve bir yolunu buldum.

Bunu yapabilmek için Developer Facebook’ta bir App’imizin olması ve ads_management, ads_read, read_insights izinlerine sahip olması gerekiyor. Developer Facebook’ta nasıl bir app kaydı oluşturabileceğinizi ve gerekli izinleri nasıl alabileceğiniz bir başka yazımda anlatmıştım. Ona da buradan ulaşabilirsiniz.

Facebook Catalog Batch API Kullanarak Manipülasyon

Önce aşağıdaki gibi App Dashboard’ımıza girip Marketing API > Tools adımlarını takip ederek API işlemleri için access_token kodumuzu alalım.

Facebook Developer'da access token oluşturma

 

Şimdi Google Apps Script‘e ( https://script.google.com/home/start ) giriş yapacağız. Eğer bir Google account’unuz varsa direkt girebilirsiniz. Bu platformda yazacağımız fonksiyon ile Facebook Catalog Batch API’mizi çalıştıracağız ve bir kural oluşturup seçtiğimiz ürünün availability değerini in stock’tan > out of stock’a çevireceğiz.

google apps script'te yeni proje oluşturma

 

Şimdiki adımda, aşağıda yazdığım kodu, kendinize göre güncelleyerek Google Apps Script’te oluşturduğunuz projenin içine ekleyiniz.

Catalog_ID : Facebook Catalog’unuzun ID’si

Content_ID : Manipülasyon yapmak istediğiniz ürünün XML ID’si

ACCESS_TOKEN: Developer Facebook’tan aldığınız kod.

function requestFacebookReport() {

var facebookUrl =
“https://graph.facebook.com/v9.0/CATALOG_ID/batch?requests=[{‘method’:’UPDATE’,’retailer_id’:’CONTENT_ID’,’data’:{‘availability’:’out of stock’}}]&access_token=ACCESS_TOKEN”
var encodedFacebookUrl = encodeURI(facebookUrl);
var options = {
‘method’ : ‘post’
};

// Fetches & parses the URL
var fetchRequest = UrlFetchApp.fetch(encodedFacebookUrl, options);

}

google apps script

Kodu çalıştırdıktan sonra Facebook catalog’a gidip ilgili ürünün availability durumuna baktığınızda değiştiğini göreceksiniz 🙂

Aşağıda ekran kaydı alıp gif haline getirdiğim bir örnek iletiyorum. Tapestry Blanket V08 adlı ürünün stok durumunu in stock iken out of stock’a çevirmiş olduk.

 

google apps script ile api çalıştırmak

Şimdi bir de örnek olarak API üzerinden ürünün adını ve fiyatını da değiştirmeyi deneyelim. Aşağıda kodu iletiyorum.

Catalog_ID : Facebook Catalog’unuzun ID’si

Content_ID : Manipülasyon yapmak istediğiniz ürünün XML ID’si

ACCESS_TOKEN: Developer Facebook’tan aldığınız kod.

function requestFacebookReport() {

var facebookUrl =
“https://graph.facebook.com/v9.0/CATALOG_ID/batch?requests=[{‘method’:’UPDATE’,’retailer_id’:’CONTENT_ID’,’data’:{‘name’:’URUN_ISMI’,’price’:’100.00′,’currency’:’TRY’}}]&access_token=ACCESS_TOKEN”
var encodedFacebookUrl = encodeURI(facebookUrl);
var options = {
‘method’ : ‘post’
};

// Fetches & parses the URL
var fetchRequest = UrlFetchApp.fetch(encodedFacebookUrl, options);

}

Aşağıda GIF’i paylaşıyorum. İzleyebilirsiniz.

 

 

YouTube kanalımıza abone olun;

https://www.youtube.com/c/boosmart

Instagram hesabımızı takip edin;

https://www.instagram.com/boosmartcom/

Telegram kanalımıza abone olun;

https://t.me/boosmart

Diğer blog yazılarımızı inceleyin:

https://boosmart.com/tr/blog/