Skrypty Google Ads obsługują wersje robocze i eksperymenty kampanii, które służą do przygotowywania i testowania zmian w kampaniach w sieci wyszukiwania i sieci reklamowej.
Wersja robocza to klon istniejącej kampanii, która nie wyświetla własnych reklam, ale może służyć do wprowadzania zmian bez modyfikowania pierwotnej kampanii. Zmiany w wersji roboczej można następnie zastosować w kampanii podstawowej.
Eksperyment to konfigurowalna kampania, która działa równolegle do pierwotnej kampanii i wyświetla reklamy określonej części ruchu. Na podstawie wyników eksperymentu możesz zastosować zmiany w pierwotnej kampanii, przekształcić eksperyment w niezależną kampanię lub zrezygnować z kampanii eksperymentalnej.
W tym przewodniku znajdziesz podstawowy przepływ pracy związany z używaniem wersji roboczych i eksperymentów w skrypcie.
Wersje robocze
Utworzenie wersji roboczej
Wersję roboczą tworzy się na podstawie istniejącej kampanii podstawowej za pomocą funkcji
DraftBuilder
i nadając jej unikalną nazwę. Kampania podstawowa musi być kampanią w sieci wyszukiwania, kampanią w sieci wyszukiwania z rozszerzeniem na sieć reklamową lub kampanią w sieci reklamowej (z wyjątkiem kampanii w sieci reklamowej promującej aplikacje mobilne) i nie może mieć budżetu wspólnego.
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
, co jest typową operacją w skryptach. Więcej informacji znajdziesz w naszym przewodniku dla twórców.
draft
jest jednoznacznie identyfikowana przez połączenie identyfikatora kampanii podstawowej i identyfikatora wersji roboczej. Więcej informacji znajdziesz w sekcji DraftSelector.withIds()
.
Udostępnianie roboczej wersji kampanii
Obiekt draft
łączy kampanię podstawową i kampanię w wersji roboczej. Aby przygotować aktualizacje kampanii podstawowej, rozpowszechnij zmiany w kampanii w wersji roboczej.
Kampania robocza, podobnie jak każda inna kampania, ma metody pobierania i ustawiania różnych atrybutów, takich jak kryteria, grupy reklam, stawki i reklamy.
const draftCampaign = draft.getDraftCampaign();
draftCampaign.setAdRotationType("CONVERSION_OPTIMIZE");
draftCampaign.createNegativeKeyword("shoes");
Wersja robocza kampanii jest sprawdzana pod kątem zgodności z zasadami dotyczącymi reklam tak samo jak kampania podstawowa. Nie możesz przeprowadzić eksperymentu w roboczej wersji kampanii, która zawiera reklamy naruszające zasady.
Wykonaj wersję roboczą
Po utworzeniu wersji roboczej kampanii możesz wykonać jedną z tych czynności:
Jeśli nie chcesz wprowadzać 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 wersji roboczych w interfejsie Google Ads.
draft.remove();
Jeśli zdecydujesz się zachować zmiany wprowadzone w wersji roboczej, możesz je zastosować:
draft.startApplying();
Ta metoda rozpoczyna proces stosowania zmian w kampanii podstawowej, więc w interfejsie Google Ads wersja robocza będzie mieć stan Stosowanie…. Ta metoda nie powiadomi Cię jednak o zakończeniu procesu.
Jeśli chcesz najpierw przetestować zmiany, możesz użyć wersji roboczej do utworzenia eksperymentu.
Eksperymenty
Utworzenie eksperymentu
experiment
jest podobna do wersji roboczej i również jest tworzona na podstawie kampanii podstawowej. Tworzysz experiment
z ExperimentBuilder
.
Spowoduje to automatyczne utworzenie eksperymentu z 2 „grupami”, które reprezentują różne części eksperymentu. Jedna gałąź (zwana gałęzią kontrolną) będzie zawierać kampanię podstawową, a druga (zwana gałęzią eksperymentalną) – nową kampanię w wersji roboczej, którą dostosujesz (zgodnie z wcześniejszymi krokami dotyczącymi wersji roboczej) przed zaplanowaniem eksperymentu.
Podczas tworzenia eksperymentu w narzędziu do tworzenia ustaw te elementy:
withCampaign
- Kampania, na której ma być oparty eksperyment.
withTrafficSplitPercent
- odsetek ruchu, który zostanie przekierowany do grupy eksperymentalnej. W przypadku 50% podaj
50
. withStartDate
iwithEndDate
- Określa datę rozpoczęcia i zakończenia kampanii. Określ w
YYYYMMdd
formacie .
withType
SEARCH_CUSTOM
lubDISPLAY_CUSTOM
, w zależności od używanej sieci.withSuffix
- Określa sufiks, który zostanie dodany do nazwy kampanii eksperymentalnej podczas jej tworzenia.
withGoals
- Określa cele tego eksperymentu. To tylko przypomnienie dla Ciebie, jakie były Twoje cele podczas tworzenia tego projektu. Dobrą wartością domyślną jest
[{metric: 'CLICKS', direction: 'INCREASE'}]
.
Odsetek podziału ruchu określa, jaka część ruchu będzie wyświetlać reklamy z kampanii eksperymentalnej zamiast z kampanii podstawowej. Z tego powodu każda kampania podstawowa może mieć w danym momencie tylko 1 aktywny eksperyment.
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 są identyfikowane za pomocą jednego unikalnego identyfikatora. Więcej informacji znajdziesz w sekcji ExperimentSelector.withIds()
.
Udostępnianie kampanii z eksperymentem
Podobnie jak draft
, experiment
nie jest kampanią. Zamiast tego odnosi się do kampanii podstawowej, wersji roboczej i kampanii eksperymentalnej. Pola kampanii eksperymentalnej można modyfikować, z wyjątkiem tych:
- 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");
W eksperymencie można wprowadzać zmiany w nazwie, dacie rozpoczęcia i dacie zakończenia, które następnie zostaną przeniesione do kampanii z eksperymentem.
// Will succeed.
experiment.setName("INSERT_EXPERIMENT_NAME_HERE");
// Will succeed if date is acceptable.
const date = "20220601";
experiment.setStartDate(date);
Aby rozpocząć eksperyment, kliknij experiment.startScheduling()
. Jest to proces asynchroniczny, ponieważ wymaga skopiowania wszystkich ustawień z kampanii podstawowej.
Po zakończeniu eksperymentu
Po zakończeniu eksperymentu masz kilka możliwości. Zalecamy poczekać, aż eksperyment się zakończy. Wtedy przestanie wyświetlać reklamy, ale nadal będzie można z nim wchodzić w interakcje. Eksperyment ze stanem Zakończony można nadal usunąć, zastosować lub przekształcić w kampanię, a statystyki skuteczności kampanii są nadal dostępne.
experiment.finish();
const stats = experimentCampaign.getStatsFor("INSERT_TIME_PERIOD_HERE");
Jeśli na podstawie statystyk nie jesteś zadowolony(-a) z eksperymentu, możesz go usunąć. Spowoduje to również usunięcie kampanii eksperymentalnej. Usunięcie eksperymentu jest nieodwracalne, ale nadal można go wyświetlać w sekcji Wszystkie eksperymenty na karcie eksperymentów w interfejsie Google Ads.
experiment.remove();
Jeśli wyniki eksperymentu są zadowalające, masz 2 możliwości:
Możesz zacząć stosować zmiany. Podobnie jak w przypadku wersji roboczych nie otrzymasz powiadomienia o zakończeniu procesu.
experiment.startApplying();
Możesz utworzyć kampanię eksperymentalną jako niezależną, w pełni działającą kampanię, bez wywierania wpływu na kampanię podstawową. Ten proces, zwany przejściem, 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ż mieć budżetu wspólnego z kampanią podstawową, dlatego wymaga nowego budżetu. Kampanie stopniowe są podobne do zwykłych kampanii, ponieważ wszystkie ich pola można modyfikować i mogą one służyć jako kampania podstawowa dla większej liczby wersji roboczych i eksperymentów.
Inne uwagi
Encje podstawowe
Wprowadzenie wersji roboczych i eksperymentów do skryptów Google Ads wiąże się też z pojęciem jednostek podstawowych. Kampanie w wersji roboczej i eksperymentalne oraz grupy reklam w nich zawarte różnią się od pierwotnych kampanii podstawowych, dlatego Campaign
i AdGroup
mają teraz metody dostępu do kampanii podstawowej i grupy reklam: getBaseCampaign()
i getBaseAdGroup()
.
Te metody zwracają podmiot wywołujący, jeśli są wywoływane przez kampanię podstawową lub grupę reklam. Takie metody zostały też udostępnione w przypadku elementów w kampaniach i grupach reklam, takich jak słowa kluczowe i reklamy.
Aby ułatwić śledzenie podstawowych elementów, kampanie mają metody
isBaseCampaign()
,
isDraftCampaign()
,
i
isExperimentCampaign()
.
Nowe metody
Campaign.draftCampaigns()
i
Campaign.experimentCampaigns()
umożliwiają dostęp do wszystkich wersji roboczych i eksperymentalnych kampanii, które mają kampanię wywołującą jako kampanię podstawową. Nie możesz jednak wybierać wersji roboczych kampanii za pomocą symbolu CampaignSelector.withCondition()
. Zamiast tego użyj symbolu AdsApp.drafts()
.
Obsługa błędów
Poniższe metody dotyczące wersji roboczych i eksperymentów są wykonywane po uruchomieniu skryptu, ale mogą zakończyć się niepowodzeniem asynchronicznie:
Draft.startApplying()
Experiment.startApplying()
Experiment.startScheduling()
Poczekaj, aż te operacje się powiodą. W interfejsie Google Ads po pomyślnym zakończeniu zadań startApplying()
i startScheduling()
wyświetlają się stany Zastosowano lub Aktywny. W przypadku niepowodzenia wyświetla się komunikat Nie można zastosować lub Nie można utworzyć, a kliknięcie go umożliwia wyświetlenie błędów.
Możliwe też, że niektóre metody nie działają w fazie podglądu, ale działają po uruchomieniu, np. po utworzeniu wersji roboczej:
const draftCampaign = draft.getDraftCampaign();
draftCampaign.createNegativeKeyword("shoes"); // Will fail in preview.
W trybie podglądu ta operacja się nie powiedzie, ponieważ nie można od razu uzyskać dostępu do kampanii w wersji roboczej.
Podobnie utworzenie eksperymentu i natychmiastowe próby pobrania jego wersji roboczej kampanii nie powiodą się w trybie podglądu, ponieważ wersja robocza nie jest faktycznie tworzona.
Z tego powodu po uruchomieniu skryptów sprawdź logi pod listą skryptów i kontynuuj pracę ze skryptem, który nie działał w trybie podglądu, tylko wtedy, gdy uważasz, że przyczyną są ograniczenia trybu podglądu.