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.
Z tego przewodnika dowiesz się, jak w skrypcie korzystać z wersji roboczych i eksperymentów.
Wersje robocze
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 oryginalnej kampanii. Zmiany przygotowane w ten sposób można następnie zastosować w kampanii podstawowej.
Utworzenie wersji roboczej
Wersję roboczą tworzy się na podstawie istniejącej kampanii podstawowej za pomocą ikony 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, 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ą z kampanią 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");
Sprawdzanie zgodności z zasadami dotyczącymi reklam jest przeprowadzane w przypadku wersji roboczej kampanii tak samo jak w przypadku kampanii podstawowej. Nie możesz przeprowadzić eksperymentu w kampanii roboczej, która zawiera reklamy naruszające zasady.
Wykonaj wersję roboczą
Po udostępnieniu 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
Eksperyment polega na równoległym prowadzeniu konfigurowalnej kampanii i kampanii pierwotnej oraz wyświetlaniu reklam określonej części ruchu. Na podstawie wyników eksperymentu możesz zastosować zmiany w kampanii podstawowej, przekształcić eksperyment w niezależną kampanię lub zrezygnować z kampanii eksperymentalnej.
Utworzenie eksperymentu
experiment jest podobny do wersji roboczej i również jest tworzony na podstawie kampanii podstawowej.
Tworzysz experiment za pomocą ExperimentBuilder. Spowoduje to automatyczne utworzenie eksperymentu z 2 „grupami”, które reprezentują różne części eksperymentu. Jedna grupa (nazywana grupą kontrolną) będzie zawierać kampanię podstawową, a druga (nazywana grupą eksperymentalną) – nową kampanię w wersji roboczej, którą dostosujesz (zgodnie z wcześniejszymi instrukcjami 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- ruchu zostanie przekierowany do grupy eksperymentalnej. W przypadku 50% podaj
50. withStartDateiwithEndDate- Określa datę rozpoczęcia i zakończenia kampanii. Określ w
YYYYMMddformacie .
withTypeSEARCH_CUSTOMlubDISPLAY_CUSTOMw zależności od sieci, z której korzystasz.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ą jednoznacznie identyfikowane za pomocą jednego 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. Po wprowadzeniu tych zmian zostaną one 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ż musi skopiować wszystkie ustawienia z kampanii podstawowej.
Po zakończeniu eksperymentu
Po zakończeniu eksperymentu masz kilka możliwości. Zalecamy poczekać do zakończenia eksperymentu, aby przestał wyświetlać reklamy, ale nadal można było 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 elementów bazowych. Kampanie w wersji roboczej i kampanie 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 kampanii eksperymentalnych, których kampanią podstawową jest kampania wywołująca.
Nie możesz jednak wybierać kampanii w wersji roboczej z CampaignSelector.withCondition(). Zamiast tego użyj 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 działań startApplying() i startScheduling() wyświetlają się odpowiednio stany Zastosowano i 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 podglądzie, 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 natychmiastowa próba pobrania jego wersji roboczej kampanii nie powiedzie 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.