Google 広告スクリプトを使用すると、CSV 形式でデータをアップロードして、アカウントに一括変更を加えることができます。Google ドライブ、Google スプレッドシート、Microsoft Excel スプレッドシートから CSV ファイルでデータをアップロードでき、スクリプトによる実行時の一括アップロード リクエストを作成することも可能です。このガイドでは、この機能をスクリプトで使用する方法について説明します。
用途
一括アップロードを使用すると、キャンペーンの管理やオフライン コンバージョンのアップロードなど、Google 広告スクリプトでは直接サポートされていない種類の変更を行うことができます。
Google ドライブからの一括アップロードの作成
一括アップロード機能を使用する最も簡単な方法は、Google ドライブに CSV ファイルをアップロードし、Google 広告スクリプトを使用してそのファイルを Google 広告にアップロードすることです。
const file = DriveApp.getFilesByName("BulkCampaignUpload.csv")
.next();
const upload = AdsApp.bulkUploads().newFileUpload(file);
upload.forCampaignManagement();
upload.preview();
これにより、アカウントの [ツールと設定] > [一括操作] > [アップロード] に一括アップロードのプレビュー エントリが作成されます。
[プレビュー] リンクをクリックして、変更内容を確認します。
アカウントに変更を適用するには、詳細ページの [変更を適用] ボタンをクリックします。アップロードしたファイルにエラーがある場合や、変更を適用しない場合は、[プレビューを破棄] ボタンをクリックして変更を破棄します。
スクリプトが正しく動作することを確認したら、プレビュー ステージをスキップして、スクリプトから直接変更を適用できます。これを行うには、preview()
メソッドではなく、一括アップロード インスタンスの apply()
メソッドを呼び出します。
一括アップロードの新規作成
一括アップロード ジョブをゼロから作成する方法は次のとおりです。
// The best way to find column names is to consult a template
// as described in the last section of this guide.
const columns = [
"Campaign", "Budget", "Bid Strategy type", "Campaign type"
];
const upload = AdsApp.bulkUploads().newCsvUpload(columns);
// Call append once for each row you'd like to upload
upload.append({
"Campaign": "Test Campaign 1",
"Budget": 2.34,
"Bid Strategy type": "cpc",
"Campaign type": "Search Only"
});
upload.forCampaignManagement();
upload.preview();
通貨単位の設定
デフォルトでは、一括アップロードの金額は実際の通貨額として解釈されます。マイクロ単位を使用する場合は、アップロード ジョブの作成時に moneyInMicros
オプションを true
に設定します(たとえば、2.34 ユーロは 2340000 と入力します)。
const upload = AdsApp.bulkUploads().newCsvUpload(columns,
{moneyInMicros: true});
ファイル ロケールの設定
デフォルトでは、CSV ファイルの内容は米国英語の言語 / 地域(en_US)で解釈されます。fileLocale
オプションを使用して別のロケールを指定できます。
const upload = AdsApp.bulkUploads().newCsvUpload(columns,
{fileLocale: "fr_FR"});
ロケールを指定する場合は、en_US
ロケールまたは fileLocale
プロパティで指定したロケールのいずれかで列ヘッダーを指定できます。
タイムゾーンを設定する
デフォルトでは、ファイル内の時間エントリは America/Los_Angeles で解釈されます。timeZone
オプションを使用して別のタイムゾーンを指定できます。TZ データベース形式でタイムゾーンを指定します。
const upload = AdsApp.bulkUploads().newCsvUpload(columns,
{timeZone: "America/New_York"});
タイムゾーンを設定すると、オフライン コンバージョンをアップロードする際に便利です。
一括アップロード用のスプレッドシート テンプレート
一括アップロード用のスプレッドシート テンプレートを最も簡単に入手するには、Google 広告 管理画面を使います。
- Google 広告アカウントにログインします。
- [ツールと設定] > [一括操作] > [アップロード] に移動します。
- [+] ボタンをクリックして、新しいアップロードを開始します。
- さまざまなテンプレートを選択できるセクションが表示されます。
ヘルプセンターからさまざまなテンプレートをダウンロードすることもできます。