Google Ads obsługuje różne typy reklam, takie jak 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.
Tworzenie
Skrypty mogą tworzyć reklamy za pomocą metody
newAd()
w instancjach
AdGroup. Zwraca ona
AdBuilderSpace
która tworzy narzędzia do tworzenia dla
obsługiwanych typów reklam.
Ten 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 jej stan zatwierdzenia. Ponadto każdą reklamę można 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
asType()
metody do utworzenia
AdViewSpace.
Dzięki temu uzyskasz dostęp do rozszerzonej wersji
Ad, która udostępnia
metody specyficzne dla danego 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 wykonywanie skryptu. Dlatego ważne jest, aby wyświetlać pola specyficzne dla danego typu tylko wtedy, gdy typ reklamy jest znany.
Ten fragment kodu pokazuje, jak sprawdzić, czy reklama jest prawidłowego typu
za pomocą
Ad.isType()
metody:
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
Widok ad_group_ad może być
używany do wysyłania zapytań o pola reklam oprócz zwykłych statystyk. Możesz na przykład
filtrować według typu reklamy za pomocą
ad_group_ad.ad.type.
Ten 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 komponentu
Aby filtrować elastyczne reklamy w wyszukiwarce według treści ich nagłówków lub
opisów na dużą skalę, użyj
ad_group_ad_asset_view
zasobu. W tym widoku każdy nagłówek i opis jest traktowany jako osobny wiersz, co umożliwia filtrowanie według tekstu komponentu.
Ten 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.