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 kampanyada değişiklik yapmadan değişiklikleri hazırlamak için kullanılabilir. Daha sonra, hazırlanan değişiklikler ana kampanyaya uygulanabilir.
Taslak oluşturma
Mevcut bir ana kampanyadan DraftBuilder kullanılarak ve benzersiz bir ad sağlanarak taslak oluşturulur. Temel kampanya bir Arama Ağı kampanyası, 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 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ılavuzumuza bakın.
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ı 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");
Reklam politikası kontrolleri, temel kampanyada olduğu gibi taslak kampanyada da yapılır. 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:
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();Taslakta yaptığınız değişiklikleri tutmaya karar verirseniz değişiklikleri uygulayabilirsiniz:
draft.startApplying();Bu yöntem, güncellemelerin ana 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.
Değişikliklerinizi önce test etmek istiyorsanız taslağı kullanarak bir deneme oluşturabilirsiniz.
Denemeler
Denemeler, 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ı bırakabilirsiniz.
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. Bir kolda (kontrol kolu olarak adlandırılır) temel kampanya, diğer kolda (deney kolu olarak adlandırılır) ise denemeyi planlamadan önce özelleştireceğiniz (daha önce gösterilen taslak adımlarına göre) 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
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 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 yükü 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 kampanya aynı anda yalnızca bir deneme çalıştırabilir.
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 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() numaralı telefonu 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. Tamamlanan bir deneme kaldırılabilir, uygulanabilir veya tamamlanabilir ve 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. Denemenin kaldırılması geri alınamaz ancak Google Ads kullanıcı arayüzünün denemeler sekmesindeki Tüm denemeler bölümünde görüntülenmeye devam edebilir.
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 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 ana kampanyayla bütçe paylaşamaz. Bu nedenle yeni bir bütçe gerekir. Tüm alanları değiştirilebilir ve daha fazla taslak ve deneme için ana kampanya olarak kullanılabilir. Bu nedenle, tamamlanmış kampanyalar normal kampanyalara benzer.
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öntemlerini kullanır.
Bu yöntemler, ana 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 öğeleri takip etmeye yardımcı olmak için kampanyalara isBaseCampaign(), isDraftCampaign() ve isExperimentCampaign() yöntemleri verilmiş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() içeren 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, sırasıyla startApplying() ve startScheduling() 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 (ör. taslak oluşturulduktan sonra) başarılı olması da mümkündür:
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 gerçekten oluşturulmadığı için önizleme modunda başarısız olur.
Bu nedenle, komut dosyalarınızı çalıştırdıktan sonra listeleyenizin 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.