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:
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 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.
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
vewithEndDate
- Kampanyanın başlangıç ve bitiş tarihini belirtir.
YYYYMMdd
biçiminde belirtin. withType
- Kullandığınız ağa bağlı olarak
SEARCH_CUSTOM
veyaDISPLAY_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:
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 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.