一括アップロード

AdWords スクリプトでは、CSV 形式でデータをアップロードしてアカウントに一括で変更を加えることができます。Google ドライブ、Google スプレッドシート、Microsoft Excel スプレッドシートから CSV ファイルでデータをアップロードでき、スクリプトによる実行時の一括アップロード リクエストを作成することも可能です。このガイドでは、この機能をスクリプトで使用する方法について説明します。

メリット

一括アップロードには次のようなメリットがあります。

  • AdWords スクリプトにまだ実装されていない可能性がある機能を利用できる。
  • レポート データの変換やエンティティの変更を簡単に処理できる。
  • 数量や時間の面で制限が緩和される。一括アップロードの制限は、一括アップロードを開始するスクリプトとは別に設定されます。

サポートされる操作

現在 AdWords では、一括アップロードによる次の操作をサポートしています。

  • キャンペーン管理: キャンペーン、広告グループ、キーワード、テキスト広告を、一括アップロードによって作成、編集、削除できます。既存の広告グループの条件、広告、商品グループも編集できます。
  • オフライン コンバージョン: 一括アップロードを使ってアカウントにオフライン コンバージョンをアップロードできます。

使用方法

Google ドライブからの一括アップロードの作成

一括アップロード機能を最も簡単に使用する方法は、CSV ファイルを Google ドライブにアップロードし、そのファイルを AdWords スクリプトを使って AdWords にアップロードする方法です。これは、次のようなコードで実行できます。

var file = DriveApp.getFilesByName("BulkCampaignUpload.csv")
    .next();
var upload = AdWordsApp.bulkUploads().newFileUpload(file);
upload.forCampaignManagement();
upload.preview();

これにより、一括アップロードのプレビュー エントリがアカウントに作成されます。確認するには、アカウントで [一括処理] > [一括アップロード] の順に選択します。

[プレビュー] リンクをクリックして変更を表示します。

アカウントに変更を適用するには、詳細ページの [変更を適用] ボタンをクリックします。アップロードされたファイルにエラーがある場合や変更を適用しない場合は、[プレビューを破棄] ボタンをクリックして変更を破棄します。

スクリプトのロジックが正常に動作することを確認したら、プレビュー段階を省略してスクリプトから直接変更を適用できます。これには preview() メソッドではなく、一括アップロード インスタンスの apply() メソッドを使用します。

レポートからの一括アップロードの作成

一括アップロードは AdWords のレポートから作成することもできます。以下は、今月 1,000 ドル以上の費用が発生したすべてのキャンペーンを一時停止するコード スニペットです。

// Run a report to fetch all campaigns that spent more than $1000
// last month.
var query = 'SELECT CampaignId,CampaignName,CampaignStatus,Amount' +
    'FROM CAMPAIGN_PERFORMANCE_REPORT' +
    'WHERE Amount > 1000000000' +
    'DURING THIS_MONTH';
var report = AdWordsApp.report(query);

// Create an upload with the report columns.
var upload = AdWordsApp.bulkUploads().newCsvUpload([
    report.getColumnHeader('CampaignId').getBulkUploadColumnName(),
    report.getColumnHeader('CampaignName').getBulkUploadColumnName(),
    report.getColumnHeader('CampaignStatus').getBulkUploadColumnName()]);
upload.forCampaignManagement();

var rows = report.rows();
while (rows.hasNext()) {
  var row = rows.next();
  // Pause the campaigns.
  row.CampaignStatus = 'paused';

  // Convert the report row into an upload row.
  upload.append(row.formatForUpload());
}

// Use upload.apply() to make changes without previewing.
upload.preview();

一括アップロードの新規作成

一括アップロード ジョブをゼロから作成する方法は次のとおりです。

var columns = [
   "Campaign", "Budget", "Bid Strategy type", "Campaign type"
];

var upload = AdWordsApp.bulkUploads().newCsvUpload(columns);

upload.append({
   'Campaign': 'Test Campaign 1',
   'Budget': 2340000,
   'Bid Strategy type': 'cpc',
   'Campaign type': 'Search Only'
});
upload.forCampaignManagement();
upload.preview();

通貨単位の設定

デフォルトでは、一括アップロードの金額はマイクロ単位と解釈されます。マイクロ単位ではなく実際の通貨による金額を使用する場合は、アップロード ジョブを作成する際に moneyInMicros オプションを false に設定します。

var upload = AdWordsApp.bulkUploads().newCsvUpload(columns,
    {moneyInMicros: false});

ファイル ロケールの設定

デフォルトでは、csv ファイルの内容は米国英語(en_US)の言語 / 地域と解釈されます。別の言語 / 地域を指定するには、以下のように fileLocale オプションを使います。

var upload = AdWordsApp.bulkUploads().newCsvUpload(columns,
    {fileLocale: "fr_FR"});

言語 / 地域を指定する際は、en_US の言語 / 地域、または fileLocale プロパティで指定した言語 / 地域で、列見出しを追加できます。

タイムゾーンの設定

デフォルトでは、ファイルの時間に関するエントリは PST で解釈されます。別のタイムゾーンを指定するには、以下のように timeZone オプションを使います。

var upload = AdWordsApp.bulkUploads().newCsvUpload(columns,
    {timeZone: "-0800"});

タイムゾーン設定は、オフライン コンバージョンをアップロードする際に便利です。

一括アップロード用のスプレッドシート テンプレート

一括アップロード用のスプレッドシート テンプレートを最も簡単に入手するには、AdWords 管理画面を使います。

  • https://adwords.google.com から AdWords アカウントにログインします。
  • キャンペーンを選択します。
  • 編集のタイプに応じて、[キーワード]、[広告]、[広告グループ]、[キャンペーン] のいずれかのタブをクリックします。
  • [編集] メニューの [レポートをダウンロード] ボタンをクリックします。
  • スプレッドシートの形式を選択して [ダウンロード] をクリックします。

これらの列は、以下のように AdWordsApp.reports() メソッドを使って取得できます。

var report = AdWordsApp.report("SELECT CampaignName, CampaignStatus " +
    "FROM CAMPAIGN_PERFORMANCE_REPORT " +
    "DURING TODAY");
Logger.log("%s, %s",
    report.getColumnHeader("CampaignName").getBulkUploadColumnName(),
    report.getColumnHeader("CampaignStatus").getBulkUploadColumnName()
);

詳細は、一括アップロードのエンティティに関するリファレンス ページでもご確認いただけます。

コード

この機能を使用したその他の例については、コードのページをご確認ください。

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

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