Dijital Pazarlama 26 Şubat 2021

Facebook Reklam Verileri BigQuery’e Nasıl Aktarılır?

Eren Dağlar

Facebook reklamlarının (Facebook / Instagram) verilerini BigQuery’e aktarmak için hep paralı ürünler mevcut. Google’da araştırdığınız zaman sonuçların hepsinin ücretli tool’lar olduğunu göreceksiniz. Ama ücretsiz bir yolu mutlaka olmalı diye araştırma yaptığımda, koca Google’da sadece 1 adet içerik bulabilmiştim 🙂 Orada anlatılanları yaparak verileri aktarmayı başarabildim. Yabancı dilde bir içerikti. Dilimize de kazandırmak istedim. Bu şekilde Facebook ile BigQuery bağlantısını ücretsiz olarak yapmayı öğrenmiş olacağız.

Google Analytics 4 ve Google Analytics 360 verilerini kolay bir şekilde BigQuery’e aktarılabiliyor. Google Ads verileri de. Ama Facebook verilerini aktarmak zahmetli ama zevkli bir süreç gerektiriyor.

Peki buna neden ihtiyacımız var? Benim ilk aklıma gelen, last click ROAS raporlamasını otomatik hale getirebilmekti. Facebook reklam verilerini ve Google Analytics verilerini BigQuery’e yollarak orada yazacağımız SQL sorgularıyla last Click ROAS raporu çıkarmayı otomatik hale getirebilirsiniz. Bu şekilde bunu sağlayan tool’lara da para vermenize gerek kalmaz 🙂 Last click ROAS otomasyonu ben kullanıyorum, ileride bunun yapımıyla ilgili de bir içerik yazabilirim. Şimdi adımlara geçelim. Google Cloud Platform‘u ve Developer Facebook‘ta hiç App oluşturmamış olanlar için en baştan anlatacağım.

Google Cloud Platform’da Yeni Proje Oluşturma

Google Account’unuz tarayıcınızda aktif durumda ise Google’a “Google Cloud Platform” yazıp siteye giriş yaparak üyeliğinizi oluşturabilirsiniz. Projeler oluşturmak ve çalışmalar yapmak için kredi kartı bilgileri istiyor en başta. Bunu girip yanlış hatırlamıyorsam ilk 90 gün boyunca free bir şekilde GCP’yi  (Google Cloud Platform) kullanabilirsiniz. Sonraki dönem için ise yaptığınız işlerin boyutuna bağlı olarak bir ücret alıyor. Ama bunların yüksek meblağlar olacağını sanmıyorum. Yine sitede pricing’lere bakabilirsiniz.

bigquery'de proje oluşturma

Developer Facebook’ta App Oluşturma

BigQuery’ye Facebook verilerini çekebilmek için Facebook’un Marketing API’sini kullanacağız. Bunu kullanmak için ise bir access_token bilgisine ihtiyacımız olacak. Bunu elde etmek için https://developers.facebook.com/ adresine giriş yapınız. Hangi reklam hesabından veri çekecekseniz, o reklam hesabına erişimi olan bir hesaptan Facebook’a giriş yapmış olmanız gerekiyor.

Siteye giriş yaptıktan sonra sağ üstteki My Apps tab’ına tıklayınız. Daha sonra açılan sayfada aşağıdaki gibi “Create App” butonuna basınız.

facebook developer da app oluşturma

Daha sonra çıkan seçeneklerden en üstteki seçilir.

facebook developer app seçenekleri

Sonraki adımda gerekli bilgileri kendinize göre girebilirsiniz. Bu App’in bağlı olacağı Business Manager account’unu da seçiniz.

facebook developer app bilgilerini girmek

 

Developer Facebook’ta Marketing API Etkinleştirme

App oluşturulmuş oldu. Daha sonra açılan pencerede, seçenekler arasından Marketing API’yi seçmeliyiz.

facebook developer marketing api etkinleştirme

Daha sonra BigQuery’e veri akışını sağlamak için kullanacağımız access token kodunu almamız gerekecek. Bunun için Marketing API menüsü altında Tools tab’ına tıklayınız. Daha sonra açılan pencerede “ads_management” ve “ads_read” izinlerini seçip “Get Token” butonuna tıklayınız. Az sonra access_token kodunuz ekranda gözükmüş olacaktır. Bunu bir yere kopyalayınız. Yanlış hatırlamıyorsam access token kodlarının 60 günlük bir süresi var. Sonra geçerliliğini yitiriyor. Bu tip durumlarda tekrar oluşturmanız gerekiyor “Get Token” butonuna basarak.

facebook developer token oluşturma

Sonraki adımda ise yine verileri aktarmak için ihtiyacımız olan App ID ve App Secret verilerine ihtiyacımız var. Bunları aşağıdaki gibi alabilirsiniz. Bunları da bir yere kopyalayınız şimdilik. İleride kullanacağız. Ad Account ID‘sine de ihtiyacımız olacak. Bunu direkt reklam hesabını açtığınız zaman alabilirsiniz.

facebook developer api id

Google Cloud Platform’da Veri Akışını Oluşturma

GCP’de projemizi oluşturduk, Developer Facebook’ta APP’imizi oluşturup ihtiyacımız olan verileri bir yere kopyaladık. Şimdi verilerin aktarılmasını sağlayacak data pipeline’ı oluşturma zamanı.

Menüden Pub/Sub‘ı seçip sonrasında Topics‘e basınız.

google cloud platformda topic oluşturma

 

Create Topic yazısına tıklayarak açılan pencere aşağıdaki gibi bir isim verip oluşturunuz.

google cloud platformda topic ismi verme

Topic’i oluşturduktan sonra bu linke gidiniz ve kodu zip file olarak bilgisayarınıza indiriniz. https://github.com/snegireff/facebook_ads_bigquery_etl

Aşağıdaki gibi zip dosyasını indirdikten sonra unzip ediniz. Daha sonra klasörün içine girip dosyaları seçip sağ tıklayarak zip oluşturunuz. Bunu GCP’ye yükleyeceğiz az sonra. Bunu mutlaka aşağıdaki gibi yapmalısınız, yoksa çalışmayacaktır bağlantımız.

githubdan indirilen dosyayı tekrar zip etmek

Şimdi GCP’de yine sol taraftaki menüden Cloud Functions tab’ına tıklayınız. Create function dedikten sonra, function’a bir isim veriniz. Trigger type’ı “Cloud Pub/Sub” seçiniz. Select topic alanında bir önceki adımda oluşturduğumuz topic’i seçebilirsiniz. (facebook_data_pipeline)

google cloud platformda fonksiyon oluşturma

Memory allocated ayarı  1 GİB olarak seçilir. Timeout 540 olarak ayarlanır. Service account kısmında default’u seçiniz.

google cloud platform fonksiyon oluşturma 2. adım

 

Next’e basınca aşağıdaki adıma geçeceksiniz. Runtime ayarını Python 3.7 seçiniz. Sonrasında Source code kısmını ZIP upload olarak seçip oluşturduğumuz zip dosyasını yükleyiniz. Stage bucket için ise hesapta olan herhangi bir bucket’u seçebilir veya browse’a bastığınız zaman yeni bir tane oluşturabilirsiniz. Bu ekranda Runtime seçtiğiniz yerine yanında Entry point adında bir alan göreceksiniz. Oraya ise “get_facebook_data” yazınız.

githubdan indirilen dosyayı fonksiyona yüklemek

Bu adım da başarı ile tamamlandığında aşağıdaki gibi oluşturduğunuz fonksiyonun yanında yeşil işaret göreceksiniz.

google cloud platform fonksiyonlarFonksiyonumuzu her gün otomatik olarak çalıştırmak ve her gün güncel Facebook verilerini BigQuery’e aktarmak için Cloud Scheduler özelliğini kullanacağız. Bunu kullanmak için ise Google Cloud Platform terminalini (Cloud Shell) kullanacağız.

Terminali açmak için ekranın sağ üstünde yer alan, aşağıdaki alanı göreceksiniz. En soldakini seçiniz. Daha sonra terminal açılacaktır. Burayı bilgisayarda cmd yazıp açtığımız konsol ekranı olarak düşünebilirsiniz.

google cloud shell i açmak

Daha sonra terminale aşağıdaki kodu kendinize göre düzenleyip yapıştırınız.

gcloud beta scheduler jobs create pubsub facebook-scheduler –time-zone “Europe/Kiev” –schedule “0 5 * * *” –topic facebook_data_pipeline –message-body “get_facebook” –attributes project_id=PROJECT_ID,dataset_id=Marketing_Api,table_id=Fb_Stats,account_id=FB_ACCOUNT_ID,app_id=APP_ID,app_secret=APP_SECRET_ID,access_token=ACCESS_TOKEN

Project ID kısmına, GCP’de oluşturduğunuz projenin ID’sini,

dataset_id kısmına, verilerin akmasını istediğiniz BigQuery dataset’inin adını, koddaki örneği kullanabilirsiniz. (yeni bir dataset oluşturmuş olacaksınız, var olan bir ad yazmayınız),

table_id kısmına, verilerin akmasını istediğiniz, oluşturulan dataset’in altında oluşacak table’ın adını, koddaki örneği kullanabilirsiniz.

account id kısmına, reklam hesabınızın ID’sini,

app_id, app_secret, access_token verilerini de yukarıdaki adımlarda bahsetmiştik. Onları yapıştırınız.

Kodda yer alan topic kısmına oluşturduğunuz topic’in ismini yazınız. Yukarıda facebook_data_pipeline yazarak oluşturmuştuk, bu sebeple kodda bu yazıyor.

Kodu çalıştırdığınızda başarılı bir şekilde oluştuysa, Cloud Scheduler menüsünü seçip girdiğinizde aşağıdaki gibi göreceksiniz. Bizim oluşturduğumuzun adı facebook-scheduler. Bu satırın en sağında run now butonu var. Ona basarak artık Facebook’tan düne ait verileri çekebilirsiniz.

Her gün sabah 6’da bu işlemler otomatik olarak gerçekleşecek, her sabah bir önceki günün verileri BigQuery’e akacak 🙂

gcp schedule ekranıVe birkaç dakika bekledikten sonra, soldaki menüden BigQuery’e geçiş yapınız.  Aşağıdaki verilerin geldiğini göreceksiniz. Düne ait veriler olacak. Ve her gün yenisi üstüne eklenecek.

verileri aktardıktan sonra gözüken tablomuz

 

Yararlandığım kaynak: https://medium.com/@snegir/writing-your-data-connector-from-facebook-ads-to-google-bigquery-670caeff8262

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/