Dijital Pazarlama 17 Nisan 2021

Google Ads Anahtar Kelime Eşleme Türüne Göre BigQuery Analizi

Eren Dağlar

Google Ads’te halihazırda 3 çeşit anahtar kelime eşleme türü mevcut. Sıralı eşleme, tam eşleme ve geniş eşleme. Alışveriş reklamlarının Türkiye’de arama sonuçlarından kalkmasından sonra arama ağı kampanyalarının bütçeleri arttığı için eşleme türlerine göre performansı merak ettim.  Google Ads anahtar kelime eşleme türüne göre BigQuery kullanarak performans analizi gerçekleştirdim.

Eğer siz de merak ediyorsanız, aşağıdaki adımları takip ederek uygulayabilirsiniz.

Google Ads Verilerini BigQuery’e Aktarmak

Önceki yazılarımdan bu linkteki içeriği açarak adım adım anlatımı inceleyebilirsiniz.

BigQuery SQL Sorgu 1

Sorguyu kopyalamanız için aşağıda metin olarak da paylaşıyorum. Aşağıdaki ekran görüntüsünde açıklamaları da okuyabilirsiniz.

Sorguyu çalıştırıp sonuç aldıktan sonra ‘Save Results’ kısmına tıklayıp sonuçları BigQuery tablosu olarak kaydediniz. Tablo isminizi ‘keyword_performance’ yapabilirsiniz.

dataset_name: tablonuzun ait olduğu dataset adı

YourCustomerID: Google Ads hesabınızın ID’si

sorgu 1 - google ads anahtar kelime eşleme türüne göre performans

 

SELECT
a.CriterionId, #anahtar kelimenin id’si
a.CampaignId, #ilgili anahtar kelimenin bulunduğu kampanyanın id’si
b.CampaignName, #ilgili anahtar kelimenin bulunduğu kampanyanın adı
SUM(a.Clicks) AS Clicks, #ilgili anahtar kelimelerin aldığı tıklamaların toplamı
SUM(a.Impressions) AS Impressions, #ilgili anahtar kelimelerin aldığı gösterimlerin toplamı
SUM(a.ConversionValue) as Value, #ilgili anahtar kelimelerin aldığı cironun toplamı
SUM(a.Cost) as Cost #ilgili anahtar kelimelerin aldığı harcamaların toplamı
FROM
`dataset_name.Campaign_YourCustomerID` AS b #yukarıdaki b.CampaignName buraya ait. kampanya tablosundan kampanya ismi bilgisi çekiyoruz.
JOIN
`dataset_name.KeywordBasicStats_YourCustomerID` AS a #yukarıdaki a. ile başlayanlar anahtar kelime istatistikleri tablosundan çekiliyor.
ON
a.CampaignId = b.CampaignId
AND b._DATA_DATE = ‘2021-04-08’#bu sembolik. eski kampanyaları almamak için yakın bir tarih seçtim.
WHERE
a._DATA_DATE BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 8 DAY)
AND DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY) #son 7 gündeki datalara göre analiz yapıyoruz burada.
AND b.CampaignName LIKE ‘%SRCH%’ #sadece arama ağı kampanyalarını analiz etmesi için.
GROUP BY
1,
2,
3
ORDER BY
CriterionId DESC

BigQuery SQL Sorgu 2

Aşağıdaki sorguyu çalıştırın ve çıkan sonucu yine ‘Save Results’a basarak BigQuery tablosu olarak kaydedin. Tablo ismini ‘match_types’ olarak girebilirsiniz.

SELECT distinct CriterionId, KeywordMatchType FROM `dataset_name.Keyword_YourCustomerID` group by 1,2

BigQuery'de bir sonucu tablo olarak kaydetmek.
BigQuery’de bir sonucu tablo olarak kaydetmek.

BigQuery SQL Sorgu 3

sorgu 3 - anahtar kelime eşleme türüne göre performans analizi

SELECT
c.KeywordMatchType, #2.sorguda oluşturduğumuz tablodan anahtar kelime eşleme türünü çekiyoruz.
SUM(a.Clicks) as Clicks,
SUM(a.Impressions) as Impressions,
SUM(a.Value) as Revenue,
SUM(a.Cost) as Cost,
ROUND(SUM(a.Cost) / SUM(a.Clicks),3) as CPC,
ROUND(SUM(a.Clicks) / SUM(a.Impressions),3) as CTR
FROM `dataset_name.keyword_performance` as a #1.sorgu sonucunda oluşturduğumuz tablo
join `dataset_name.match_types` as c #2.sorgu sonucunda oluşturduğumuz kablo
on a.CriterionId = c.CriterionId
where a.CampaignName like ‘%SRCH_GNRC%’
group by 1

BigQuery Analiz Sonucu

Sonuç olarak, seçtiğiniz tarih aralığına göre anahtar kelimelerinizin eşleme türüne göre performanslarını analiz edebileceksiniz.

Phrase: Sıralı eşleme

Exact: Tam eşleme

Broad: Geniş eşleme

bigquery anahtar kelime eşleme türüne göre performans analiz sonuçları

 

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 katılın;

https://t.me/boosmart

Diğer içeriklerimizi de inceleyin:

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

Google Ads 12 Nisan 2021

BigQuery ile Google Ads – DSA’de Tetiklenen Ama Hedeflenmeyen Terimler

Eren Dağlar

Türkiye’de alışveriş reklamlarının arama sonuçlarından kaldırılmasından sonra dinamik arama ağı (DSA) kampanyalarının önemi çok arttı. Alışveriş reklamları varken, dinamik arama ağı kampanyalarına ayırdığımız bütçe, toplam aylık bütçemizin belki %15-20’sini kapsarken artık %40-45’ini kapsamaya başladı.

Dinamik arama ağı kampanyalarına bildiğiniz gibi anahtar kelime (keyword) ekleyemiyoruz. Websitemizin, organik index’inden faydalanarak kullanıcıların yaptığı aramaları alakalı açılış sayfasıyla eşleştirip reklam gösteriyor.

Google Ads‘te arama ağı kampanyalarında hedeflediğimiz bir kelime, bazen dinamik arama ağı kampanyalarında da tetikleniyor olabilir.  Şöyle bir soru geliyor aklıma. Dinamik arama ağından tetiklenen kelimelerden, benim normal arama ağı kampanyalarında hedeflemediğim var mı? Bunu analiz ederek reklam vermediğim kelimeleri bulup, bunları arama ağı kampanyalarında hedefleyebilirim.

Bu analizi yapmak için BigQuery kullandım.

Verileri Google Ads’ten BigQuery’e Aktarma

Google Ads’ten Google BigQuery’e veri aktarımını sağlayabilmek için öncelikle BigQuery Data Transfer API‘yi etkinleştirmemiz gerekiyor. Bunu yapmak için Google Cloud Platform‘da iken sol taraftaki menüden APIs & Services menüsüne gelinir ve Library’e tıklanır. Açılan sayfadaki arama kısmına BigQuery Data Transfer yazıldığında ilgili API çıkacaktır. Bunu basit bir şekilde enable edebilirsiniz.

bigquery library menüsü
bigquery library menüsü

Data Transfer API’sini aktifleştirdikten sonra BigQuery’e geçilir. Açılan sayfada sol taraftaki sekmelerden Transfers’e tıklanır.

big query'de transfer menüsüne girmek
big query’de transfer menüsüne girmek

Ardından açılan sayfadan Create Transfer’e tıklanır. Çünkü Google Ads’ten veri çekmek için bir transfer oluşturacağız.

bigquery'de transfer oluşturma
bigquery’de transfer oluşturma

Aşağıdaki adımlar takip edilerek Transfer oluşturulur. Transfer’in başarı ile tamamlanması için BigQuery’e giriş yaptığınız adresin aynı zamanda ilgili Google Ads hesabında da ekli olması gerekir.

google ads transfer konfigürasyonları
google ads transfer konfigürasyonları

 

Transferi oluşturduktan sonra, oluşturduğunuz transferin içine girip çalışıp çalışmadığını kontrol edebilirsiniz. İlk verilerin gelmesi zaman alabilir. Transfer başarılı tamamlanıyorsa başında yeşil check olur.

bigquery transfer geçmişi
bigquery transfer geçmişi

 

Transfer gerçekleştiği zaman BigQuery’de verilerin aktarıldığı dataset’in altında aşağıdaki gibi birçok tablo göreceksiniz. Bu tablolar, Google Ads’ten gelen verilerin gruplandığı yer. Biz bu tablolar arasından arama terimleriyle ilgili olan tablodan veri çekeceğiz.

bigquery google ads tablolar
bigquery google ads tablolar

BigQuery ile Google Ads Analizimizi Oluşturma

Google Ads verileriniz BigQuery’e akmaya başladıktan sonra aşağıdaki SQL komutlarıyla analizinizi yapabilirsiniz. En aşağıya kopyalamanız için de yapıştıracağım.

bigquery sql sorgusu
bigquery sql sorgusu

Sonuçlar ise aşağıdaki gibi olacak. Siz isterseniz click, conversion value gibi metrikleri de dahil edebilirsiniz. SQL üzerinden mofidiye işlemlerinizi yapabilirsiniz.

bigquery analiz sonuçları
bigquery analiz sonuçları

SQL Sorgusu

with dsa_queries as(
SELECT
query.CampaignId as qCampaignId,
campaign.CampaignName as qCampaignName,
query.Query as qQuery,
SUM(query.Impressions) as qTotalImpressions
FROM
`dataset_name.SearchQueryStats_YourCustomerID` AS query
join `dataset_name.Campaign_YourCustomerID` AS campaign
on query.CampaignId = campaign.CampaignId and campaign._DATA_DATE = ‘2021-04-09’
where campaign.CampaignName like ‘%Product%’ and Date between DATE_SUB(CURRENT_DATE(),INTERVAL 8 DAY) and DATE_SUB(CURRENT_DATE(), INTERVAL 2 DAY)
group by 1,2,3
), search_queries as (

SELECT
query.CampaignId as sCampaignId,
campaign.CampaignName as sCampaignName,
query.Query as sQuery,
SUM(query.Impressions) as sTotalImpressions
FROM
`dataset_name.SearchQueryStats_YourCustomerID` AS query
join `dataset_name.Campaign_YourCustomerID` AS campaign
on query.CampaignId = campaign.CampaignId and campaign._DATA_DATE = ‘2021-04-09’
where campaign.CampaignName not like ‘%DSA_%’ and Date between DATE_SUB(CURRENT_DATE(),INTERVAL 8 DAY) and DATE_SUB(CURRENT_DATE(), INTERVAL 2 DAY)
group by 1,2,3
order by SUM(Impressions) desc),

combinedtable as(
select
dsa_queries.qQuery,
SUM(dsa_queries.qTotalImpressions) as tImpressions
from dsa_queries
left join search_queries
on search_queries.sQuery = dsa_queries.qQuery
where search_queries.sQuery is null
group by 1
)
select * from combinedtable
order by tImpressions desc

 

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 katılın;

https://t.me/boosmart

Diğer içeriklerimizi de inceleyin:

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

Dijital Pazarlama 28 Mart 2021

GTM ile Tag’i Belirlenen Süre Sonrasında Tetiklemek

Eren Dağlar

Google Tag Manager’de, bir etiketi (tag) tetiklemek için, belirli bir süre geçmesini istediğiniz durumlar olabilir. Örneğin;

sayfada belli bir süre geçtikten sonra ortaya çıkan bir html element’inin class bilgisini almak,

sayfada belirli bir süre geçtikten sonra değişen bir uyarı metnini takip edebilmek

gibi durumlar düşünebilirsiniz. Bugün bu tarz işlere ihtiyacınız yoksa bile eğer websiteniz için Tag Manager kullanan biri iseniz ileride birgün yüksek ihtimalle ihtiyaç duyabilirsiniz.

Tag Manager’da “Timer” tetikleyicisi ile zamana bağlı tetikleme işlemleri yapılabilir. Fakat bu yazıda anlatacağım çözüm, daha esnek ve sizin özelleştirmeleriniz dahilinde yapılan bir tetikleyici olacak.

Örnek Olay

İnternet sitesinde bilgi formu doldurulup submit edildikten sonra “Form gönderiliyor” şeklinde bir bilgi geliyor. 6.5 saniye sonra ise aynı yerde “Form Başarıyla Gönderildi” yazıyor.

Google Tag Manager ile ilgili mesajın gözüktüğü DIV’in class adını çekebiliyoruz. Ama bu bir işimize yaramıyor. Çünkü formun doldurulduğu sayfada, “Form Gönderiliyor”  mesajının gözüktüğü yerdeki DIV tag’inin class adı “alert-sending” iken “Form Başarıyla Gönderildi” metni geldiğinde ilgili class adı “alert success” oluyor. Yani sayfa tekrar yüklenmeden, dinamik bir şekilde ilgili elementin class adı değişiyor. Sayfa ilk yüklendiğinde DIV tag’inde “alert success” verisi yok. Form doldurulup başarıyla submit edildikten 6.5 saniye sonra “alert success” verisi geliyor. Dolayısıyla öyle bir tetikleyici üretmeliyiz ki, 6.5 saniye sonra çalışmalı ve o çalıştığı andaki DIV tag’inin class adını çekmeli. Yani “alert success” verisini.

Tag Manager’da yeni bir tag oluşturuyoruz ve içine aşağıdaki kodu yapıştırıyoruz. Değiştirebileceğiniz özellikler kodda yazmakta. Ben bu kodu, “formu gönder” butonuna tıklandığında çalışacak şekilde kurdum. Daha doğrusu, “formu gönder” butonuna tıklandıktan 6.5 saniye sonra çalışacak şekilde 🙂

custom timer javascript kodu
custom timer javascript kodu

Kodumuz aşağıdaki gibi. Bunu Custom HTML tag’i oluşturup içine yapıştırınız.

<script>
(function() {
// CHANGE THESE THREE:
var eventName = ‘custom.timer’; // The event name that is pushed into dataLayer
var interval = 6500; // The interval in milliseconds
var limit = 1; // The number of times the timer fires

// OTHER SETTINGS:
var timerNumber = 1;
var startTime = new Date().getTime();

var fireTimer = function() {
var timeNow = new Date().getTime();
window.dataLayer.push({
‘event’ : eventName,
‘custom.timerCurrentTime’ : timeNow,
‘custom.timerElapsedTime’ : timeNow – startTime,
‘custom.timerStartTime’ : startTime,
‘custom.timerEventNumber’ : timerNumber,
‘custom.timerId’ : timerId,
‘custom.timerInterval’ : interval,
‘custom.timerLimit’ : limit
});
timerNumber += 1;
if (limit < timerNumber) {
window.clearInterval(timerId);
}
};

var timerId = window.setInterval(fireTimer, interval);
})();
</script>

Bu kod 6.5 saniye sonra çalışacak ve datalayer’a “custom.timer” adlı event’i gönderecek. Çünkü ismini bu şekilde belirlemiştik. Siz süresini değiştirebililirsiniz.

Daha sonra Tag Manager’da bir event listener oluşturup , bunu istediğiniz tag için kullanabilirsiniz. Yeni bir trigger oluşturup, trigger tipini “Custom Event” seçip aşağıdaki adımları takip ederek oluşturabilirsiniz.

custom-timer-trigger
custom-timer-trigger

Aşağıda da çalışmasını video şeklinde paylaşıyorum. Önce formu gönderme butonuna basılıyor. Basıldığı anda kodumuz tetikleniyor.  Eğer form başarılı şekilde gönderilmiş ise 6.5 saniye sonra custom timer event’imiz tetikleniyor. Bu da Tag Manager’ın formun gönderilmesini takip edebildiğini gösteriyor.

Yararlandığım kaynak: https://www.simoahava.com/gtm-tips/timer-trigger/

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/

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/

 

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/

 

Dijital Pazarlama 15 Şubat 2021

Dönüşümleri Artıracak Akıllı Teklif Stratejileri

Nurseli Demir

Google Ads Teklif Stratejisi Nedir?

Teklif Stratejileri, hedef kitlemizin reklamlarımızla yapmış oldukları etkileşimleri sonucunda elde edilen bütün sinyalleri aynı anda takip ederken, bu verileri makine öğrenmesi ile harmanlayarak reklamlarımızın performansının artmasına yardımcı oluyor. Bütün bunları manuel olarak takip etmek oldukça fazla zaman ve efor gerektirdiği için, Google Ads’in bize sunmuş olduğu dönüşümleri artıracak Akıllı Teklif Stratejileri, bilinen diğer adıyla “ Smart Bidding Strategies”i en doğru şekilde anlamamız ve kullanmamız bize birçok yönden fayda sağlayabilir.  

Kullanım alanları kampanya türlerine göre değişen “Teklif Stratejileri”; gösterim, tıklama, dönüşüm, ROAS (reklam harcamalarının getirisi), CPA (sonuç başına maliyet) gibi çeşitli kampanya hedeflerinize göre belirlediğiniz bir Google Ads özelliğidir. Bu özellik, sahip olduğunuz bütçeyi optimum düzeyde harcayarak, daha iyi maliyetlerle verimli sonuçlar elde etmenize olanak tanıyabilir.

Kampanyalarınız için doğru Google Ads Teklif Stratejisini belirlemeden önce, hedefinizin ne olduğunu belirlemeniz gerekmektedir. 

Amacınız bir kampanya için trafiğinizi artırmak, bir diğer kampanyanız için ise dönüşüm artırmak olabilir. Sonrasında ise maksimum harcayabileceğiniz bütçeyi belirlemeniz ve elinizdeki geçmiş verilerle doğru kararları vermeniz gerekebilir.

 Conversion ve Conversion Value odaklı bid stratejiler

Dönüşümleri Artırmak için Hangi Akıllı Teklif Stratejisi Tercih Edilmeli?

Google Ads’in makine öğrenimi ile reklamlarımızı optimize etmeye olanak tanıdığını hepimiz biliyoruz. Dönüşüm odaklı Akıllı Teklif Stratejileri, Google Ads’in makine öğrenimi sayesinde dönüşümleri en üst düzeye çıkarmak için her bir açık artırmada dönüşüm gerçekleşme potansiyelini değerlendirdiği gerçek zamanlı tekliflerdir. Yani sizin manuel olarak teklif belirlemenize gerek kalmadan, sistem otomatik olarak en doğru teklifi belirler. Üstelik bunu, dönüşüm gerçekleştiren kullanıcıların kullandıkları cihaz, bulundukları lokasyon, tercih ettikleri saat dilimi ve kullandıkları dil gibi bir çok sinyali de göz önünde bulundurarak gerçekleştirir. Bu sayede makine öğrenimi en doğru kişiyi en doğru anda yakalayarak istediğiniz dönüşümü elde etmenize olanak tanır.

Dönüşüm odaklı stratejileri kullanmanız için Google Ads hesabınızda “Dönüşüm”lerin (conversion) takip ediliyor olması gerekiyor. 

Aşağıdaki maddelerden amacınıza en uygun Teklif Stratejilerini inceleyebilir, size en uygun olanı Google Ads kampanyalarınızda kullanabilirsiniz.

 

Hedef Edinme Başına Maliyet (Target CPA)

Hedef EBM (Target CPA) tamamiyle otomatik olarak işleyen bir teklif stratejisidir ve reklam verenlerin dönüşüm (conversion) başına harcanacak maliyetini belirlemelerine olanak tanır. Google bu teklif stratejisini kullanmanız için reklam hesabınızın son 30 günde en az 30 adet dönüşüm elde etmiş olmasını öneriyor.  

Öncelikle Hedef EBM teklif stratejisinde kampanya için maksimum CPA, yani Edinme Başına Maliyet değeri belirlenmesi gerekmekte. Makine öğrenimi ise bu hedef doğrultusunda elde edebileceği maksimum dönüşümü (conversion) elde etmeye çalışacaktır. Yani her bir dönüşüm için harcayacağınız hedef CPA değerini yakalamaya çalışacaktır.

Target CPA Akıllı Teklif Stratejisi

Target CPA değeri nasıl belirlenir? 

Bunun için kampanyanızın son 15, 30, 45, 60 gündeki gerçekleşen CPA değerine bakmanız gerekebilir. Target CPA değerini belirlerken geçmişte gerçekleşen CPA değeri size referans olacaktır. Burada amacımız, sizin için bir dönüşümün maliyetinin en fazla ne kadar olması gerektiğini hesaplamaktır. Bu size Target CPA değerinizi verecektir. Eğer Target CPA değerinizi gerçekleşen değerinden düşük tutarsanız, Google bu maliyetle conversion getiremeyeceği için kampanya para harcamamaya başlayacaktır. 

Örneğin kampanyanın son 30 gündeki CPA değeri 10 TL ise ve siz “ben 2 TL’den dönüşüm elde etmek istiyorum” şeklinde düşünüp 2 TL hedef verirseniz, makine öğrenimi bunu gerçekleştirmeye çalışmak için hacmi daraltıp harcamalarınızı düşürecektir. Yani 2 TL maliyetle dönüşüm elde edebilirsiniz günün sonunda fakat istediğiniz sayıda dönüşüm elde edemeyebilirsiniz. Bu sebeple gerçekçi ve optimum bir Target CPA belirlemeniz gerekmekte.

Target CPA hangi durumda kullanılabilir?

Target CPA, belirli bir dönüşüm maliyeti hedefleyen reklamverenler için tercih edilebilir. Genellikle Lead Generation odaklı markalar tarafından tercih edilen Target CPA teklif stratejisini, elinizde geçmiş veriye dayalı dönüşüm başına maliyet bilgisi varsa da rahatlıkla tercih edebilirsiniz. Bu sayede doğru bir teklif vererek Google’ın bu maliyetlerde dönüşüm getirmesini sağlayabilirsiniz.

Target CPA (Hedef EBM) teklif stratejisi sürekli kontrol gerektiren ve aynı gün içinde %25’den fazla bir oranda değişiklik yapılmaması gereken bir teklif stratejisidir. Yani Target CPA hedefiniz 10 TL ise, onu en az 7.5 TL’ye, en fazla 12.5 TL’ye çıkarmanız önerilir. Daha yüksek oranda yapılan değişiklikler makine öğrenmesine zarar verebilir.

Şunu da belirtmeliyiz ki belirlediğiniz Target CPA değerine her gün müdahale etmek doğru bir karar olmayacaktır. Yaklaşık 2 haftalık gözlemleriniz sonucunda bu değeri gerçekleşen değerlere yakın olacak şekilde güncellemenizi önerebiliriz. Fakat bu değişiklikler her zaman için istenen sonucu vermeyebilir. Örneğin markanız için hareketli bir sezondan durgun bir sezona geçiş yapıyorsanız, Target CPA değerinizi düşürmek hem trafiğinizi, hem de elde edebileceğiniz dönüşüm sayısını düşürmenize sebep olabilir. Bu sebeple Target CPA değerinizde radikal değişiklikler yapmadan önce sezonsallık, rekabet gibi durumları da göz önünde bulundurmanızda fayda var.

 

Hedef ROAS (Target ROAS)

ROAS, reklam harcamalarınız sonucunda elde ettiğiniz yatırım getirisini ifade eder ve ROAS = (Gelir) / (Maliyet) * 100 formülü ile hesaplanır. 

Yani bir kampanya için 100 TL harcamış ve bunun sonucunda 200 TL gelir elde etmişseniz, burada ROAS değeriniz 200/100*100, yüzde olarak ifade edersek de %200 olacaktır. Bu da reklam yatırımınızın %200’ü, yani 2 katı kadar ciro elde ettiğiniz anlamına gelmektedir.

Target ROAS Akıllı Teklif Stratejisi

Target ROAS değeri nasıl belirlenir?

Target ROAS için hedef belirlerken, kampanyanızın son 15, 30, 45, 60 gündeki gerçekleşen ROAS (conv. value / cost) değerine bakmak, yani kampanyanızın gerçekleşen ROAS değerinden yararlanmak, en doğru kararı vermenize yardımcı olacaktır. Bu sayede, e-ticaret sitenizdeki bir satıştan elde edilen değerin (conversion value), reklam maliyetinizin yüzde kaçına eşit olması gerektiğini Google’ın makine öğrenimine bildirirsiniz ve Google da size bu ROAS değerine yakın değerler getirmeye çalışarak karlılık elde etmenize yardım eder.

Target ROAS hangi durumlarda kullanılabilir?

Google, reklam hesabınızda son 30 günde en az 50 dönüşüm gerçekleştiği takdirde Target ROAS kullanılmasını önermekte. Aynı zamanda websitenizde veya uygulamanızda yer alan dönüşüm değerlerinizi (gerçekleşen alışverişin tutarı) dinamik olarak takip eden ve Google Ads’e aktaran, Google Ads Conversion Tag’inin (Google Ads Dönüşüm Etiketi) ekli olması gerekmektedir. Böylelikle müşterilerinizin hangi reklam sayesinde, ne kadar maliyetle, ne kadarlık ürün satın aldığını Google Ads’in öğrenmesine ve buna göre makine öğrenimini geliştirmesine olanak tanırsınız

Eğer bu iki şartı da sağlıyorsanız ve dahası reklam yatırımınız ile bunun sonucunda tahmini ne kadar ciro elde edebileceğinizi geçmiş veriye bakarak belirleyebiliyorsanız, Target ROAS tam size göre bir teklif stratejisi olabilir. 

Örneğin bir e-ticaret siteniz olduğunu ve Google Ads üzerinde geçmişe dayalı veriye sahip olduğunuzu varsayalım. Target ROAS teklif stratejisi, reklam maliyetlerinizi optimum düzeyde tutarak, karlılığınızı artırmayı amaçlar. 

Target ROAS değeri nasıl çalışır? 

Target ROAS değerinizi %400 olarak girdiğiniz bir senaryoda Google size maliyetinizin 4 katı ciro kazandırmaya çalışacaktır. Eğer gerçekleşen ROAS değeriniz %200 ise ve siz %400 Target ROAS belirlemişseniz, Google Ads bu ROAS’ı kısa vadede getiremeyeceği için kampanya harcama yapmayı azaltabilir. Bu sebeple gerçekleşen değerlere göre teklif belirlemeniz önemlidir. Eğer Target ROAS ile çalışan bir kampanya harcama yapmayı azaltmış ise, burada ROAS değerini düşürmeyi deneyebilirsiniz. 

Burada ayrıca belirtmeliyiz ki tüm kampanya ve hesaplar için genel geçer bir ROAS değeri belirtilemez. Her bir reklam hesabında ve kampanyada gerçekleşen ROAS değeri, satılan ürünlerin satış değeri, satın alma potansiyeli gibi kriterler ile doğru orantılı olarak şekillenecektir. 

Target ROAS değeri de tıpkı Target CPA gibi sürekli kontrol gerektirmekle birlikte değerler üzerindeki değişiklikler günlük olarak yapılmamalıdır. Aksi durumlar olmadıkça aynı gün içinde %25 oranından yüksek bir ölçüde değişiklik yapılmamalıdır. Yani ROAS değerimiz %1000 ise; bunu en az %750’ye düşürmeniz veya en çok %1250’ye çıkarmanız önerilir. Daha fazla oranda yapılan değişiklikler makine öğrenmesine zarar verebilir. 

Kampanya üzerindeki 1-2 haftalık gözlemleriniz sonucunda Target ROAS değerini, gerçekleşen ROAS değerlerine göre revize etmeniz gerekebilir. Burada da sezonsallık, rekabet gibi konuları göz önünde bulundurarak doğru kararı vermek gerekmektedir. Yanlış verilen bir karar hem trafiğinizi, hem de elde edebileceğiniz dönüşüm değerlerini düşürmenize sebep olabilir. 

 Belirtmekte fayda var ki ROAS teklif stratejisi tıklama başına ücret almaktadır. Yani reklamınız ne kadar tıklanırsa o kadar ücret ödersiniz.

 

Dönüşümleri Artırma (Maximize Conversion)

 Bu teklif stratejisini kullanmak için de yine Google Ads dönüşümlerinin (conversion) hesabınızda olması gerekmektedir. Belirlediğiniz bütçenin tamamını harcayarak dönüşüm sayınızı maksimize etmek istiyorsanız Dönüşümleri Artırma yani Maximize Conversion teklif stratejisini tercih edebilirsiniz.

Maximize Conversion

Maximize Conversion hangi durumlarda kullanılabilir?

Bu teklif stratejisinde ROAS değeri belirlemek veya CPA değeri belirlemek gibi işlemler bu teklif stratejisinde yoktur, yani manuel olarak yapmanız gereken bir iş yükü Target CPA ve Target ROAS’a göre daha azdır. Bu da size zaman kazandırırken, bütçeniz doğrultusunda en yüksek sayıda dönüşüm elde etmenize olanak tanır. Fakat Maximize Conversion teklif stratejisi hedef değer belirlemenize olanak tanımadığı için olası yüksek maliyetlerin önüne geçebilmek için kampanyaları sürekli olarak takip etmeniz gerekecektir. 

Aynı zamanda bu teklif stratejisinin tercih edilebilmesi için Google’ın makine öğrenmesinde kullanabileceği geçmişe dayalı bir verinin bulunması gerekmektedir. Google geçmişte gerçekleşmiş olan dönüşümleri hesaplar ve her açık artırma için doğru teklife karar verir. Eğer hesabınızda geçmişe dönük bir dönüşüm (conversion) verisi yoksa, bu teklif stratejisini kullanmak maliyetlerinizi yükseltmek dışında bir sonuca ulaştırmayabilir.

Kısacası bu teklif stratejisi reklam harcamasındaki karlılık veya dönüşüm başına maliyet hedefi olmayan, bütçesiyle maksimum dönüşümü elde etmeye çalışan reklamverenler için uygun diyebiliriz.

Dönüşüm oranınızı düzenli olarak artırmak için “Dönüşüm Oranlarını Artırmak için Her Ay Yapılacak 11 Şey” adlı blog yazımızı okuyabilirsiniz.

Dönüşüm Değerini En Üst Düzeye Çıkarma (Maximize Conversion Value)

Bu strateji ile Google Ads, en yüksek dönüşüm değerini elde ederken, bütçenizin tamamını harcamaya çalışır. Yani bu sefer maksimize edilen değer dönüşüm sayısı değil, belirlediğiniz dönüşümün değeri olacaktır. Daha çok e-ticaret için kullanılan bir teklif stratejisidir.

Maximize Conversion’da dönüşüm sayısını artırmak amaçlanırken, Maximize Conversion Value ile dönüşümlerden gelen dönüşüm değeri (conversion value) artırılmaya çalışılır ve Google en yüksek ciroyu getirmek üzere reklamları ilgili kitleye doğru zamanda göstermeye çalışır. 

Maximize Conversion hangi durumlarda kullanılabilir?

Google, geçmişe dayalı kampanya verilerinin olması durumunda Maximize Conversion Value teklif stratejisinin kullanılmasını önermekte. Eğer bütçenizin tamamını harcamak ve dönüşüm sayısından çok bu dönüşümlerin sağlayacağı ciroyu önemsiyorsanız, Maximize Conversion Value teklif stratejisini göz önünde bulundurabilirsiniz. 

 

Geliştirilmiş Tıklama Başına Maliyet (Enhanced CPC)

 Google bu teklif stratejisi ile CPC değerini benzer seviyede tutmaya çalışırken, dönüşümleri artırmayı hedefler. 

Bu teklif stratejisi, Manuel Teklif Stratejilerine (Manuel Bidding Strategies) oldukça benzese de, burada CPC için belirlediğiniz teklif üzerinden, Google’ın kendi algoritmasına göre ayarlamalar yapmasına olanak tanırsınız. Yani Google manuel olarak belirlediğiniz Tıklama Başına Maliyetinizi, faydalı olacağını düşündüğü bir noktada artırabilir veya azaltabilir. Bu da siz farkında olmadan gerçekleşen CPC değerlerinizin markanız için belirlediğiniz hedeflerinizin dışında gerçekleşmesine sebep olabilir.

Enhanced CPC

Teklif Stratejisi Tercih Edildikten Sonra Ne Yapılmalı?

Google bize birçok akıllı teklif stratejisi sunuyor, bunlardan bazıları daha az müdahale gerektirirken, bir kısmı da geçmişte gerçekleşen değerlerinizden elde ettiğiniz sonuçlara göre karar vermenize olanak tanıyor. Fakat hangi teklif stratejisini tercih ederseniz edin, kampanyalarınızın gerçekleşen CPC, CTR, CPA, Conversion Value, Conversion Rate gibi birçok metriğini düzenli olarak incelemeniz ve sezonsallık, rekabet, maliyet, reklam metinlerinin eskimesi gibi durumları da göz önünde bulundurarak anlamlı bir sonuç çıkarmanız ve bu sonuca göre de gerekli optimizasyonların yapılması gerekmektedir. Aksi halde maliyetleriniz yükselirken, hedefinizden uzaklaşmanız söz konusu olabilir. 

Kısacası Google Ads bize sonuca ulaşmak için birçok yöntem sunuyor. Bunlardan hangisini ne zaman tercih edeceğimiz ise tamamen hedefimize ve o anın şartlarına göre şekilleniyor.

 

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 katılın;

https://t.me/boosmart

Diğer içeriklerimizi de inceleyin:

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

Dijital Pazarlama 04 Şubat 2021

Merchant Center İçin Hata Denetleyici Google Ads Script

Eren Dağlar

Google Ads’te alışveriş reklamları yapabilmek için Google Merchant Center kullanırız. Merchant Center’a da ürünlerimizi yükleriz ve bu ürünler; txt, XML Feed, Content API gibi yöntemlerle hep güncel ve stoklu olacak şekilde Merchant Center’a aktarılır. Alışveriş reklamlarının (Shopping Ads) efektif ilerlemesi için ise en önemli optimizasyonlardan biri, ürünlerimizin bulunduğu feed’in sağlıklı olması. Sağlıklı derken kastettiğim ise feed’teki ürünlerin minimum %95’inin aktif bir şekilde reklama uygun olması.

Aşağıdaki ekran görüntüsünde bir feed’in içindeki ürünlerin durumunu görebilirsiniz. Reklama uygun ürünler feed’in %99’unu kapsıyor. Grafikte görebileceğiniz gibi bazen ürünlerin onaylanmama oranı yükseliyor. Bu tip durumlarda ise alışveriş reklamlarının optimizasyonu olumsuz anlamda etkilenebiliyor. Reklamları yöneten kişinin ise “acaba bir hata var mıdır?” diye sürekli olarak Merchant Center’a gidip kontrol etmesi gerektiği durumlar olabiliyor. Fakat bu durum, kişinin zaman yönetimi açısından efektifliğini düşüren bir yol olabilir. Ya da aklına geldiğinde bakmak isteyebilir fakat bu sefer de eğer feed’te bir problem olmuşsa geç fark edebilir.

Örnek bir olay vermek gerekirse,  reklamları yöneten kişi Cuma günü mesai bitiminde Merchant Center’a girip feed’in durumuna baktı diyelim, ve bir sorun bulmadı. Ürünler gayet aktif. Cumartesi günü sabah ise sitedeki teknik bir problemden dolayı feed düzgün çalışmadı ve ürünlerin %40’ı onaylanmadı. Reklamları yöneten kişi ise Pazartesi sabahı kahvesini yudumlarken “bir Merchant Center’a girip ürünlerin durumuna bakayım” dedi, ve baktı. Gördü ki 2 gün boyunca ürünlerin %40’ı hatalıydı. Yani 2 gün boyunca reklamların makine öğrenmesi zarar görmüş, kampanya bütçesini tüketememiş ya da tüketmek için verimsiz harcama yapmış olabilir.

google merchant center ürün teşhisleri

Merchant Center Feed‘inde ürünler şu sebeplerden dolayı onaylanmayabilir:

  • Web sitesinin yazılım tarafında yapılan işlemlerden dolayı ürünlerin Merchant Center’a akışının etkilenmesi,
  • Ürünlerin XML, txt veya Content API ile export edilmesi sırasında oluşabilecek teknik problemler,
  • Google botlarının bazı ürünleri denetleyememesi
  • Google botlarının ürün sayfasında bir HTTP yönlendirmesi tespit etmesi
  • Sitede Merchant Center spesifikasyonlarına aykırı durumların tespit edilmesi (iade bilgilerinin yer almaması, sepete ekle butonunun çalışmaması, kargo ücret bilgilerinin olmaması, fake ürün vb.)
  • Google botlarının ürün resimlerini denetleyememesi
  • Ürün feed’inde bazı ürünlerin özelliklerinin eksik gelmesi
  • Ürünün GTIN barkod numarasının yanlış olması
  • Ürün sayfasındaki fiyat ile ürünün feed’e gönderilen fiyatının uyuşmaması
  • ve daha çok madde eklenebilir…

Bu sebepler nedeniyle feed’in sağlığını korumak için bir çözüm bulmak gerekiyor. Google Ads’te kuracağımız, Merchant Center ürün feed’inde hata olduğu zaman haber veren script, ansızın oluşabilecek problemlerden direkt bilgimiz olmasını sağlayacak. Yukarıda verdiğim örnekte, reklamları yöneten kişinin bu script’i kullandığını düşünelim. Cumartesi sabahı feed’te bir problem oldu ve ürünlerin %40’ı onaylanmadı. Kişiye o an bir mail gidecek. Maili gören kişi, direkt ilgili kişilere bu bilgiyi verecek. Problemin çözülmesi bu şekilde zaman kaybetmeden sağlanmış olacak.

Merchant Center Hata Denetleyici Script Nasıl Kurulur?

İlgili Google Ads hesabına giriş yapılır. Giriş yapılan e-posta adresinin, admin seviyesinde yetkisi olması gerekmektedir.

Tools menüsünün altından Script sekmesine tıklanır.

google ads'te script oluşturma

Butona tıklanarak yeni bir script oluşturma ekranı açılır.

google ads scriptler

Buradan ulaşabileceğiniz script kodu kopyalanır ve açtığınız script ekranına aşağıdaki gibi yapıştırılır. Yapıştırdıktan sonra aşağıdaki gibi düzenlemeler yapılır.

google ads script düzenleme

Ardından sağ üst taraftan Advanced APIS butonuna tıklanır ve çıkan seçeneklerden Shopping Content seçilir.

google ads script api etkinleştirme

Bu işlemler bittikten sonra script kaydedilir. Feed’te oluşabilecek problemler ansızın meydana gelebileceği için script çalışma sıklığı hourly (saatlik) olarak ayarlanır. Böylece her saat çalışıp kontrol edecek ve bir problem olduğunda anında haberimiz olacak.

google ads script frequency

 

Merchant Center feed’inizde, ürünlerde bir problem olduğunda ise aşağıdaki gibi bir mail gelecek 🙂 Bu şekilde anında haberdar olup aksiyon aldırma ve sorunu çözme imkanına sahip olmuş olacaksınız.

merchant center script mail

 

Bu script’i uzun zamandır kullanıyorum ve gerçekten kullandığım en faydalı script’lerden. Zamanı verimli kullanma noktasında oldukça faydalı.

 

Bu ihtiyaca çözüm ararken bulduğum script’in kaynağını aşağıya bırakıyorum:

Link

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 katılın;

https://t.me/boosmart

Diğer içeriklerimizi de inceleyin:

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

Dijital Pazarlama 26 Ocak 2021

BigQuery ile Google Ads Arama Terimleri Performans Analizi

Eren Dağlar

Google Ads’te arama ağı (search) kampanyaları olsun, dinamik arama ağı (dynamic search ad) kampanyaları olsun belki de yüz binlerce arama teriminden (search term) görüntüleme veya tıklama alabiliyoruz. Bu arama terimleri bazen tek kelimeden, bazen 2-3 kelimeden hatta bazen 5-6 kelimeden oluşabiliyor. BigQuery ile Google Ads arama terimleri performans analizi  yapalım ve sonuçlara göre bir yorum çıkaralım. Tabii aşağıda göstereceğim çalışmanın çıktıları, sektörden sektöre farklılık gösterebilir. Bu sebeple çıktıları, genel-geçer doğrular olarak kabul etmemeliyiz. Sizlerin de çalıştığınız markalarda aynı çalışmayı yapabilmeniz için bir örnek olabilir. Bu şekilde aklımıza belki de arada sırada takılan “uzun arama terimleri VS kısa arama terimleri” karşılaştırmasıyla ilgili veriye dayalı çıktılar edinebiliriz.

Verileri Google Ads’ten BigQuery’e Aktarma

Google Ads’ten Google BigQuery’e veri aktarımını sağlayabilmek için öncelikle BigQuery Data Transfer API‘yi etkinleştirmemiz gerekiyor. Bunu yapmak için Google Cloud Platform‘da iken sol taraftaki menüden APIs & Services menüsüne gelinir ve Library’e tıklanır. Açılan sayfadaki arama kısmına BigQuery Data Transfer yazıldığında ilgili API çıkacaktır. Bunu basit bir şekilde enable edebilirsiniz.

bigquery library menüsü

Data Transfer API’sini aktifleştirdikten sonra BigQuery’e geçilir. Açılan sayfada sol taraftaki sekmelerden Transfers’e tıklanır.

big query'de transfer menüsüne girmek

Ardından açılan sayfadan Create Transfer’e tıklanır. Çünkü Google Ads’ten veri çekmek için bir transfer oluşturacağız.

bigquery'de transfer oluşturma

Aşağıdaki adımlar takip edilerek Transfer oluşturulur. Transfer’in başarı ile tamamlanması için BigQuery’e giriş yaptığınız adresin aynı zamanda ilgili Google Ads hesabında da ekli olması gerekir.

google ads transfer konfigürasyonları

 

Transferi oluşturduktan sonra, oluşturduğunuz transferin içine girip çalışıp çalışmadığını kontrol edebilirsiniz. İlk verilerin gelmesi zaman alabilir. Transfer başarılı tamamlanıyorsa başında yeşil check olur.

bigquery transfer geçmişi

 

Transfer gerçekleştiği zaman BigQuery’de verilerin aktarıldığı dataset’in altında aşağıdaki gibi birçok tablo göreceksiniz. Bu tablolar, Google Ads’ten gelen verilerin gruplandığı yer. Biz bu tablolar arasından arama terimleriyle ilgili olan tablodan veri çekeceğiz.

bigquery google ads tablolar

 

Google BigQuery’de SQL ile Analizi Oluşturma

Aşağıda SQL sorgularını görebilirsiniz. Her şeyin anlaşılması için her önemli satıra açıklamalar ekledim.

SQL Sorgu 1.kısım

bigquery google ads arama terimleri analizi sorgu 1.kısım

SQL Sorgu 2.kısım

bigquery google ads arama terimleri analizi sorgu 2.kısım

Sorguyu çalıştırdığınızda aşağıdaki gibi tablonuz gözükecektir. Analiz sonuçlarını şeffaf bir şekilde veremesem de sonuçlar hakkında bir özet verebilirim.

  • En fazla trafik çekilen arama terimi 3 kelimeden oluşuyor. En fazla para harcayan ve en fazla gelir getiren de aynı şekilde 3 kelimeden oluşuyor. Fakat en fazla impression (görüntüleme) alan arama terimleri 2 kelimeden oluşuyor. 1 kelimeden oluşan arama terimleri ise 2 ve 3 kelimeden oluşan arama terimlerinden daha az impression alıyor. Yani insanlar bu sektörde 1 kelime yazarak aramayı sevmiyor olabilir. Aramalarını spesifikleştirmekten yanalar.
  • Tıklama başına maliyette (cost per click) en ucuz grup 1 kelimeden oluşan arama terimleri. Fakat arama çok jenerik olduğu için tıklama oranı (CTR) en düşük grup da bu.
  • Arama terimindeki kelime sayısı artıkça, tıklama oranı artıyor. Fakat impression ve click azalıyor. Çünkü bildiğiniz gibi arama spesifikleştikçe yani detaylı hale geldikçe ilgi alaka artıyor fakat hacim azalıyor.
  • ROI (Return on Investment) yani yatırım getirisi değeri en iyi olan grup, 7 kelime içeren arama terimleri gözüküyor. Fakat gelir sıralamasında 7 kelimeden oluşan arama terimleri son sırada.
  • Arama terimindeki kelime sayısı artıkça ciro da azalıyor. Ancak ROI yükseliyor. Yani eğer uzun kelimeler içeren anahtar kelimeler hedefler isek dönüşüm oranımız (conversion rate) yüksek olabilir, evet. Fakat istediğimiz ciroları elde edemeyebiliriz. Yani basit bir matematikle 10 TL harcayıp 100 TL kazanırsak, cebimize 90 TL kalıyor diyelim. Ama 100 TL harcayıp 400 TL kazandığımızda cebimize 300 TL kalıyor. Yani yatırım getirisini düşürüyoruz buna rağmen (ROI) 10’dan 4’e çektiğimizde daha fazla ciro elde etmenin yanında daha fazla net gelir de elde edebiliriz. Yüksek gelir elde etmek istiyorsak bir şekilde uzun kelimeleri hedeflememeliyiz diye düşünmekteyim. Zaten uzun kelimeler çok az arandığı için istediğimiz harcamaları yapamayabiliriz. İstediğimiz harcamayı yapamayacağımız için istediğimiz ciroları da elde edemeyebiliriz. Eğer bütçe az ise ve yüksek gelirden çok ROI önemli ise o zamanlar uzun kelimeler hedeflenebilir.
  • Bu yorumlar son 30 günkü verilere ait yorumlardır. Çalışmayı yaptığınızda aşağıdaki gibi göreceğiniz words_count sütunu, arama teriminin kaç kelimeden oluştuğunu, count sütunu ise o sayıda kaç arama terimi olduğunu söyler. Diğer sütunlar ise o gruba ait metrikleri vermektedir.

 

bigquery google ads arama terimleri analizi sonuçlar

 

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 katılın;

https://t.me/boosmart

Diğer içeriklerimizi de inceleyin:

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

 

Dijital Pazarlama 16 Ocak 2021

Mobil Cihazlardan Elde Ettiğim Trafik Yeterli Mi?

Harun Ünlüsoy

Diyelim ki internet sitenizin mobil deneyiminden memnunsunuz ve elinizden geleni yaptığınızı düşünüyorsunuz. Peki burada mobil cihazlardan yapılan aramalardan yeterince trafik elde ettiğinizi ve bu konuda yaptığınız işin başarıya ulaştığını gösteren kriter ne olabilir? 

Mobil trafikten elde edilen trafik, birçok e-ticaret markasında zaten ilk sırada yer alıyor. Örneğin bir markanın trafiğinin %68‘ini mobil cihazlardan elde ediyor olması bir başarı mıdır? Bu konuya yanıt verebilmek için basit bir analiz yapacağız.

Mobil cihazlardan elde ettiğiniz trafik, sektör ortalamasına göre iyi mi yoksa kötü mü anlamak için aşağıdaki analizi yapın;

  • Search Console ekranında işinizi en iyi ifade eden ve trafik aldığınız kelimelerden bir veya birkaçını seçin. Bu kelimeleri bundan sonra “kritik anahtar kelimeler” olarak gruplandıracağız. Bu kelime gruplarını Search Console ekranında filtreleyin.
  • Search Console’da “Devices (Cihazlar)” sekmesine geçin ve mobil, masaüstü ve tablet cihazlardan elde ettiğiniz görüntülenme (impression) rakamlarının dağılımına bakın. Ardından elde ettiğiniz görüntülenme rakamlarının yüzdesel oranlarını belirleyin. Örneğin bizim örneğimizde mobil cihazlardan elde edilen görüntülenme 1400, masaüstünden 1000 ve tabletlerden 50 olarak bulunmuştur. Buna göre 1400 / (1400 + 1000 + 50) = %57 mobil cihazlardan aldığımız görüntüleme rakamının oranını verecektir.
  • Google Ads Anahtar Kelime Planlayıcı sayfasını açın.
  • Seçtiğiniz kritik anahtar kelimeleri girin ve “Historical Metrics (Geçmiş Metrikler)” sekmesine tıklayın.  
  • Sağ üstte “Breakdown by Platform (Cihazlara Göre Kır)” seçeneğini seçin. Anahtar Kelime Aracı’nda verisine bakmak istediğiniz dönemi tarih kısmından seçin. Search Console’da baktığınız tarih aralığı ile Anahtar Kelime Aracı’ndan seçtiğiniz zaman aralığının birbirine yakın olmasına özen gösterin.
  • Hizmet verdiğiniz ülke ve dilleri seçin.

Elde ettiğimiz son rapor aşağıdaki gibi bir rapor olacaktır. Buna göre örneğin “iPhone” kelimesi ilgili zaman diliminde %74 oranında mobil cihazlardan, %23 oranında ise masaüstü cihazlardan aratılmıştır.

Google Ads Anahtar Kelime Aracı’nda yukarıdaki adımları uyguladığınızda aşağıdaki gibi bir görünüm elde etmelisiniz;

google-ads-anahtar-kelime-araci

Aşağıdaki ekran görüntüsü, sadece “iPhone” kelimesinin filtrelendiği ve cihaz tiplerine göre elde ettiğimiz görüntülenme rakamlarını göstermektedir.

google-ads-anahtar-kelime-araci-iphone-kelimesi

Analizin Yorumlanması

  • Bu internet sitesi, en fazla trafiği %57 oranında aldığı görüntüleme rakamıyla mobil cihazlardan elde etmektedir.
  • Ancak Türkiye için yapılan bu analizde, ilgili anahtar kelime Türkiye’de %74.3 oranında mobil cihazlardan aratılmakta. Buna göre %57 oranında mobil cihazlardan bir görüntülenme alıyor olmak bir başarı olarak sayılamaz. Masaüstü cihazların oranının yüksek olması ise mobil cihazlardan alınan performansın düşük olmasından kaynaklıdır.
  • Eğer mobil cihazdan aldığınız görüntülenme oranı ilgili lokasyon ve ilgili zaman diliminde aranma hacminin cihaz kırılımına göre oranından geride kalıyorsa, mobil cihazlarda gideceğiniz çok yol var demektir.

Mobil cihazlara göre sitenizin hız performansını iyileştirmek için PageSpeed Insights https://developers.google.com/speed/pagespeed/insights/ linkine gidin ve mobil cihazlar için sunulan önerilere göz atın.

https://search.google.com/test/mobile-friendly linkine gidin ve sitenizin mobil uyumluluk değerlerine ve önerilerine göz atın.

Search Console hesabınıza giriş yapın ve https://search.google.com/u/0/search-console/mobile-usability linkine gidin ve sitenizde mobil cihazlar için tespit edilen hatalara ve önerilere göz atın.

Bu önerilerin ne anlama geldiğini uygulamak konusunda ne yapacağınızı bilmiyorsanız bize ulaşın.

YouTube kanalımıza abone olun.

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

Instagram hesabımıza abone olun

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

Dijital Pazarlama

Google Tag Manager ile UTM Parametrelerini Dinamikleştirmek

Eren Dağlar

Bazı markalar, blog siteleri oluşturup bu blog sitelerinden de ana siteye trafik çekme amaçları taşıyabilir. Bu doğrultuda blog siteleri için içerikler oluşturup daha sonra yapılan SEO çalışmaları neticesinde Google arama sonuçlarından trafik alıp blog ziyaretçilerini artırıyorlar. Bunun artırılmasıyla, blog sitesindeki içeriklerden yapılan ana site yönlendirmeleriyle birlikte ücretsiz bir şekilde ana siteye trafik çekmiş oluyorlar. Yapılan içerik pazarlaması çalışmalarıyla kazan-kazan bir durum oluyor. Tabii blog sitesindeki içeriklerde ana siteye yapılan yönlendirmelere manuel olarak UTM parametresi ekleme durumları olabiliyor. Google Tag Manager üzerinden kullanacağımız bir javascript koduyla dinamik olarak utm parametreleri oluşturup bu süreci çözmek mümkün.

İhtiyaç

Özellikle Google Analytics ile blog sitesindeki hangi içerikten ana siteye trafik gelmiş sorusu en çok merak edilenlerden oluyor. Bu durumda içeriği giren kişinin, içerikteki her bir yönlendirme linkine sırasıyla

utm_source
utm_medium
utm_campaign
utm_content

eklemesi gerektiği durumlar oluyor. Örnekle somutlaştırmak gerekirse aşağıda görebileceğiniz üzere içerik yazarının, her bir içerikteki yönlendirmelere manuel olarak UTM ekleme işi oluyor ve her bir içerikte 4-5 adet yönlendirme olsa (görseller ,videolar aracılığıyla olabilir) içerik yazarı için yorucu bir durum oluyor. Çünkü eğer marka, hangi içeriklerden ana siteye trafik geldiğini görmek istiyorsa içerik yazarının her bir linkte, utm_content değerini elle yazması gerekiyor.

icerik-utm-semasi

Google Tag Manager İle Çözüm

Bu işi otomatik bir sürece getirmek için çözümümüz var. Google Tag Manager üzerinden UTM eklemeyi dinamik bir süreç haline getirebiliriz.

<script >
(function() {
var links = document.querySelectorAll(‘a[href*=”www.ornek-site.com.tr”]’) // ana sitemize giden linkleri topluyoruz.

var addstring = “&utm_content={{Page Path}}”; // url’in sonuna utm_content olarak sayfanın url’ini ekliyoruz.
addstring = addstring.replace(///g, ‘-‘); // url’deki / işaretini silip yerine – yazıyoruz ki url’de temiz gözüksün.

links.forEach(function(link) { //her bir linkte döngüsel olarak bu işlemin otomatik yapılmasını sağlıyoruz.
var original_link = link.getAttribute(“href”);
if (original_link.includes(“utm_campaign=content&utm_medium=organic&utm_source=ornek-site”))

{ // if komutuyla, bu kodun, sadece utm içeren linklerde çalışmasını sağlıyoruz.
link.setAttribute(“href”, original_link + addstring) // orjinal linkimizin sonuna, utm_content’li veriyi ekliyoruz.
}
})
})();

<
/script>

Yukarıdaki kodu, aşağıdaki gibi Google Tag Manager’da Custom HTML tag’i oluşturup içine kopyalayabilirsiniz. Koddaki {{Page Path}} değişkeni, Google Tag Manager’ın default değişkenlerinden biri. Görüntülenen sayfanın url’ini depolayan bir değişken.  Koddaki site adını kendini sitenize göre değiştirmeniz gerekir. Yine utm parametrelerinin olduğu kısmı da kendi isteğinize göre özelleştirebilirsiniz.

google-tag-manager-dinamik-utm-ekleme-nasil-yapilir

 

Nasıl Çalışıyor?

Blog sitesindeki içeriklerinizde, ana siteye yönlendirme linki verdiğiniz linklere baktığınızda, Google Tag Manager’da yapılan çalışma ile yönlendirme linkinin değiştiğini görebilirsiniz. İçeriğin başlığı neyse linkte utm_content parametresine dinamik olarak gelecek. Bu doğrultuda isterseniz 1000 adet içeriğiniz olsun, 1000 adet içeriğin başlığı dinamik olarak yönlendirme linkine yerleşmiş olacak. Kodumuzda yer alan {{Page Path}} değişkeni bunu sağlıyor.

 

ogeyi-incele-dinamik-utm

ogeyi-incele-dinamik-utm-parametreleri

 

Google Analytics’te Nasıl Raporlanıyor?

Google Tag Manager’da utm_content parametresine içeriğimizin başlığını yazdırırsak, Google Analytics’te ad content (reklam içeriği) boyutunda görebiliriz. Ya da utm_term parametresine yazdırırsak Google Analytics’te keyword (anahtar kelime) boyutunda görebiliriz. Bu verileri Google Analytics’te custom report oluşturarak görebilirsiniz.

google analytics özel rapor oluşturma

google-analytics-custom-report

 

Yararlandığım kaynak: https://stackoverflow.com/questions/61688634/add-value-from-data-layer-variable-at-the-end-of-hyperlink

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 katılın;

https://t.me/boosmart

Diğer içeriklerimizi de inceleyin:

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