Kampanya Taslakları ve Denemeleri

Google Ads komut dosyaları, Arama Ağı ve Görüntülü Reklam Ağı kampanyalarında değişiklik hazırlamak ve test etmek için kullanılan kampanya taslaklarını ve denemelerini destekler.

Taslak, kendi reklamlarını yayınlamayan ancak orijinal kampanyada değişiklik yapmadan değişiklikleri aşamalı olarak uygulamak için kullanılabilen mevcut bir kampanyanın kopyasıdır. Ardından, aşamalı olarak kaydedilen değişiklikler ana kampanyaya uygulanabilir.

Deneme, orijinal kampanyaya paralel olarak özelleştirilebilir bir kampanya yayınlar ve reklamları trafiğin belirli bir yüzdesine gösterir. Denemenin sonuçlarına göre değişiklikleri orijinal kampanyaya uygulayabilir, denemeyi bağımsız bir kampanyaya ayırabilir veya deneme kampanyasını terk edebilirsiniz.

Bu kılavuzda, bir komut dosyasında taslaklarla ve denemelerle çalışmayla ilgili temel iş akışı açıklanmaktadır.

Taslaklar

Taslak oluşturma

Mevcut bir ana kampanyadan DraftBuilder kullanılarak ve benzersiz bir ad sağlanarak bir taslak oluşturulur. Ana kampanya, bir Arama Ağı, Görüntülü Reklam Ağı Genişletmeli Arama Ağı kampanyası veya Görüntülü Reklam Ağı kampanyası (Görüntülü Reklam Ağı için Mobil Uygulama kampanyası hariç) olmalı ve paylaşılan bir bütçeye sahip olmamalıdır.

const campaign = AdsApp.campaigns()
    .withCondition(`campaign.name = "${campaignName}"`)
    .get()
    .next();

const draftBuilder = campaign.newDraftBuilder()
    .withName("INSERT_DRAFT_NAME_HERE")
    .build();

const draft = draftBuilder.getResult();

DraftBuilder.build(), Komut Dosyaları'ndaki tipik bir işlem olan DraftOperation değerini döndürür. Daha fazla bilgi için geliştirici kılavuzumuza bakın.

draft, temel kampanya kimliği ve taslak kimliğinin kombinasyonuyla benzersiz bir şekilde tanımlanır. Daha fazla bilgi için DraftSelector.withIds() sayfasını inceleyin.

Taslak kampanya için temel hazırlığı yapma

draft nesnesi, bir temel kampanya ile bir taslak kampanyayı ilişkilendirir. Güncellemeleri ana kampanyaya aşamalı olarak uygulamak için değişiklikleri taslak kampanya üzerinden dağıtırsınız.

Diğer kampanyalar gibi taslak kampanyaların da ölçütler, reklam grupları, teklifler ve reklamlar gibi çeşitli özelliklerini alma ve ayarlama yöntemleri vardır.

const draftCampaign = draft.getDraftCampaign();

draftCampaign.setAdRotationType("CONVERSION_OPTIMIZE");
draftCampaign.createNegativeKeyword("shoes");

Reklam politikası kontrollerinin, taslak kampanya için de temel kampanyada olduğu gibi yapıldığını unutmayın. Politikayı ihlal eden reklamlar içeren bir taslak kampanyadan deneme çalıştıramazsınız.

Taslağı yürütme

Taslak kampanyayı sağladıktan sonra aşağıdakilerden birini yapabilirsiniz:

  1. Değişiklikleri kullanmak istemiyorsanız taslağı kaldırabilirsiniz. Taslağı kaldırma işlemi geri alınamaz ancak Google Ads kullanıcı arayüzünün taslaklar sekmesindeki Tüm taslaklar bölümünde görüntülenebilir.

    draft.remove();
    
  2. Taslakta yaptığınız değişiklikleri kullanmaya karar verirseniz bunları uygulayabilirsiniz:

    draft.startApplying();
    

    Bu yöntem, güncellemelerin ana kampanyaya uygulanması sürecini başlatır. Bu nedenle, taslak Google Ads kullanıcı arayüzünde Uyguluyor... durumuna sahip olur. Ancak bu yöntem, işlem tamamlandığında sizi bildirmez.

  3. Değişikliklerinizi önce test etmek istiyorsanız taslağı kullanarak deneme oluşturabilirsiniz.

Denemeler

Deneme oluşturma

experiment, taslağa benzer ve temel bir kampanyadan oluşturulur. ExperimentBuilder ile bir experiment oluşturursunuz. Bu işlem, denemenin farklı bölümlerini temsil eden iki "kol" içeren bir deneme otomatik olarak oluşturur. Bir kol (kontrol kolu olarak adlandırılır) ana kampanyayı, diğer kol (deneme kolu olarak adlandırılır) ise denemeyi planlamadan önce yukarıdaki taslaktaki adımlara göre özelleştireceğiniz yeni bir taslak kampanya içerir.

Deneme oluştururken oluşturucuda aşağıdakilerin tümünü ayarladığınızdan emin olun:

withCampaign
Denemenin temel almasını istediğiniz kampanya.
withTrafficSplitPercent
Trafiği deneme koluna yönlendirme yüzdesi. %50 için 50 değerini belirtin.
withStartDate ve withEndDate
Kampanyanın başlangıç ve bitiş tarihini belirtir. YYYYMMdd biçiminde belirtin.
withType
Kullandığınız ağa bağlı olarak SEARCH_CUSTOM veya DISPLAY_CUSTOM.
withSuffix
Oluşturulduğunda deney grubu kampanyasının adına eklenecek bir son ek belirtir.
withGoals
Bu denemenin hedeflerini belirtir. Bu, oluşturduğunuz sıradaki hedeflerinizi kendinize hatırlatmak içindir. [{metric: 'CLICKS', direction: 'INCREASE'}] iyi bir varsayılan değerdir.

Trafik bölme yüzdesi, trafiğin hangi kısmının ana kampanya yerine deneme kampanyasındaki reklamlarla gösterileceğini belirler. Bu nedenle, her temel kampanyada aynı anda yalnızca bir deneme çalışabilir.

const experiment = AdsApp.newExperimentBuilder()
  .withCampaign(campaign)
  .withTrafficSplitPercent(50)
  .withStartDate("20230501")
  .withEndDate("20230601")
  .withType("SEARCH_CUSTOM")
  .withSuffix("experiment")
  .withGoals([{metric: 'CLICKS', direction: 'INCREASE'}])
  .build();

// The experimentCampaign represents the customizeable draft.
const experimentCampaign = experiment.getExperimentCampaign();

Taslakların aksine, denemeler tek bir kimlikle benzersiz şekilde tanımlanır. Daha fazla bilgi için ExperimentSelector.withIds() sayfasını inceleyin.

Deneme kampanyasını sağlama

draft'e benzer şekilde, experiment'un kendisi bir kampanya değildir. Bunun yerine, ana kampanyayı, taslağı ve deneme kampanyasını ilişkilendirir. Deneme kampanyasının alanları, aşağıdaki istisnalar dışında değiştirilebilir:

  • ad
  • durum
  • başlangıç tarihi
  • bitiş tarihi
  • bütçe
const experimentCampaign = experiment.getExperimentCampaign();

// Will succeed.
experimentCampaign.setAdRotationType("ROTATE_FOREVER");
experimentCampaign.createNegativeKeyword("sneakers");

// Will fail.
experimentCampaign.setName("INSERT_EXPERIMENT_NAME_HERE");

Deneme için ad, başlangıç tarihi ve bitiş tarihi değişiklikleri yapılabilir. Bu değişiklikler daha sonra deneme kampanyasına dağıtılır.

// Will succeed.
experiment.setName("INSERT_EXPERIMENT_NAME_HERE");

// Will succeed if date is acceptable.
const date = "20220601";
experiment.setStartDate(date);

Denemeyi başlatmak için experiment.startScheduling() numaralı telefonu arayın. Bu, ana kampanyadaki tüm ayarları kopyalaması gerektiğinden eşzamansız bir işlemdir.

Deneme sona erdikten sonra

Denemenizin tamamlanmasının ardından birkaç seçeneğiniz vardır. Reklam yayınlamayı durdurması için denemenin tamamen tamamlanmasını beklemenizi öneririz. Ancak denemeyle etkileşime devam edebilirsiniz. Tamamlanmış denemeler kaldırılabilir, uygulanabilir veya sonlandırılabilir. Bu denemelerin kampanyalarının performans istatistiklerine de erişilebilir.

experiment.finish();
const stats = experimentCampaign.getStatsFor("INSERT_TIME_PERIOD_HERE");
  • İstatistiklere göre denemeden memnun değilseniz denemeyi kaldırabilirsiniz. Bu işlem, deneme kampanyasını da kaldırır. Kaldırılan denemeler geri yüklenemez ancak Google Ads kullanıcı arayüzünün denemeler sekmesindeki Tüm denemeler bölümünde görüntülenebilir.

    experiment.remove();
    
  • Denemenin sonuçlarından memnunsanız iki seçeneğiniz vardır:

    1. Değişiklikleri uygulamaya başlayabilirsiniz. Taslaklarda olduğu gibi, işlem tamamlandığında size bildirim gönderilmez.

      experiment.startApplying();
      
    2. Deneme kampanyasını, temel kampanyayı etkilemeden bağımsız ve tam işleyen bir kampanya olarak oluşturabilirsiniz. Mezun olma olarak bilinen bu işlem hemen tamamlanır ve yeni bir bütçenin ayarlanmasını gerektirir.

      const budget = AdsApp.budgets()
          .withCondition(`campaign_budget.id = ${budgetId}`)
          .get()
          .next();
      
      experiment.graduate(budget);
      

      Yeni kampanya artık ana kampanyayla bütçe paylaşamaz. Bu nedenle yeni bir bütçe gerekir. Geçişli kampanyalar, tüm alanlarının değiştirilebilir olması ve daha fazla taslak ve deneme için ana kampanya olarak çalışabilmesi açısından normal kampanyalara benzer.

Dikkat edilmesi gereken diğer noktalar

Temel varlıklar

Google Ads komut dosyalarına taslaklar ve denemeler eklenmesiyle birlikte temel varlıklar kavramı da kullanıma sunulmuştur. Taslak ve deneme kampanyaları ile bu kampanyalardaki reklam grupları, orijinal ana kampanyalarından farklıdır. Bu nedenle, Campaign ve AdGroup artık ana kampanyalarına ve reklam gruplarına erişmek için getBaseCampaign() ve getBaseAdGroup() yöntemlerine sahiptir.

Bu yöntemler, ana kampanya veya reklam grubu tarafından çağrıldığında arayan öğeyi döndürür. Kampanya ve reklam gruplarındaki anahtar kelimeler ve reklamlar gibi öğelere de bu tür yöntemler verilmiştir.

Temel varlıkların takibine yardımcı olmak için kampanyalara isBaseCampaign(), isDraftCampaign() ve isExperimentCampaign() yöntemleri sunulmuştur.

Yeni Campaign.draftCampaigns() ve Campaign.experimentCampaigns() yöntemleri, temel kampanyası çağrılan kampanya olan tüm taslak ve deneme kampanyalarına erişmenize olanak tanır. Ancak CampaignSelector.withCondition() ile taslak kampanyaları seçemezsiniz. Bunun yerine AdsApp.drafts() seçeneğini kullanın.

Hata işleme

Taslakları ve denemeleri içeren aşağıdaki yöntemler, komut dosyası çalıştırıldığında devam eder ancak eşzamansız olarak başarısız olabilir:

  • Draft.startApplying()
  • Experiment.startApplying()
  • Experiment.startScheduling()

Bu işlemlerin başarılı olup olmadığını kontrol etmek için beklemeniz gerekir. Google Ads kullanıcı arayüzünde, startApplying() ve startScheduling()'in başarıyla tamamlanmasının ardından sırasıyla Uygulandı veya Etkin durumları gösterilir. Ayrıca, hata oluştuğunda Uygulanamadı veya Oluşturulamadı ifadesini gösterir ve tıklayarak hataları görmenizi sağlar.

Bazı yöntemlerin önizleme aşamasında başarısız olup çalıştıktan sonra başarılı olması da mümkündür. Örneğin, bir taslak oluşturduktan sonra:

const draftCampaign = draft.getDraftCampaign();
draftCampaign.createNegativeKeyword("shoes"); // Will fail in preview.

Taslak kampanyaya hemen erişemediği için bu işlem önizleme modunda başarısız olur.

Benzer şekilde, bir deneme oluşturduktan sonra taslak kampanyasını hemen getirmeye çalışmak önizleme modunda başarısız olur. Bunun nedeni, taslağın henüz oluşturulmamış olmasıdır.

Bu nedenle, komut dosyalarınızı çalıştırdıktan sonra komut dosyası listenizin altındaki günlükleri kontrol edin ve yalnızca nedeninin önizleme modundaki sınırlamalardan kaynaklandığını düşünüyorsanız önizlemede başarısız olan bir komut dosyasıyla devam edin.