Typy reklam

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.