Google Ads obsługuje różne typy reklam, np. reklamy tekstowe, graficzne i mobilne. Z tego przewodnika dowiesz się, jak tworzyć, pobierać i raportować reklamy za pomocą skryptów Google Ads. Omówienie wszystkich typów reklam obsługiwanych przez Google Ads znajdziesz w przewodniku po interfejsie API.
na podstawie trendów
Skrypty mogą tworzyć reklamy za pomocą metody
newAd()
w przypadku instancji
AdGroup. Zwraca to obiekt
AdBuilderSpace, który tworzy kreatory dla
obsługiwanych typów reklam.
Poniższy fragment kodu pokazuje, jak utworzyć elastyczną reklamę w wyszukiwarce:
let adOperation = adGroup.newAd().responsiveSearchAdBuilder()
.withHeadlines(["Headline 1", "Headline 2", "Headline 3"])
.withDescriptions(["Description 1", "Description 2"])
.withFinalUrl("http://www.example.com")
.withPath1("path1")
.withPath2("path2")
.build();
Inspekcja
Niektóre informacje powiązane ze wszystkimi typami reklam są od razu dostępne w Ad, np. identyfikator reklamy i stan zatwierdzenia. Każdą reklamę można też wstrzymać, włączyć lub usunąć.
Aby uzyskać dostęp do pól specyficznych dla typu reklamy, np. nagłówków elastycznej reklamy w wyszukiwarce, użyj metody
asType()
do utworzenia
AdViewSpace.
Zapewnia to dostęp do rozszerzonej wersji interfejsu Ad, która udostępnia metody specyficzne dla typu.
Ten fragment kodu pobiera nagłówki każdej elastycznej reklamy w wyszukiwarce:
const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
let ad = iterator.next();
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
}
Zwróć uwagę, że warunek Type = RESPONSIVE_SEARCH_AD zapewnia, że każda reklama z iteratora jest elastyczną reklamą w wyszukiwarce. Próba wyświetlenia reklamy o nieprawidłowym typie spowoduje błąd, który zatrzyma działanie skryptu. Dlatego ważne jest, aby wyświetlać pola specyficzne dla danego typu tylko wtedy, gdy typ reklamy jest znany.
Poniższy fragment kodu pokazuje, jak sprawdzić, czy reklama jest odpowiedniego typu, za pomocą metody Ad.isType():
if (ad.isType().responsiveSearchAd()) {
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
let descriptions = responsiveSearchAd.getDescriptions();
}
Nie możesz filtrować reklam według tekstu nagłówka za pomocą standardowych selektorów, ale możesz je filtrować w JavaScript po ich pobraniu:
const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
let ad = iterator.next();
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
// Filter for ads containing a specific headline.
if (headlines.some(h => h.getText().includes("Special Offer"))) {
console.log(`Found ad with ID ${ad.getId()}`);
}
}
Raportowanie
ad_group_adWidok umożliwia wysyłanie zapytań o pola reklamowe oprócz zwykłych statystyk. Możesz na przykład filtrować według typu reklamy za pomocą parametru ad_group_ad.ad.type.
Poniższy fragment kodu pokazuje, jak pobrać statystyki wszystkich elastycznych reklam w wyszukiwarce:
const results = AdsApp.search(
"SELECT ad_group_ad.ad_group.id, " +
"ad_group_ad.ad.id, " +
"metrics.clicks, " +
"metrics.impressions, " +
"metrics.cost " +
"FROM ad_group_ad " +
"WHERE ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD' " +
"AND segments.date DURING LAST_7_DAYS");
while (results.hasNext()) {
let row = results.next();
let adId = row.adGroupAd.ad.id;
let clicks = row.metrics.clicks;
...
}
Filtrowanie według treści zasobu
Aby na dużą skalę filtrować elastyczne reklamy w wyszukiwarce według treści nagłówków lub opisów, użyj zasobu
ad_group_ad_asset_view. W tym widoku każdy nagłówek i każdy opis są traktowane jako osobny wiersz, co umożliwia filtrowanie tekstu komponentu.
Poniższy fragment kodu pobiera statystyki wszystkich elastycznych reklam w wyszukiwarce, które zawierają określony nagłówek:
const results = AdsApp.search(
"SELECT ad_group_ad.ad.id, " +
"asset.text_asset.text, " +
"metrics.clicks, " +
"metrics.impressions " +
"FROM ad_group_ad_asset_view " +
"WHERE asset.text_asset.text LIKE '%Special Offer%' " +
"AND ad_group_ad_asset_view.field_type = 'HEADLINE'");
while (results.hasNext()) {
let row = results.next();
let adId = row.adGroupAd.ad.id;
let text = row.asset.textAsset.text;
let clicks = row.metrics.clicks;
console.log(`Ad ID ${adId} with headline "${text}" had ${clicks} clicks.`);
}
Więcej informacji o raportowaniu w skryptach znajdziesz w przewodniku po raportach.