ブライト・ベッセルは買収を通じて拡大している。WordPressエージェンシーをAutomatticパートナーと検証済みのWooCommerceエキスパートに販売します。
つながろう
MCCアカウント全体でGoogle広告の目標ステータスを監視する方法
MCCアカウント全体でGoogle広告の目標ステータスを監視する方法

Google スプレッドシートを使用して、複数の MCC アカウントで Google 広告の目標ステータスを監視する方法

この記事をお楽しみいただけましたか?
ソーシャルメディアでシェアしましょう!
コンテンツ

このチュートリアルでは、MCC 傘下の全アカウントにおけるコンバージョン目標のアクティビティを監査するスクリプトについて説明します。このスクリプトは、結果を Google スプレッドシートに書き込み、各目標のステータスをタグ付けし、ステータスを色分けして、問題が発生した場合のみ概要をメールで通知します。

不要なツールやサードパーティのダッシュボードはなく、生のコントロールと完全な可視性だけが備わっています。

MCC アカウント全体で Google 広告の目標ステータスを監視する

このスクリプトの機能

このスクリプトは、MCC傘下のすべてのGoogle広告アカウントを監査し、定義されたルックバック期間における各コンバージョン目標のステータスを評価します。どの目標が有効で、どの目標が無効かを推測する代わりに、このシステムではGoogleスプレッドシートにリアルタイムのスナップショットが表示され、対応が必要な場合にのみアラートが表示されます。

  • MCCに接続し、リンクされた各アカウントをループします
  • ブロックリストに登録したアカウントをスキップします(除外)
  • 設定されたルックバック期間におけるキャンペーンレベルのコンバージョン パフォーマンスを取得します
  • 各コンバージョン目標の健全性を評価する
  • Googleスプレッドシートに結果を記録し、ステータスに背景色を適用する
  • 問題のあるアカウントまたは目標のみの概要をメールで送信します

メール通知

メール通知は 2 つあります。1 つは注意が必要なアカウント用、もう 1 つはすべての正常なアカウント用です。

例:

問題のあるアカウントまたは目標
メッセージ:

わかりました。スクリプトに必要なのは 2つの異なる電子メール出力 :

  1. ✅「すべて順調」メール (もし 問題なし が見つかりました)

  2. ⚠️「要注意」メール (もし どれでも 目標が非アクティブ、欠落、またはパフォーマンスが低い)

サンプル データと現在のロジックを使用した場合、両方のバージョンは次のようになります。

メッセージ #1

監視対象のすべてのコンバージョン目標は、過去 60 日間のアクティビティを報告しています。

どのアカウントにも問題は見つかりませんでした。

完全なレポートを見る:
https://docs.google.com/spreadsheets/d/yoursheetid

メッセージ #2

次のコンバージョン目標は確認が必要な場合があります (例: 最近のコンバージョンがない、または非アクティブ)。

Bright Widgets Inc (123-456-789) - お問い合わせフォームの送信(要注意)
Acme Corp (987-654-321) - スケジュール通話 (非アクティブ)
Acme Corp (987-654-321) - 無料トライアル登録(要注意)
Rocket Leads (456-789-123) - (設定済み、アクティビティなし) (最近のコンバージョンなし)
ベータテストグループ (321-654-987) - (未設定) (非アクティブ)
Zebra Analytics (999-111-222) - ホワイトペーパーのダウンロード (要注意)

完全なレポートを見る:
https://docs.google.com/spreadsheets/d/yoursheetid

要件

スクリプトをデプロイする前に、環境が正しく設定されていることを確認してください。このスクリプトは、Google 広告クライアントセンターのコンテキスト内で実行され、データの書き込みとアラートの送信を行うように設計されています。

  • Google 広告クライアントセンターアカウント
  • Google スプレッドシート(手動で作成する必要があります)

オリジナル脚本

これは完全な未編集のスクリプトです。コメント、フォーマット、ロジックはすべて元の記述のままです。このチュートリアルの後半で詳細を確認する場合は、変更しないでください。

// ========== 設定 ==========

const SHEET_ID = '1PvpW3eUl5fqRwabBg0P7D8LKzW83MOTVX1KDBMB3ipA';

const LOOKBACK_DAYS = 60;

const EXCLUDED_ACCOUNT_IDS = [

'000-000-000', '000-000-000', '000-000-000'

];

const RECIPIENT_EMAILS = ' [メールアドレス] ';

// ===================================

関数 main() {

constsheet = SpreadsheetApp.openById(SHEET_ID).getSheets()[0];

シート.クリア();

Sheet.appendRow(['アカウント名', 'アカウントID', '目標名', 'コンバージョン数', 'ステータス', '期間']);

const startDate = getDateXDaysAgo(LOOKBACK_DAYS);

const endDate = getTodayDate();

const dateRangeLabel = `過去 ${LOOKBACK_DAYS} 日間 (${startDate} から ${endDate})`;

const accounts = MccApp.accounts().get();

const flagged = [];

let rowIndex = 2;

while (accounts.hasNext()) {

const account = accounts.next();

const accountId = account.getCustomerId();

const accountName = account.getName();

Logger.log(`⏳ 当座預金口座: ${accountName} (${accountId})`);

if (EXCLUDED_ACCOUNT_IDS.includes(accountId)) {

Logger.log(`🚫 除外口座をスキップ: ${accountName} (${accountId})`);

continue;

}

try {

MccApp.select(account);

const query = `

SELECT ConversionTypeName, Conversions

FROM CAMPAIGN_PERFORMANCE_REPORT

DURING ${startDate},${endDate}

`;

const report = AdsApp.report(query);

const rows = report.rows();

const goalMap = {};

while (rows.hasNext()) {

const row = rows.next();

const goalName = row['ConversionTypeName'] || '(not set)';

const Conversions = parseFloat(row['Conversions']) || 0;

if (!goalMap[goalName]) {

goalMap[goalName] = 0;

}

goalMap[goalName] += Conversions;

}

if (Object.keys(goalMap).length === 0) {

Logger.log(`⚠️ アカウント ${accountName} (${accountId}) のコンバージョンデータが返されませんでした`);

const status = '最近のコンバージョンがありません';

sheet.appendRow([

accountName,

accountId,

'(設定済み、アクティビティなし)',

0,

status,

dateRangeLabel

]);

setStatusColumnColor(sheet, rowIndex, status);

flagged.push(`${accountName} (${accountId}) - コンバージョン目標はトリガーされていません`);

rowIndex++;

continue;

}

for (const [goalName, totalConversions] of Object.entries(goalMap)) {

let status;

if (totalConversions > 0) {

status = 'アクティブ';

} else if (goalName.toLowerCase().includes('test') || goalName === '(not set)') {

status = '非アクティブ';

} else {

status = '要注意';

}

sheet.appendRow([

accountName,

accountId,

goalName,

totalConversions,

status,

dateRangeLabel

]);

setStatusColumnColor(sheet, rowIndex, status);

if (status !== 'アクティブ') {

flagged.push(`${accountName} (${accountId}) - ${goalName} (${status})`);

}

rowIndex++;

}

} catch (e) {

Logger.log(`❌ アカウントの処理中にエラーが発生しました: ${accountName} (${accountId}) - ${e.message}`);

}

}

if (flagged.length > 0) {

const subject = '⚠️ コンバージョン目標の確認が必要です';

const body = `以下のコンバージョン目標は確認が必要です(例:最近のコンバージョンがない、または非アクティブ):\n\n`

+ flagged.join('\n')

+ `\n\n完全なレポートを表示:\nhttps://docs.google.com/spreadsheets/d/${SHEET_ID}`;

MailApp.sendEmail(RECIPIENT_EMAILS, subject, body);

} else {

Logger.log('✅ すべての目標でコンバージョンが報告されています。');

}

}

// 🎨 「ステータス」列(列 E)のみに色を適用

function setStatusColumnColor(sheet, row, status) {

const range = sheet.getRange(row, 5); // 列 E

switch (status) {

case 'Active':

range.setBackground('#d9ead3'); // 薄緑

break;

case 'Inactive':

range.setBackground('#f4cccc'); // 薄赤

break;

case 'Needs Attention':

range.setBackground('#fff2cc'); // 薄黄色

break;

case 'No Recent Conversions':

range.setBackground('#e6e6fa'); // 薄紫

break;

default:

range.setBackground(null);

}

}

// 🕒 ヘルパー

function getTodayDate() {

const date = new Date();

return Utilities.formatDate(date, AdsApp.currentAccount().getTimeZone(), 'yyyyMMdd');

}

function getDateXDaysAgo(days) {

const date = new Date();

date.setDate(date.getDate() - days);

return Utilities.formatDate(date, AdsApp.currentAccount().getTimeZone(), 'yyyyMMdd');

} 

セクション別スクリプト内訳

構成

  • SHEET_ID: すべての出力のGoogleスプレッドシートの保存先
  • LOOKBACK_DAYS: レポート期間(日数)
  • EXCLUDED_ACCOUNT_IDS: スキップするクライアントアカウント
  • RECIPIENT_EMAILS: 問題が発生した場合にメールを受け取る人

main() 関数

  • シートを開き、クリアし、ヘッダーを設定します
  • 日付範囲を計算します
  • すべてのMCCサブアカウントをループします
  • ブロックリストにあるものはスキップします
  • CAMPAIGN_PERFORMANCE_REPORT を使用してすべての目標データを取得します
  • 各目標について:
    • 総コンバージョン数を集計します
    • ステータスを割り当てます:
      • アクティブ: コンバージョン > 0
      • 非アクティブ: テスト目標が設定されていないか、
      • 要注意: コンバージョンはゼロ、テストではない
      • 最近のコンバージョンなし: 目標データが返されません
  • シートにデータを追加します
  • setStatusColumnColor()を呼び出して各行をマークします
  • 問題が見つかった場合はフラグ付きリストを作成し、電子メールで通知します

setStatusColumnColor(シート、行、ステータス)

  • 目標のステータスに応じて列 E に背景色を適用します。
    • 緑はアクティブ
    • 非アクティブの場合は赤
    • 黄色は注意が必要
    • 活動がないときは紫

日付ヘルパー

  • getTodayDate() は、正しいタイムゾーンで今日の日付を返します。
  • getDateXDaysAgo() はX日前の日付を返します。

このチュートリアルでは、Google 広告 MCC アカウントのコンバージョン目標ヘルスチェッカーを設定する方法を説明します。各手順に従ってシステムを起動し、Google スプレッドシートに書き込み、問題が発生したときにアラートを送信します。

ステップ1: Googleスプレッドシートを作成する

まず出力先を設定します。

  1. Googleスプレッドシートへ移動
  2. 「空白」をクリックして新しいスプレッドシートを作成します
  3. 「目標モニター」のような名前を付けてください
  4. 中央の部分はシートIDです
  5. スクリプト内の const SHEET_ID = '...' の箇所に ID を貼り付けます。

ステップ2: Google広告スクリプトパネルを開く

このスクリプトを MCC アカウント内に展開します。

  1. Google 広告クライアントセンターアカウントにログイン
  2. 上部のナビゲーションから「ツールと設定」をクリックします
  3. 「一括操作」の下で「スクリプト」を選択します。
  4. 新しいスクリプトを追加するには、プラス(+)ボタンをクリックします。
  5. スクリプト全体をコードエディタにそのまま貼り付けます

ステップ3: スクリプトを承認する

スクリプトを初めて使用するときは、承認する必要があります。

  1. 右上の「承認」をクリックします
  2. Googleアカウントを選択してください
  3. 要求されたすべての権限を承認する

この手順を完了しないと、スクリプトの実行に失敗します。

ステップ4: スクリプト構成を設定する

スクリプト内で、次の内容を確認して変更します。

  • SHEET_ID: コピーしたシートIDを貼り付けます
  • LOOKBACK_DAYS: 必要に応じて変更します(デフォルトは60)
  • EXCLUDED_ACCOUNT_IDS: スキャンしたくないアカウントを追加します
  • RECIPIENT_EMAILS: アラートレポートを受信するメールアドレスを追加します

スクリプトの残りの部分はそのままにしておくことができます。

ステップ5: 手動テストを実行する

一度手動で実行して、すべてが機能することを確認します。

  1. ナビゲーションの上部にある「実行」をクリックします。
  2. 実行が完了するまで待ちます。
  3. 接続された Google スプレッドシートを開きます。
  4. 以下を確認してください:
    • ヘッダーが作成されました
    • アクティブなアカウントごとにデータが書き込まれました。
    • 列 E にステータスと色が正しく適用されています。

ステップ6: スクリプトのスケジュールを設定する(オプション)

これを自動化するには、定期的なスケジュールで実行するように設定します。

  1. スクリプト エディターから、[スケジュールの作成] をクリックします。
  2. 頻度を選択してください(毎日が推奨されます)
  3. 実行時間を設定する(早朝が理想的)
  4. 保存して閉じる

スクリプトは自動的に実行され、何か異常があった場合にのみ警告が表示されます。

ステップ7: アラートを確認する

スクリプトが実行されると、すべてのコンバージョン目標がチェックされます。目標が非アクティブまたは未実行の場合は、メールが届きます。

まとめ

このスクリプトは単なるデータダンプではありません。Google 広告クライアントセンター全体のあらゆるコンバージョン目標を監視する監視ツールです。何か問題が発生したり、停止したり、トラッキングが突然停止したりすると、アラートが通知されます。問題がなければ、何も表示されません。

管理しているすべてのアカウントをチェックし、非アクティブな目標や成果の低い目標をフラグ付けし、フィルタリングされたノイズのないレポートを受信トレイに直接配信します。Googleスプレッドシートでは、アカウント、目標名、コンバージョン数ごとに目標のステータスをリアルタイムで確認でき、視覚的なヒントも表示されます。

インターフェースをあれこれ調べる必要もありません。月末まで待って、自分が盲目だったことに気づく必要もありません。問題になる前に、自分でコントロールできるのです。

同様の投稿をチェックしてください:

同様の投稿をチェックしてください:

もし 複数のアカウントを管理する場合は、 多数のプロパティからのGA4の問題の追跡 または 輸出 軽量スクリプトを使用した、最もパフォーマンスの高い実際の検索用語 ターゲティングを絞り込みます。

お問い合わせ

トラッキングが機能しているかどうかを推測するのにうんざりしていませんか?単なるレポート作成ではなく、システムを構築するチームが必要ですか?

Bright VesselはGoogle広告の管理だけにとどまらず、パフォーマンスの可視化を大規模に実現します。このスクリプトの導入、より大規模な自動化スタックへの統合、あるいは効果的なカスタム分析レイヤーの構築など、どんなご要望でも喜んでお手伝いいたします。

他の代理店が偽造したものを構築するチームと話してください。

ブライトベッセルへのお問い合わせ

無料のSEO監査を受ける

無料のSEO監査フォーム

"*「必須項目」は必須項目です

このフィールドは検証目的のためであり、変更しないでください。
この記事をお楽しみいただけましたか?
ソーシャルメディアでシェアしましょう!
無料のSEO監査を受ける

無料のSEO監査フォーム

"*「必須項目」は必須項目です

このフィールドは検証目的のためであり、変更しないでください。
無料のSEO監査を受ける

無料のSEO監査フォーム

"*「必須項目」は必須項目です

このフィールドは検証目的のためであり、変更しないでください。
この記事は気に入っていただけましたか?
ソーシャルメディアでシェアしましょう!

別のブログ投稿もチェックしてください!

すべてのブログ投稿に戻る
© 2024 Bright Vessel. All rights reserved.
xml バージョン = "1.0"? xml バージョン = "1.0"? 下向きシェブロン 左矢印