Bu, Google Ads komut dosyası geliştiricileri tarafından bildirilen yaygın sorunların bir derlemesidir.
Sık karşılaşılan JavaScript hataları
Yaygın JavaScript hatalarından bazıları şunlardır:
Komut dosyası "Cannot find function: FUNCTION_NAME" hatasıyla başarısız oluyor
Bu durum genellikle komut dosyasında işlev adının yanlış yazılmasından kaynaklanır.
İşlev adının doğru yazıldığından ve doğru büyük/küçük harf kullanımına sahip olduğundan emin olun. Örneğin,
AdsApp.keywordz()bu hataya neden olur çünkükeywordz, AdsApp sınıfında geçerli bir işlev değildir.AdsApp.Keywords(),keywords()işlevinin yanlış yazım durumu nedeniyle de başarısız olur.İşlevin mevcut olup olmadığını kontrol edin. Örneğin,
AdsApp.keywords().next()başarısız olur çünküAdsApp.keywords()birKeywordSelectordöndürürkennext(), birKeywordIteratornesnesi için yöntemdir. Doğru kodAdsApp.keywords().get().next()olur.
Senaryom çalışıyor ancak hiçbir şey yapmıyor
Bu sorunun en yaygın nedeni, bir işlemi gerçekleştiren bir işlevinizin olması ancak bu işlevi main() yönteminden çağırmamanızdır. Bu durum genellikle, dokümanlarımızdaki kod snippet'lerini kopyalayıp yapıştırdığınızda ortaya çıkar.
| Kodlama yaklaşımı | Kod snippet'i |
|---|---|
| 1. sürüm (çalışmıyor) |
function main() {
// Call to getCampaigns is missing, so this script does nothing.
}
function getCampaigns() {
// AdsApp.campaigns() will return all Search and Display campaigns
// that are not removed by default.
let campaignIterator = AdsApp.campaigns().get();
console.log('Total campaigns found : ' +
campaignIterator.totalNumEntities());
while (campaignIterator.hasNext()) {
let campaign = campaignIterator.next();
console.log(campaign.getName());
}
}
|
| Version 2 (doesn't work) |
function main() {
// Call to getCampaigns is missing, so this script does nothing.
function getCampaigns() {
// AdsApp.campaigns() will return all Search and Display campaigns
// that are not removed by default.
let campaignIterator = AdsApp.campaigns().get();
console.log('Total campaigns found : ' +
campaignIterator.totalNumEntities());
while (campaignIterator.hasNext()) {
let campaign = campaignIterator.next();
console.log(campaign.getName());
}
}
}
|
| 3. sürüm (çalışıyor) |
function main() {
getCampaigns();
}
function getCampaigns() {
// AdsApp.campaigns() will return all Search and Display campaigns
// that are not removed by default.
let campaignIterator = AdsApp.campaigns().get();
console.log('Total campaigns found : ' +
campaignIterator.totalNumEntities());
while (campaignIterator.hasNext()) {
let campaign = campaignIterator.next();
Logger.log(campaign.getName());
}
}
|
Senaryolarımı yükseltirken "getFinalUrl işlevi bulunamıyor" hatası alıyorum
Komut dosyanızı yeni sürüm URL'lerle çalışacak şekilde değiştirirken bu hatayla karşılaşabilirsiniz. Bu durum, ad.getDestinationUrl() çağrılarını ad.getFinalUrl() ile değiştirdiğinizde ortaya çıkar.
getFinalUrl(), AdUrls sınıfının bir parçasıdır. Bu nedenle kodunuzu ad.urls().getFinalUrl() olarak değiştirmeniz gerekir:
function main() {
// Incorrect snippet. getFinalUrl is not a member of the Ad class.
let ad = AdsApp.ads().get().next();
let url = ad.getFinalUrl();
// Correct snippet.
let ad = AdsApp.ads().get().next();
let url = ad.urls().getFinalUrl();
}
X için istatistik alamıyorum
Belirli bir öğe veya tarih aralığı için verilerin kullanılamaması, rapor çalıştırırken veya istatistik çağrıları yaparken karşılaşabileceğiniz yaygın bir hatadır. Deneyebileceğiniz birkaç yöntem var:
İstatistikleri aldığınız veya raporları çalıştırdığınız tarih aralığını kontrol edin.
Farklı para birimlerindeki hesapları yöneten bir Ads Manager komut dosyası için hesap düzeyinde istatistikleri alırsanız maliyeti yönetici hesabının para biriminde alırsınız.
Google Ads, aradığınız verilere henüz sahip olmayabilir. Ayrıntılı bilgi için veri güncelliği kılavuzumuzu inceleyin.
X özelliğini nasıl kullanırım?
Belirli bir özelliğin nasıl kullanılacağına dair örnekler için kod snippet'lerimize ve çözümlerimize bakın. Uygun bir kod snippet'i bulamazsanız Discord'da istekte bulunabilirsiniz.
Hâlâ desteğe mi ihtiyacınız var?
Size yardımcı olabileceğimiz bir konuda desteğe ihtiyacınız varsa Yardım Alın sayfasını ziyaret edin.