ビルダー

AdWords スクリプトでエンティティを作成する場合は、通常ビルダーを使用します。ビルダーを使うと、AdWords エンティティを同期または非同期で作成できます。 また、操作が成功したかどうかをチェックし、その結果に応じて適切な対応を講じることができます。以下のコード スニペットは、ビルダーを使ってキーワードを作成する方法を示しています。

// Retrieve your ad group.
var adGroup = AdWordsApp.adGroups().get().next();

// Create a keyword operation.
var keywordOperation = adGroup.newKeywordBuilder()
    .withCpc(1.2)
    .withText("shoes")
    .withFinalUrl("http://www.example.com/shoes")
    .build();

// Optional: examine the outcome. The call to isSuccessful()
// will block until the operation completes.
if (keywordOperation.isSuccessful()) {
  // Get the result.
  var keyword = keywordOperation.getResult();
} else {
  // Handle the errors.
  var errors = keywordOperation.getErrors();
}

ビルダーの最新リリースでは、広告キーワードのサポートが追加されています。 広告グループと広告表示オプション(電話番号サイトリンクモバイルアプリ)に対応した既存のビルダーも標準で提供されます。また、addSitelinkaddPhoneNumberaddMobileApp の各メソッド(AdGroup および Campaign クラス)が結果の操作を返すようになりました。

パフォーマンスについての考慮事項

AdWords スクリプトの操作はデフォルトでは非同期で実行されます。これによってスクリプトが操作を一括で実行できるようになることで、パフォーマンスが改善されています。 ただし、isSuccessful()getResult() といった Operation メソッドの呼び出しでは、AdWords スクリプトが保留中の操作リストをフラッシュするため、パフォーマンスが低下する場合があります。このような場合は、配列を作成して操作を保留し、その配列に対して反復処理を実行し、結果を取得するようにしてください。

パフォーマンス低 パフォーマンス高
for (var i = 0; i < keywords.length; i++)
  var keywordOperation = adGroup
    .newKeywordBuilder()
    .withText(keywords[i])
    .build();

  // Bad: retrieving the result in the same
  // loop that creates the operation
  // leads to poor performance.
  var newKeyword =
      keywordOperation.getResult();
  newKeyword.applyLabel("New keywords”);
}
// Create an array to hold the operations
var operations = [];

for (var i = 0; i < keywords.length; i++) {
  var keywordOperation = adGroup
    .newKeywordBuilder()
    .withText(keywords[i])
    .build();
  operations.push(keywordOperation);
}

// Process the operations separately. Allows
// AdWords scripts to group operations into
// batches.
for (var i = 0; i < operations.length; i++) {
  var newKeyword = operations[i].getResult();
  newKeyword.applyLabel("New keywords”);
}

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。