Kampanya Taslakları ve Denemeleri

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

Taslak, mevcut bir kampanyanın kopyasıdır. Kendi reklamlarını yayınlamaz ancak orijinal kampanyada değişiklik yapmadan değişiklikleri hazırlamak için kullanılabilir. Daha sonra, aşamalı değişiklikler ana kampanyaya uygulanabilir.

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

Bu kılavuzda, bir komut dosyasında taslaklar ve denemelerle çalışmaya yönelik temel iş akışı açıklanmaktadır.

Taslaklar

Taslak oluşturma

Mevcut bir ana kampanyadan DraftBuilder kullanılarak ve benzersiz bir ad sağlanarak taslak oluşturulur. Temel kampanya bir Arama Ağı, Görüntülü Reklam Ağı Genişletmeli Arama Ağı veya Görüntülü Reklam Ağı kampanyası (Görüntülü Reklam Ağı için mobil uygulama kampanyası hariç) olmalı ve paylaşılan bütçesi 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() bir DraftOperation döndürür. Bu, komut dosyalarındaki tipik bir işlemdir. Daha fazla bilgi için oluşturucularla ilgili kılavuzumuza bakın.

Bir 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 kampanyayı sağlama

draft nesnesi, temel kampanya ile taslak kampanyayı ilişkilendirir. Temel kampanyadaki güncellemeleri aşamalandırmak için değişiklikleri taslak kampanya üzerinden yayarsınız.

Taslak kampanyalar, diğer kampanyalar gibi ölçütler, reklam grupları, teklifler ve reklamlar gibi çeşitli özelliklerini almak ve ayarlamak için yöntemlere sahiptir.

const draftCampaign = draft.getDraftCampaign();

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

Taslak kampanyalar için reklam politikası kontrolleri, temel kampanyalarda olduğu gibi gerçekleştirilir. Politikaları 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ğın kaldırılması geri alınamaz ancak Google Ads kullanıcı arayüzünün taslaklar sekmesindeki Tüm taslaklar bölümünde görüntülenmeye devam edebilir.

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

        draft.startApplying();
    

    Bu yöntem, güncellemelerin temel kampanyaya uygulanma sürecini başlatır. Bu nedenle, Google Ads kullanıcı arayüzünde taslağın durumu Uygulanıyor... olur. Ancak bu yöntem, işlem tamamlandığında sizi bilgilendirmez.

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

Denemeler

Deneme oluşturun

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

Deneme oluştururken aşağıdaki ayarların tümünü oluşturucuda yaptığınızdan emin olun:

withCampaign
Denemenin temel alınmasını istediğiniz kampanya.
withTrafficSplitPercent
Trafiğin ne kadarı deneme koluna gidecek? %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
Deney kampanyası oluşturulduğunda adına eklenecek bir sonek belirtir.
withGoals
Bu denemenin hedeflerini belirtir. Bu, kendinize oluştururkenki hedeflerinizi hatırlatmak için kullanılır. İyi bir varsayılan değer [{metric: 'CLICKS', direction: 'INCREASE'}]'dır.

Trafik bölme yüzdesi, trafiğin hangi bölümünde ana kampanya yerine deneme kampanyasından gelen reklamların gösterileceğini belirler. Bu nedenle, her ana kampanyada aynı anda yalnızca bir deneme çalıştırılabilir.

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 gibi, experiment da kendi başına 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");

Denemenin adı, başlangıç tarihi ve bitiş tarihi değiştirilebilir. Bu değişiklikler daha sonra deneme kampanyasına yansı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()'ı arayın. Bu işlem, ana kampanyadaki tüm ayarların kopyalanması gerektiğinden eşzamansızdır.

Deneme sona erdikten sonra

Denemeniz tamamlandığında birkaç seçeneğiniz olur. Reklam yayınlamayı durdurması ancak denemeyle etkileşimde bulunmaya devam edebilmeniz için denemenin tamamen bitmesini beklemenizi öneririz. Tamamlanmış bir deneme yine de kaldırılabilir, uygulanabilir veya mezun edilebilir ve kampanyanın performans istatistiklerine erişilebilir.

experiment.finish();
const stats = experimentCampaign.getStatsFor("INSERT_TIME_PERIOD_HERE");
  • İstatistiklere göre denemeden memnun kalmazsanız denemeyi kaldırabilirsiniz. Bu işlem, deneme kampanyasını da kaldırır. Denemeyi kaldırma işlemi geri alınamaz 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 bildirim almazsınız.

          experiment.startApplying();
      
    2. Deneme kampanyasını, ana kampanyayı etkilemeden bağımsız ve tam olarak çalışan bir kampanya olarak oluşturabilirsiniz. Geçiş olarak bilinen bu işlem anında tamamlanır ve yeni bir bütçe ayarlanmasını gerektirir.

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

      Yeni kampanya artık temel kampanyayla bütçe paylaşamaz. Bu nedenle yeni bir bütçe gerekir. Tüm alanları değiştirilebildiği ve daha fazla taslak ve deneme için ana kampanya olarak kullanılabildiği için, mezun olmuş kampanyalar normal kampanyalar gibidir.

Dikkat edilmesi gereken diğer noktalar

Temel tüzel kişiler

Google Ads komut dosyalarına taslak ve deneme özelliklerinin eklenmesiyle birlikte temel öğe kavramı da ortaya çıkmıştır. Taslak ve deneme kampanyaları ile bunlardaki 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, temel bir kampanya veya reklam grubu tarafından çağrıldığında çağıran öğeyi döndürür. Kampanyalar ve reklam gruplarındaki anahtar kelimeler ve reklamlar gibi öğelere de bu tür yöntemler uygulanmıştır.

Temel öğelerin takibini kolaylaştırmak için kampanyalara isBaseCampaign(), isDraftCampaign() ve isExperimentCampaign() yöntemleri eklenmiştir.

Yeni Campaign.draftCampaigns() ve Campaign.experimentCampaigns() yöntemleri, temel kampanya olarak arama kampanyasını kullanan tüm taslak ve deneme kampanyalarına erişmenizi sağlar. Ancak CampaignSelector.withCondition() ile taslak kampanyaları seçemezsiniz. Bunun yerine AdsApp.drafts() kullanın.

Hata işleme

Taslaklar ve denemelerle ilgili 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() sırasıyla başarılı bir şekilde tamamlandıktan sonra Uygulandı veya Etkin durumları gösterilir. Ayrıca, başarısızlık durumunda Uygulanamıyor veya Oluşturulamıyor mesajını göstererek hataları görmek için tıklamanıza olanak tanır.

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

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

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

Benzer şekilde, bir deneme oluşturup taslak kampanyasını hemen getirmeye çalışmak, taslak gerçekten oluşturulmadığı için önizleme modunda başarısız olur.

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