AdWordsスクリプトを使用して入札単価を更新し、変更を監視する

公開: 2021-10-23

AdWordsスクリプトは、入札単価調整を管理するための優れたツールです。 GoogleスプレッドシートやAdWordsスクリプトを使用した入札の自動化などの以前の記事では、入札単価を変更してアップロードを処理するさまざまな方法について説明しました。 この記事では、それらのアイデアを取り入れて、独自の入札システムに統合します。

この記事では、アクセス可能であるか、どこにでもアクセスできるようにするために、引き続き高レベルのアプローチを維持します。 スクリプトの経験が少ない場合は、これを実行するのが簡単になります(これは、自分で適用できるものです)。 経験が豊富な場合は、ツールを拡張するために独自の編集を簡単に行うことができます。

このプロセス全体を通じて、無料のツールとアドオンを利用して、データを取得し、データを処理し、一連の入札変更をアップロードするシステムを作成します。 完全なスクリプトではなく、シートとアップロード機能を利用して、非コーダーが編集しやすくします。

使用するもの

Google AdWordsアドオンを使用してデータを収集し、Googleスプレッドシートを使用して入札を管理し、AdWordsスクリプトを使用して変更をフォーマットしてアップロードします。最後に、Googleスプレッドシートアプリを使用して変更をコピーし、参照用に保存します。

  • Google AdWordsアドオン–データを収集する
  • Googleスプレッドシート–数式を使用して変更を適用し、変更を返します。
  • AdWordsスクリプト–変更を確認し、アップロードファイルを作成し、AdWordsにプッシュし、変更ログをGoogleドライブに保存します。

データのプル

まず、データプルを設定する必要があります。 ツールを使用してデータを取り込むか、スクリプトを使用するか、データを手動で貼り付けることができます。 これは自動化に関するものなので、最後のオプションはスキップします。 最初の例では、AdWordsアドオンを使用し(今のところコードの公開を制限したい場合)、データプルのスクリプトを作成するためのリソースに戻ります。

AdWordsアドオンをインストールしたら、スプレッドシートに移動して新しいスプレッドシートを作成します。 アドオンを開き、シートの設定を開始します。 パフォーマンス指標と最大クリック単価の列を取得する必要があります。 最後の入札のパーセンテージとして入札を変更する場合は、現在の入札が必要になります。 記録を残したい場合は、列も必要になります。

必要に応じて、SuperMetricsなどのツールを使用することもできます。 または、AdWordsスクリプトのレポート機能を使用して変更をインポートすることもできます。 これらは両方とも、わずかに自動化されたソリューションを提供します。

レポート機能について詳しく知りたい場合は、次の記事を強くお勧めします。

Google Developers、レポート–AdWordsスクリプトレポートリファレンス

検索エンジンランド、Fred Vallaeys –このスクリプトはAdWordsデータをGoogleスプレッドシートに自動的に追加します

入札調整を行う

パフォーマンスデータを取得したら、新しい入札単価の計算を開始できます。 この例では、新しい列に基本的な数式を使用してCPAに基づいて調整します。

次に、変更された列を定義するヘルパー列を追加します。

次に、変更を保持するための新しいシートを作成します。これは、「アップロードするキーワードの変更」のように明白です。 query()を使用して、変更されたすべての行を独自のシートに戻すことをお勧めします。 これにより、AdWordsを簡単に利用できるようになり、正しい範囲を選択するために記述しなければならないコードが制限されます。

アップロードのフォーマット

これにはいくつかの手順が必要です。 必要がある、

  1. スプレッドシートにアクセスします。
  2. データをプルします。
  3. これをbulkUpload用にフォーマットし、ファイルを作成します
  4. ファイルをAdWordsにプッシュします。

スプレッドシートへのアクセスは非常に簡単です。URLとファイル名を使用してシートにアクセスします。

今少しトリッキーな部分。 プロセスに精通していない場合。 アップロード用のcsvファイルを作成する必要があります。 アップロードしたい行はすでにあります。 基本的に空白のファイルを作成し、「アップロードするキーワードの変更」シートの行を入力します。

アップロードを作成すると、アップロードから1行離れます。

バックアップログの作成

多くの場合、ユーザーは変更を元に戻す機能やシステムが正常に動作していないことを心配します。 可能性は低いですが、特に注意するために、コピーを作成してGoogleドライブに保存することができます。

事前にフォルダを作成することをお勧めします。 URLからフォルダIDをコピーし、スクリプトに挿入します。 これにより、トップレベルのドライブがコピーでいっぱいになるのを防ぎ、ドライブをきれいに保つのに役立ちます。

変更を加えたメールを送信する

電子メールの更新は、あなたとあなたのチームが変化に遅れずについていき、変化の大きさを監視するのに役立ちます。 emailAppを使用して、前のステップで作成した変更シートへのリンクを含む簡単なメッセージとともに、チームメンバーに電子メールを送信できます。 アップロードファイルの行をすばやくカウントして、入札単価の変更数をカウントすることもできます。

リンクを含めるために、メッセージの本文をHTMLとしてフォーマットし、いくつかの区切りを追加して、少し見栄えを良くします。

まとめ

キーワードデータを自動的に更新する場合は、スクリプトをスケジュールして、変更を自動的にプッシュします。

キーワードデータを手動でロードしている場合でも、アップロードをスケジュールすることはできますが、データを更新したらスクリプトを手動で実行する方が理にかなっています。

プロセスの改善

改善のための2つの主要な道があります。 プロセス全体を完全にスクリプト化し、スプレッドシート部分を削除することができます。 これにより、手順が合理化され、シートが不要な場合の管理が容易になります。

より複雑なルールと決定で入札シートを更新する2番目のオプション。 入札ルールに変数を追加したり、複数のコンバージョンタイプを実装したり、サードパーティのデータを含めたりすると、より効果的な入札モデルを構築するのに役立ちます。

フルスクリプト

関数main(){

//入札の更新をメールで送信
var email = [“ [email protected]”];

//入札シートのコピーを保持するために取っておいたフォルダのID
//ドライブフォルダのURLの末尾からプル
var bidFolderId =”;

//入札変更ブックのURL
var biddingWorkBookUrl =”;

//ブックを開く
var biddingWorkBook = SpreadsheetApp.openByUrl(biddingWorkBookUrl);

//入札額が変更されたシート
//文字列は自分のファイルの名前に更新できます
varkeywordBidUpload = brandBook.getSheetByName( 'Keyword Changes to Upload');

//コピーしたいシートを取得します
varkeywordBids = brandBook.getSheetByName( 'Keyword Bids');

//最後の行を取得して入札の変更数を計算します。
var bidChangeCount = keywordBids.getLastRow()-1;

関数createCopy(sheetObject){
var destinationFolder = DriveApp.getFolderById(bidFolderId);
var file = DriveApp.getFileById(sheetObject.getId())。makeCopy(”入札コピー–” + createDateString()、destinationFolder);
file.getUrl();を返します。
}

var brandCopy = createCopy(keywordBids);

関数uploadBids(シート){
//アップロードする列名を作成します
var columns = [「キャンペーン」、「広告グループ」、「キーワード」、「マッチタイプ」、「最大CPC」];
// csvアップロードを作成します
var upload = AdWordsApp.bulkUploads()。newCsvUpload(columns);
//シートからすべての値を取得します
var values = sheet.getDataRange()。getValues();
//シートの行を変換し、アップロードファイルに追加します
for(i = 1; i <values.length; i ++){
varcampaign = values [i] [0];
var ad_group = values [i] [1];
varキーワード=値[i] [2];
var match_type = values [i] [3];
var max_cpc = values [i] [4];

upload.append({
「キャンペーン」:キャンペーン、
「広告グループ」:ad_group、
「キーワード」:キーワード、
'マッチタイプ':match_type、
'最大。 CPC ':max_cpc});

};
};

uploadBids(keywordBidUpload);

//ファイル名に追加する日付テキストを作成します
関数createDateString(){
var newDate = new Date();
var month = String(newDate.getMonth());
var day = String(newDate.getDate());
var year = String(newDate.getFullYear());
戻り月+「-」+日+「-」+年;

}

var dateString = createDateString();

var subject =“アカウント入札の変更” + dateString;

var options = {
htmlBody:「こんにちは。<br/> <br/>入札単価の変更が実装されました。 <br /> <br />ありました” +
bidChangeCount +”キーワードの入札単価が変更されます。<br/> <br />” +
「変更点と以前の設定は、<br /> <br/>にあります」+
'<a href = \”' + brandCopy +
'”>ブランドの変更</a>';

}

MailApp.sendEmail(email、subject、”、options)

}
//スクリプトを終了します