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.
Bu kılavuzda, bir komut dosyasında taslaklar ve denemelerle çalışmaya yönelik temel iş akışı açıklanmaktadır.
Taslaklar
Taslak, mevcut bir kampanyanın kopyasıdır. Kendi reklamlarını yayınlamaz ancak orijinal kampanyayı değiştirmeden değişiklikleri hazırlamak için kullanılabilir. Hazırlanan değişiklikler daha sonra ana kampanyaya uygulanabilir.
Taslak oluşturma
Taslak, DraftBuilder kullanılarak ve benzersiz bir ad verilerek mevcut bir ana kampanyadan oluşturulur. Ana kampanya bir Arama Ağı kampanyası, Görüntülü Reklam Ağı Opsiyonlu 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 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(), komut dosyalarında yaygın bir işlem olan DraftOperation değerini döndürür. Daha fazla bilgi için oluşturucularla ilgili kılavuzumuzu inceleyin.
draft, ana kampanya kimliği ve taslak kimliğinin kombinasyonuyla benzersiz bir şekilde tanımlanır. Daha fazla bilgi için DraftSelector.withIds() sayfasına bakın.
Taslak kampanyayı temel hazırlık durumuna getirme
draft nesnesi, bir 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 alma ve ayarlama yöntemlerine sahiptir.
const draftCampaign = draft.getDraftCampaign();
draftCampaign.setAdRotationType("CONVERSION_OPTIMIZE");
draftCampaign.createNegativeKeyword("shoes");
Reklam politikası kontrolleri, temel kampanyada olduğu gibi taslak kampanyada da gerçekleştirilir. Politikaları ihlal eden reklamlar içeren bir taslak kampanyadan deneme yayınlayamazsınız.
Taslağı yürütme
Taslak kampanyayı temel hazırlık aşamasına aldıktan sonra aşağıdakilerden birini yapabilirsiniz:
Değişiklikleri kullanmak istemiyorsanız taslağı kaldırabilirsiniz. Taslağı kaldırma işlemi geri alınamaz ancak taslak, Google Ads kullanıcı arayüzünün taslaklar sekmesindeki Tüm taslaklar bölümünde görüntülenebilir.
draft.remove();Taslakta yaptığınız değişiklikleri korumaya karar verirseniz bunları uygulayabilirsiniz:
draft.startApplying();Bu yöntem, güncellemelerin ana kampanyaya uygulanma sürecini başlatır. Bu nedenle, taslak Google Ads kullanıcı arayüzünde Uygulanıyor... durumunda olur. Ancak bu yöntem, işlem tamamlandığında sizi bilgilendirmez.
Değişikliklerinizi önce test etmek isterseniz taslağı kullanarak deneme oluşturabilirsiniz.
Denemeler
Deneme, orijinal kampanyaya paralel olarak özelleştirilebilir bir kampanya yayınlar ve trafiğin belirli bir yüzdesine reklam 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ı iptal edebilirsiniz.
Deneme oluşturun
experiment, taslağa benzer ve ana kampanyadan oluşturulur.
ExperimentBuilder ile experiment oluşturursunuz. Bu işlem, denemenin farklı bölümlerini temsil eden iki "kol" içeren bir denemeyi otomatik olarak oluşturur. Kollardan birinde (kontrol kolu) temel kampanya, diğerinde ise (deney kolu) denemeyi planlamadan önce özelleştireceğiniz (daha önce gösterilen taslak adımlarına göre) yeni bir taslak kampanya yer alır.
Deneme oluştururken, oluşturucuda aşağıdakilerin tümünü ayarladığınızdan emin olun:
withCampaign- Denemenin temel alınmasını istediğiniz kampanya.
withTrafficSplitPercent- Trafiğin ne kadarının deneme koluna yönlendirileceği. %50 için
50değerini belirtin. withStartDatevewithEndDate- Kampanyanın başlangıç ve bitiş tarihini belirtir.
YYYYMMddbiçiminde belirtin. withType- Kullandığınız ağa bağlı olarak
SEARCH_CUSTOMveyaDISPLAY_CUSTOM. withSuffix- Deney kampanyası oluşturulduğunda kampanyanın adına eklenecek bir sonek belirtir.
withGoals- Bu denemenin hedeflerini belirtir. Bu, kendinize içeriği 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 kampanyanın aynı anda yalnızca bir çalışan denemesi olabilir.
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ına bakın.
Deneme kampanyasını sağlama
draft gibi, experiment da tek başına bir kampanya değildir. Bunun yerine, ana kampanya, taslak ve deneme kampanyası arasında ilişki kurar. 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");
Denemede ad, başlangıç tarihi ve bitiş tarihiyle ilgili değişiklikler yapılabilir. Bu değişiklikler daha sonra deneme kampanyasına uygulanı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() numarasını 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. Tamamlandı durumundaki bir deneme kaldırılabilir, uygulanabilir veya mezun edilebilir. Kampanyasını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 durumda deneme kampanyası da kaldırılır. Denemeyi kaldırma işlemi geri alınamaz ancak deneme, 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:
Değişiklikleri uygulamaya başlayabilirsiniz. Taslaklarda olduğu gibi, işlem tamamlandığında bildirim almazsınız.
experiment.startApplying();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 hemen 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 ana 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 varlıklar
Taslaklar ve denemelerin Google Ads komut dosyalarına eklenmesiyle birlikte temel öğeler kavramı da kullanıma sunulmuştur. 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öntemlerini kullanır.
Bu yöntemler, bir ana kampanya veya reklam grubu tarafından çağrılırsa ç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 varlıkların 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 çağırma 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ü, startApplying() ve startScheduling() başarıyla tamamlandıktan sonra sırasıyla Uygulandı veya Etkin durumlarını gösterir. Başarısız olduğunda Uygulanamıyor veya Oluşturulamıyor ifadesi gösterilir. Bu ifadeyi tıklayarak hataları görebilirsiniz.
Bazı yöntemlerin önizleme aşamasında başarısız olması ancak çalıştırıldı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şilemediği için bu işlem önizleme modunda başarısız olur.
Benzer şekilde, bir deneme oluşturup hemen taslak kampanyasını getirmeye çalışmak, taslak aslında oluşturulmadığı için önizleme modunda başarısız olur.
Bu nedenle, komut dosyalarınızı çalıştırdıktan sonra komut dosyası listenizin altındaki günlükleri kontrol edin ve yalnızca önizleme modundaki sınırlamalardan kaynaklandığını düşünüyorsanız önizlemede başarısız olan bir komut dosyasıyla devam edin.