N-Gram Lens her arama terimini bir, iki ve üç kelimelik öbeklere böler; öbek başına maliyet, tıklama ve dönüşümü toplar. Böylece terim terim bakınca görünmeyen kalıplar belirginleşir. Search, Shopping ve DSA verisini search_term_view, Performance Max verisini campaign_search_term_view kaynağından alır ve hangi terimlerin mevcut negatiflerle zaten engellendiğini bilir.

Nasıl çalışır

Pencere içinde gösterim alan kampanyalar toplanır (campaign_contains / campaign_not_contains ve duruma göre süzülür). Arama türü kampanyalar reklam grubu düzeyinde okunur, böylece reklam grubu negatifleri uygulanır; PMax kampanyaları kampanya düzeyinde ve maliyetle okunur. Reklam grubu, kampanya, paylaşımlı liste (ID ile) ve hesap düzeyindeki mevcut negatifler tam / sıralı / geniş eşleme mantığıyla eşleştirilir; eşleşen sorgular hariç tutulan olarak sayılır. Terimler derleme dilinde ve isteğe bağlı durak kelimelerle ayrıştırılır, min_ngram…max_ngram kelimelik n-gramlar sorgu başına bir kez sayılır, eşikler gürültüyü temizler. Negatif adayları tıklama alan ama dönüşümü olmayan ya da pahalı olan öbeklerdir; her biri kanıtıyla gelir (“hesap oranına göre beklenen ~N dönüşüm”). Genişleme adayları hesaptan daha iyi dönüşen öbeklerdir.

Sheet’e ne yazar

  • Summary — kapsamdaki kampanyalar, kaynaklar, analiz edilen ve negatiflerle hariç tutulan sorgular, n-gram boyutları, hesap toplamları, negatif ve genişleme adayı sayıları, negatif adaylarının üzerinde duran maliyet, notlar ve olası ⚠ uyarıları (okuma sınırı, hesap negatifleri okunamadı).
  • Account n-grams ve Campaign n-grams — öbek, n, sorgu, kaynak, gösterim, tıklama, TO, maliyet, TBM, dönüşüm, değer, dönüşüm oranı, CPA, ROAS; kampanya tablosu kampanya bazında bölümlenir.
  • Word count — sorgudaki kelime sayısına göre metrikler.
  • Suggestions — negatif adayları (sıralı eşleme negatifi olarak yapıştır) ve genişleme adayları, her biri “Why” sütunuyla. Hiçbir şey otomatik uygulanmaz.

Kurulum

  1. Scripti yetkilendireceğin Google hesabıyla yeni ve boş bir Google Sheet oluştur, adresini kopyala. Başka bir scriptin Sheet’ini kullanma; her Sheet tek bir scripte ve tek bir Google Ads hesabına bağlanır.
  2. Google Ads’te Araçlar → Komut Dosyaları bölümünü aç, yeni bir script oluştur, kodun tamamını yapıştır ve bir ad ver.
  3. CONFIG.spreadsheet_url değerine Sheet adresini yaz. Scripti yönetici (MCC) hesabından çalıştırıyorsan CONFIG.account_id alanına müşteri hesabı kimliğini (örn. 123-456-7890) yaz; yazılmazsa script açık bir hata mesajıyla durur.
  4. İsteğe bağlı: CONFIG.email (virgülle ayrılmış alıcılar) ve/veya CONFIG.slack_webhook alanlarını doldur. Webhook yalnızca kodda kalır, Sheet’e hiçbir zaman yazılmaz.
  5. Scripti yetkilendir, günlüğü kontrol etmek için bir kez Önizle, sonra Çalıştır. İlk çalışma sekmeleri, başlık satırlarını ve _settings sekmesini oluşturur.
  6. Zamanla: haftalık, pazartesi hesap saatiyle 04:00 veya sonrası.
  7. İsteğe bağlı: Excel dashboard’unu indir (yukarıdaki buton), Read me sekmesini aç ve Sheet sekmelerini orada anlatıldığı gibi yapıştır; sütun düzeni script çıktısıyla birebir aynıdır.

Parametreler

ParametreAçıklamaVarsayılan
spreadsheet_urlScriptin yazacağı boş Google Sheet’in adresi.'YOUR_SPREADSHEET_URL'
account_idMüşteri hesabı kimliği; yalnızca yönetici (MCC) hesabından çalıştırırken gerekir.''
daysAnaliz penceresinin gün cinsinden uzunluğu.30
min_ngram / max_ngramEn küçük ve en büyük n-gram boyutu (1 = tek kelime, 3 = üç kelimelik öbek).1 / 3
include_search / include_pmaxSearch/Shopping/DSA ve/veya Performance Max kampanyalarını dâhil et.true / true
campaign_containsYalnızca adında bu metin geçen kampanyalar.''
campaign_not_containsAdında bu metin geçen kampanyaları dışarıda bırak.''
enabled_campaigns_onlytrue = yalnızca etkin kampanyalar; false = etkin ve duraklatılmış.true
min_query_impressionsBir arama teriminin okunması için gereken en az gösterim.1
check_negativesTerimleri mevcut negatiflerle eşleştir (reklam grubu, kampanya, paylaşımlı liste, hesap düzeyi).true
languageKelime ayırıcı dili; varsayılan olarak derleme dili (en / tr / de).L.text_lang
stopwordsN-gram oluştururken yok sayılacak ek kelimeler.[]
segment_by_campaignKampanya bazlı n-gram tablosunu yaz.true
max_rows_writtenTablo başına satır sınırı; aşılırsa kesilme notu eklenir.20000
thresholdsBir n-gramın listelenmesi için en az sorgu sayısı / gösterim / tıklama / maliyet.1 / 20 / 0 / 0
suggestionsnegative_min_clicks, negative_max_cpa_multiple, expansion_min_conversions, list_size.30 / 3 / 3 / 50
Tüm değerler scriptin başındaki CONFIG bloğunda bulunur; _settings sekmesinde de olan anahtarlar oradan değiştirilebilir.

_settings sekmesi

İlk çalışmada script bir _settings sekmesi (Key / Value / Notes) oluşturur. Buradaki değerler ilgili CONFIG girdilerini ezer; günlük ince ayar kodu düzenlemeden Sheet üzerinden yapılır. Sayılar binlik ayraç olmadan ve en fazla iki ondalıkla yazılmalıdır (0.5 veya 0,5). script ve account satırları Sheet’in sahibini işaretler: aynı Sheet’i başka bir script ya da başka bir hesap açarsa hiçbir şey yazmadan durur. Alt çizgiyle başlayan iç sekmeler (_settings, _history, _snapshot, _state, _baseline) dilden bağımsızdır; EN/TR/DE sürümleri arasında geçiş yapıldığında kayıtlı durum korunur.

Bildirimler

Bu scriptte e-posta ya da Slack seçeneği yoktur; çıktı Sheet ve dashboard’dur.

Notlar ve sınırlar

  • Geniş negatifler kelime sırasından bağımsız, sıralı negatifler bitişik kelimeleri, tam negatifler sorgunun tamamını eşler; Google’ın uyguladığı mantığın aynısı.
  • Bir sorgu Ads Scripts okuma sınırına takılırsa Summary’de ⚠ satırı görünür; pencereyi ya da filtreleri daralt.
  • search_term_view kaynağının hesabında Shopping kampanyaları için satır döndürüp döndürmediğini bir kez arayüzdeki arama terimleri raporuyla karşılaştır.
  • Her rapor sekmesinde küçük bir atıf hücresi (H1:K1, yalnızca uyarı veren koruma) ve kod başlığında bir telif satırı bulunur; kaynağı düzenleyen herkes ikisini de kaldırabilir.