Google Ads Script – OpenAI ile Anahtar kelime önerileri

G

Şu günlerde yapay zeka teknolojileri hızla gelişiyor. İşimizi daha etkili bir şekilde yürütmek için yapay zekayı iş süreçlerimize entegre kullanmamız oludukça avantajlı bir durum sağlıyor. Özellikle Google Ads gibi platformlarda yapay zeka destekli öneriler almak, rekabette öne geçmemiz noktasında yardımcı olabilir.

Bu yazıda, Google Ads’teki arama kampanyaları için anahtar kelime önerileri/üretimi konusunda OpenAI’nin GPT-3.5 Turbo API’sini nasıl kullanabileceğimizi ele aldım.

NOT: GPT-3.5 Turbo, reklam metinleri ve anahtar kelime önerileri oluşturmak için oldukça etkili bir araç ancak belirtmekte fayda var ki, GPT-4’e kıyasla bazı konularda tatmin edici olmayabiliyor. Ne yazık ki GPT-4 API’si henüz geniş bir kullanıcı kitlesine sunulmadığı için, bu örnekte GPT-3.5 Turbo modelini kullanmamız gerekiyor.

Nasıl Çalışır?

Google Ads hesabımız üzerinde bir Komut dosyası oluşturacağız ve bu komut dosyası bizim için aşağıdaki işlevleri yerine getirecek;

  1. Kampanya Verilerini Alır:
    İlk adımda Google Ads API’sini kullanarak kampanyanın mevcut anahtar kelimelerini ve reklam metinleri alınır.
  2. OpenAI API İsteği Oluşturur:
    Kampanya verileri ile birlikte bir OpenAI API isteği oluşturur. Bu istekte, modelden kampanya için önerilen anahtar kelimeleri almak istediğimiz belirtilir.
  3. Anahtar Kelime Önerileri:
    GPT 3.5 API’si, kampanya için önerilen anahtar kelimeleri döndürür. Bu kelimeler, mevcut kampanya verilerine dayanır.

Kod Betiği

Aşağıdaki kod içerisinde {{OpenAI API Key}} ve {{Kampanya Kimlik Kodu}} alanlarını kendi bilgileriniz ile değiştiriniz. Daha fazla anahtar kelime fikir önerisi istiyorsanız “please list exactly 5 additional relevant…” kısmından prompt üzerinden değişiklik yapabilirsiniz.

Script’i önizleme moduna aldıktan sonra Log kayıtlarında anahtar kelime önerilerini görebilirsiniz.

function getAdGroupsAndKeywords(campaignId) {
  var adGroups = AdsApp
    .campaigns()
    .withIds([campaignId])
    .get()
    .next()
    .adGroups()
    .get();
  
  var adGroupKeywords = [];
  
  while (adGroups.hasNext()) {
    var adGroup = adGroups.next();
    var keywords = adGroup.keywords().get();
    var keywordList = [];
    
    while (keywords.hasNext()) {
      var keyword = keywords.next();
      keywordList.push(keyword.getText());
    }
    
    adGroupKeywords.push({
      'AdGroupName': adGroup.getName(),
      'Keywords': keywordList
    });
  }
  
  return adGroupKeywords;
}

function getKeywordSuggestions(adGroupName, keywords) {
  var openaiApiKey = '{{OpenAI API Key}}';
  var apiUrl = 'https://api.openai.com/v1/chat/completions';
  
  var messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": 'Given the ad group name: "' + adGroupName + '", ' +
             'and existing keywords: [' + keywords.join(', ') + '], ' +
             'please list exactly 5 additional relevant advertising keywords related to this ad group, separated by commas.'}
  ];

  var payload = {
    'model': 'gpt-3.5-turbo',
    'messages': messages
  };
  
  var options = {
    'method': 'post',
    'contentType': 'application/json',
    'headers': {
      'Authorization': 'Bearer ' + openaiApiKey
    },
    'payload': JSON.stringify(payload)
  };
  
  Utilities.sleep(10000); // Wait for 10 seconds

  var response = UrlFetchApp.fetch(apiUrl, options);
  var jsonResponse = JSON.parse(response.getContentText());
  
  return jsonResponse.choices[0].message.content.trim();
}

function main() {
  var campaignId = '{{Kampanya Kimlik Kodu}}';
  
  var adGroupKeywords = getAdGroupsAndKeywords(campaignId);
  
  for (var i = 0; i < adGroupKeywords.length; i++) {
    var adGroupName = adGroupKeywords[i].AdGroupName;
    var keywords = adGroupKeywords[i].Keywords;
    
    var keywordSuggestions = getKeywordSuggestions(adGroupName, keywords);
    
    Logger.log('Ad Group: ' + adGroupName + ', Additional Keyword Suggestions: ' + keywordSuggestions);
  }
}

main();

Sonuçlar ve Değerlendirme

İlk denemelerimi “text-davinci” modelleri üzerinde gerçekleştirdiğim için GPT-3.5 Turbo modelinin sağladığı sonuçlar, umutlarımı bir miktar artırdı 🙂 Elde edilen sonuçlar, kampanyayla oldukça uyumlu görünüyor. Ancak, bu tür modeller, kullanılan prompt’un ne kadar açık ve özelleştirilmiş olduğuna bağlı olarak farklılık gösterebilir. Bu nedenle, deneme yanılma yöntemine başvurmak gerekebilir. Gelecekte, GPT-4 API’sinin çok daha üstün bir performans sergileyeceğini düşünüyorum.

Deneme Log Çıktısı:

16.08.2023 00:59:08	Ad Group: Yurtdışı Kargo, Additional Keyword Suggestions: parcel delivery, international shipping, overseas shipping, international courier, international freight
16.08.2023 00:59:21	Ad Group: Ülke Kargo, Additional Keyword Suggestions: Türkiye kargo, Uluslararası kargo, Gönderi hizmetleri, Hızlı kargo, Güvenilir kargo
16.08.2023 00:59:40	Ad Group: E İhracat Kargo, Additional Keyword Suggestions: Sure, here are 5 additional relevant advertising keywords related to the ad group "E İhracat Kargo":

1. E-ticaret kargo (e-commerce shipping)
2. Hızlı kargo (fast shipping)
3. Küçük işletme kargo (small business shipping)
4. Uluslararası kargo (international shipping)
5. Online satış kargo (online sales shipping)

Please note that these keywords are suggestions and you may need to do further research to determine their suitability for your specific advertising needs.
16.08.2023 01:00:02	Ad Group: Yurtdışı Kargo, Additional Keyword Suggestions: When considering additional relevant advertising keywords related to the ad group "Yurtdışı Kargo," here are five suggestions:

1. Yurtdışı hızlı kargo (International express shipping)
2. Uygun fiyatlı yurtdışı kargo (Affordable international shipping)
3. Yurtdışı kargo taşımacılığı (International cargo transportation)
4. Türkiye'den yurtdışına kargo (Shipping from Turkey to abroad)
5. Hava kargo yurtdışı (Air cargo international)
16.08.2023 01:00:16	Ad Group: Ülke Kargo, Additional Keyword Suggestions: Ülke Kargo ad group additional keywords: [İngiltere kargo, İspanya kargo, İsrail kargo, İsveç kargo, İsviçre kargo]
16.08.2023 01:00:33	Ad Group: E İhracat Kargo, Additional Keyword Suggestions: Sure! Here are 5 additional relevant advertising keywords related to the ad group "E İhracat Kargo":

1. Uluslararası ihracat kargo
2. İhracat nakliye hizmetleri
3. Hızlı kargo şirketi
4. Online satış kargo
5. Küçük işletme kargo çözümleri

Sonuç

Yakın gelecekte, GPT-4 API’sinin daha üstün bir performans sunmasını beklemekle birlikte, mevcut imkanlar çerçevesinde GPT-3.5 Turbo’nun da oldukça etkili bir araç olduğunu belirtmeliyim. Ayrıca, kod geliştirmesiyle ilgili fikirleri paylaşmak için her zaman açığım.

Sonuç olarak, iş dünyasında yapay zekanın artan önemi, doğru stratejiyle kullanıldığında iş süreçlerini optimize etmeye ve başarıya ulaşmaya büyük destek sağlayabilir.

Yazar hakkında

Yorum Ekle

Kategoriler

Son Yazılar

360° Dijital Pazarlama

Reklam stratejileri markaların ihtiyaçlarını ve pazar koşullarını karşılamak için tamamen analitik yöntemler, rakip analizleri, testler ve optimizasyon süreçleri ile tasarlanır.

Dijital dönüşümü çok yakından takip ediyor, Dijital dünyada var olmak isteyen markalara destek veriyorum.