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.
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. Hazırlanan değişiklikler daha sonra 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ılavuzumuzu inceleyin.
draft, temel kampanya kimliği ve taslak kimliği 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. Ana kampanyadaki güncellemeleri aşamalandırmak için değişiklikleri taslak kampanya üzerinden yayarsınız.
Diğer kampanyalar gibi bir taslak kampanyanı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");
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:
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ülenebilir.
draft.remove();Taslakta yaptığınız değişiklikleri tutmaya karar verirseniz değişiklikleri uygulayabilirsiniz:
draft.startApplying();Bu yöntem, güncellemeleri temel kampanyaya uygulama 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 temel 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 (uygulama 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_CUSTOMwithSuffix- Deney kampanyası oluşturulduğunda adına eklenecek bir sonek belirtir.
withGoals- Bu denemenin hedeflerini belirtir. Bu yalnızca kendinize, oluştururken hedeflerinizin ne olduğunu hatırlatmak içindir. İ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 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() 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. Tamamlanan bir deneme yine de kaldırılabilir, uygulanabilir veya tamamlanabilir ve kampanyanın performans istatistiklerine 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. 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 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 öğeler
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, 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, taban kampanyası 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, 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 (ö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 aslında 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 ve yalnızca nedenin önizleme modundaki sınırlamalardan kaynaklandığını düşünüyorsanız önizlemede başarısız olan bir komut dosyasıyla devam edin.