Skrypty Google Ads obsługują wersje robocze kampanii i eksperymentów, które pozwalają przygotować i przetestować zmiany w kampaniach w sieciach wyszukiwania i reklamowej.
Wersja robocza to kopia istniejącej kampanii, która nie będzie wyświetlać własnych reklam, ale można wykorzystać do wprowadzania zmian bez modyfikowania pierwotnej kampanii. zmiany etapowe możesz zastosować w kampanii podstawowej.
Eksperyment uruchamia równolegle do pierwotnej kampanii konfigurowalną kampanię. i wyświetla reklamy w przypadku określonego odsetka ruchu. Na podstawie eksperymentu możesz zastosować w pierwotnej kampanii, rozdziel eksperyment na niezależną kampanię lub przerwij eksperyment kampanii.
W tym przewodniku omawiamy podstawowy przepływ pracy z wersjami roboczymi i eksperymentami w scenariuszu.
Wersje robocze
Utworzenie wersji roboczej
Wersja robocza powstaje na podstawie dotychczasowej kampanii podstawowej za pomocą
DraftBuilder
i nadaj mu niepowtarzalną nazwę. Kampania podstawowa musi być kampanią w sieci wyszukiwania lub w sieci wyszukiwania
kampania z rozszerzeniem na sieć reklamową lub kampania w sieci reklamowej (z wyłączeniem kampanii promującej aplikację mobilną)
kampanii w sieci reklamowej) i nie może mieć wspólnego budżetu.
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()
zwraca
DraftOperation
,
typową operację w Skryptach. Zobacz nasz przewodnik
.
Element draft
jest jednoznacznie identyfikowany na podstawie kombinacji podstawowego identyfikatora kampanii
identyfikator wersji roboczej. Zobacz
DraftSelector.withIds()
.
Udostępnianie roboczej wersji kampanii
Obiekt draft
wiąże kampanię podstawową i roboczą wersję kampanii. Aby przeprowadzić aktualizacje na etapie przejściowym
wprowadzasz zmiany w wersji roboczej kampanii.
W wersji roboczej kampanii, tak jak w przypadku każdej innej kampanii, można rozmaitych atrybutów, takich jak kryteria, grupy reklam, stawki i reklamy.
const draftCampaign = draft.getDraftCampaign();
draftCampaign.setAdRotationType("CONVERSION_OPTIMIZE");
draftCampaign.createNegativeKeyword("shoes");
Pamiętaj, że w przypadku roboczych wersji kampanii weryfikacja zgodności z zasadami reklamowymi odbywa się tak samo a dotyczą one kampanii podstawowej. Nie możesz przeprowadzić eksperymentu w okresie: roboczą wersję kampanii, która zawiera reklamy naruszające zasady.
Wykonaj wersję roboczą
Po udostępnieniu roboczej wersji kampanii możesz wykonać jedną z tych czynności:
Jeśli nie chcesz stosować tych zmian, możesz po prostu usunąć wersję roboczą. Usunięcie wersji roboczej jest nieodwracalne, ale nadal można ją wyświetlić w sekcji Wszystkie wersje robocze na karcie „Wersje robocze” w interfejsie Google Ads.
draft.remove();
Jeśli zdecydujesz się zachować zmiany wprowadzone w wersji roboczej, możesz kontynuować i zastosuj je:
draft.startApplying();
Ta metoda rozpoczyna proces stosowania aktualizacji do bazy więc wersja robocza będzie miała stan Stosuję... w Interfejs Google Ads. Metoda nie Cię jednak powiadomi o tym, .
Jeśli chcesz najpierw przetestować zmiany, możesz użyć wersji roboczej utworzyć eksperyment.
Eksperymenty
Utworzenie eksperymentu
Element experiment
jest podobny do wersji roboczej i został utworzony na podstawie elementu podstawowego
kampanii. Tworzysz experiment
za pomocą
ExperimentBuilder
Spowoduje to automatyczne utworzenie eksperymentu z 2 „grupami” które reprezentują
z różnych części eksperymentu. Jedna z grup eksperymentalnych (nazywana grupą kontrolną)
będzie obejmowała kampanię podstawową, a druga (z nazwą grupy eksperymentalnej)
utwórz nową roboczą wersję kampanii, którą dostosujesz zgodnie z
wersji roboczej powyżej przed zaplanowaniem eksperymentu.
Podczas tworzenia eksperymentu pamiętaj, aby w sekcji kreator:
withCampaign
- Kampania, na której podstawie chcesz utworzyć eksperyment.
withTrafficSplitPercent
- Jaka część ruchu będzie kierowana do grupy eksperymentalnej. W przypadku 50% wpisz
50
. withStartDate
iwithEndDate
- Określa datę rozpoczęcia i zakończenia kampanii. Podaj w polu
YYYYMMdd
. withType
SEARCH_CUSTOM
lubDISPLAY_CUSTOM
, w zależności od sieci z których korzystają.withSuffix
- Określa sufiks, który zostanie dodany do nazwy kampanii eksperymentalnej podczas tworzenia.
withGoals
- Określa cele tego eksperymentu. To tylko przypomnienie dla siebie
jakie były Twoje cele
przy tworzeniu tej aplikacji. Dobra wartość domyślna to
[{metric: 'CLICKS', direction: 'INCREASE'}]
.
Procent podziału ruchu określa, jaka część ruchu będzie wyświetlana reklamy z kampanii eksperymentalnej, a nie z kampanii podstawowej. Z tego powodu każda kampania podstawowa może mieć tylko jeden aktywny eksperyment naraz.
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();
W przeciwieństwie do wersji roboczych eksperymenty mają po jednym identyfikatorze. Zobacz
ExperimentSelector.withIds()
.
Udostępnij kampanię eksperymentalną
Podobnie jak draft
, element experiment
nie jest kampanią. Chodzi raczej o to,
dotyczy kampanii podstawowej, wersji roboczej i kampanii z eksperymentem. Pola
kampanię z eksperymentem można modyfikować, z następującymi wyjątkami:
- nazwa
- status
- data rozpoczęcia
- data zakończenia
- budżet
const experimentCampaign = experiment.getExperimentCampaign();
// Will succeed.
experimentCampaign.setAdRotationType("ROTATE_FOREVER");
experimentCampaign.createNegativeKeyword("sneakers");
// Will fail.
experimentCampaign.setName("INSERT_EXPERIMENT_NAME_HERE");
Możesz zmienić nazwę, datę rozpoczęcia i zakończenia eksperymentu. Po tym czasie zostaną one zastosowane w kampanii eksperymentalnej.
// Will succeed.
experiment.setName("INSERT_EXPERIMENT_NAME_HERE");
// Will succeed if date is acceptable.
const date = "20220601";
experiment.setStartDate(date);
Aby rozpocząć eksperyment, zadzwoń pod numer experiment.startScheduling()
. To jest
asynchroniczny, ponieważ musi on skopiować wszystkie ustawienia z kampanii podstawowej.
Po zakończeniu eksperymentu
Po zakończeniu eksperymentu masz kilka opcji do wyboru. Zalecamy do końca eksperymentu i przestaje wyświetlać reklamy, ale możesz wchodzić w interakcję z nim. Zakończony eksperyment można usunąć, zastosować lub przestała być dostępna, a statystyki skuteczności kampanii są nadal dostępne.
experiment.finish();
const stats = experimentCampaign.getStatsFor("INSERT_TIME_PERIOD_HERE");
Jeżeli wyniki eksperymentu są niezadowalające na podstawie statystyk, możesz usunąć eksperyment, co spowoduje też usunięcie kampanii z eksperymentem. Usuwam eksperymentu jest nieodwracalny, ale można go wyświetlić w sekcji Wszystkie eksperymenty na karcie „Eksperymenty” w interfejsie Google Ads.
experiment.remove();
Jeśli wyniki eksperymentu są zadowalające, masz 2 opcje:
Możesz zacząć stosować zmiany i tak jak w przypadku wersji roboczych, nie zostaną one użytkownik otrzymuje powiadomienie o jego zakończeniu.
experiment.startApplying();
Możesz utworzyć kampanię eksperymentalną jako niezależną, w pełni funkcjonującą kampanię, nie wpływając na kampanię podstawową. Ten proces znany jako ukończenie szkoły, kończy się natychmiast i wymaga ustawienia nowego budżetu.
const budget = AdsApp.budgets() .withCondition(`campaign_budget.id = ${budgetId}`) .get() .next(); experiment.graduate(budget);
Nowa kampania nie może już współdzielić budżetu z kampanią podstawową. co wymaga nowego budżetu. Kampanie stopniowe działają tak samo normalnych kampanii, ponieważ wszystkie ich pola można modyfikować, może służyć jako podstawowa kampania dla kolejnych wersji roboczych i eksperymentów.
Inne uwagi
Encje podstawowe
Wprowadzenie do skryptów Google Ads wersji roboczych i eksperymentów zapewnia też
pojęcia jednostek podstawowych. Wersje robocze i eksperymenty kampanii oraz grupy reklam w
różnią się od oryginalnych kampanii podstawowych,
Campaign
i AdGroup
ma teraz metody dostępu do kampanii podstawowej i grupy reklam:
getBaseCampaign()
i getBaseAdGroup()
.
Te metody zwracają element wywołujący, jeśli został wywołany przez kampanię podstawową lub reklamę. grupy reklam. Elementy w kampaniach i grupach reklam, takie jak słowa kluczowe i reklamy, nie było niczym niezwykłym.
Aby ułatwić śledzenie elementów podstawowych, kampaniom przypisano
isBaseCampaign()
isDraftCampaign()
,
oraz
isExperimentCampaign()
.
Nowy
Campaign.draftCampaigns()
oraz
Campaign.experimentCampaigns()
pozwalają uzyskać dostęp do wszystkich wersji roboczych i kampanii z eksperymentem, w których
wywołując kampanię jako kampanię podstawową. Nie możesz jednak wybrać wersji roboczej
kampanie z
CampaignSelector.withCondition()
;
należy użyć funkcji
AdsApp.drafts()
.
Obsługa błędów
Poniższe metody wykorzystujące wersje robocze i eksperymenty są kontynuowane, gdy skrypt jest uruchomiony, ale może wystąpić asynchronicznie jego błąd:
Draft.startApplying()
Experiment.startApplying()
Experiment.startScheduling()
Zaczekaj, aby sprawdzić, czy te operacje się zakończą. Interfejs Google Ads
ma stan Stosowane lub Aktywne po pomyślnym ukończeniu weryfikacji.
odpowiednio startApplying()
i startScheduling()
. Wskazuje też
Nie można zastosować lub Nie można utworzyć w przypadku niepowodzenia, co umożliwia kliknięcie
pojawią się błędy.
Może się też zdarzyć, że niektóre metody zawiodą na etapie wersji przedpremierowej, ale zakończy się ich sukces. po ich uruchomieniu; na przykład po utworzeniu wersji roboczej:
const draftCampaign = draft.getDraftCampaign();
draftCampaign.createNegativeKeyword("shoes"); // Will fail in preview.
W trybie podglądu się nie uda, ponieważ nie ma dostępu do roboczej wersji kampanii natychmiast.
Podobnie tworzenie eksperymentu i próba natychmiastowego pobrania jego wersji roboczej. nie uda się uruchomić podglądu kampanii, ponieważ wersja robocza nie została utworzona.
Dlatego po ich uruchomieniu sprawdź logi pod listą skryptów, i kontynuuj wykonywanie skryptu, który nie powiódł się w trybie podglądu, tylko wtedy, gdy uważasz, że przyczyna jest uzasadniona z ograniczeniami w trybie podglądu.