パソコン用ヘッダー画像
Googleサービス PR

【GAS】Google AdSenseの収益確認を自動化

GASを使って、ブログのアドセンス収益を自動通知・自動出力
記事内に商品プロモーションを含む場合があります

ブログ運営者なら誰もが気になるAdSenseの収益。

「Google AdSenseの収益、毎日確認するの面倒くさくないですか?」

「今日はいくら稼げたかな?」とワクワクしながらも、何度もログインして収益を確認するのは正直面倒ですよね。

そこで今回は、Google Apps Script (GAS) を使って、AdSenseの収益確認を完全自動化する方法を3つご紹介します。

収益確認の手間は不要!毎日メールで自動通知

グーグルのローコード開発ツールGASをつかうとあらゆるものが便利に

朝起きてメールをチェックすると、前日のAdSense収益がすでに届いている。そんな便利な世界が実現できます。

GASを使えば、毎朝指定した時間に前日の収益を自動でメール送信できます。必要なのは、パブリッシャーID通知先のメールアドレスだけ。

たったこれだけで、面倒なログイン作業から解放されます。

  • メールで通知
    ⇒ その日の収益を夜にメールで送ってもらう
  • スプレッドシートで管理
    ⇒ 分析材料に過去の実績を蓄積

GASで自動化!メール通知のスクリプト

  • STEP1
    新しいプロジェクトを作成
    プロジェクト名を「AdSense収益通知」など、わかりやすい名前に設定
  • STEP2
    サービスの選択・追加
    『Adsense Manegement API』を選択して、バージョンは【v2】、IDはこだわりなければ【AdSense】にして『追加』をクリック
  • STEP3
    スクリプトの貼りつけ
    ご自身のパブリッシャーIDと通知を送りたいアドレスの設定だけ変更

    function Get_AdSenseData() {
      
      // ご自身の設定
      const pubId ='pub-*********************'      // パブリッシャーID
      const mailTo = '******************@gmail.com'  // 送信先メールアドレス 
      const subject = 'AdSense Report';              // 件名
      
      // 変数を設定
      let adsenseAccount = 'accounts/' + pubId;
      let adsenseDimensionId = 'ca-' + pubId;
      let today = new Date();
    
      let metrics = ['ESTIMATED_EARNINGS', 'PAGE_VIEWS', 'INDIVIDUAL_AD_IMPRESSIONS', 'CLICKS']
      let report = AdSense.Accounts.Reports.generate(adsenseAccount, {
        filters: ['AD_CLIENT_ID==' + adsenseDimensionId],
        metrics:  metrics,
        dimensions: ['DATE'],
        ...dateToJson('startDate', today),
        ...dateToJson('endDate', today),
        orderBy: ['+DATE']
      })
    
      if (report.rows) {
        let estimatedEarnings = Number(report.rows[0].cells[1].value);
        let pageViews = Number(report.rows[0].cells[2].value);
        let impressions = Number(report.rows[0].cells[3].value);
        let clicks = Number(report.rows[0].cells[4].value);
    
        let body = "\n【本日のAdSense Report】\n\n";
        body = body + "推定収益額:" + estimatedEarnings.toLocaleString() + "円\n\n";
        body = body + "ページビュー数:" + pageViews.toLocaleString() + "\n\n";
        body = body + "広告表示回数:" + impressions.toLocaleString() + "\n\n";
        body = body + "クリック数:" + clicks.toLocaleString();
    
        // 件名に日付が表示されるように設定
        let formatDate = Utilities.formatDate(today,"JST", "yyyy/MM/dd");
        let title = subject + "(" + formatDate + ")";
    
        GmailApp.sendEmail(mailTo, title, body);
      }
    }
    
    function dateToJson(param, value) {
      return {
        [param + '.year']: value.getFullYear(),
        [param + '.month']: value.getMonth() + 1,
        [param + '.day']: value.getDate()
      };
    }
    

AdSense収益を自動通知するメリット

GASでAdSense収益を自動通知するメリットは、以下の3つ。

  • 毎日収益を確認する手間が省ける
    ▶ 毎日自動で収益がメールで届くので、AdSenseにログインして確認不要
  • 収益の増減を把握しやすい
    ▶ 日々の収益を簡単に確認、収益の増減の把握
  • モチベーションアップに繋がる
    ▶ 収益が増えていると分かれば、ブログ運営のモチベーションもアップ

\GASを使うための承認とは?/

承認確認は、GASを初期実行する際に必要な作業
【GAS】「承認が必要です。」〜アクセス権限を付与〜 Google Apps Script(GAS)は、Googleアカウントさえあれば誰でも簡単に使える強力なプログラミングツールです。 ...

収益データを自動でスプレッドシートに記録&分析

アドセンス収益の結果を出力・分析に役立てる

GASを使えば、日々の収益データを自動でスプレッドシートに記録し、日別、週別、月別など好きな期間で集計できます。

スプレッドシートに記録されたデータは、グラフ化したり、他のデータと組み合わせて分析したりすることで、ブログ運営の改善に役立ちます。

収益データを自動記録するスクリプト

先ほどご紹介したのは、毎日アドセンスの結果を把握するためのスクリプト。これからご紹介するスクリプトはデータを蓄積し、分析に活用が可能です。

function ad_writeReport() {

// ご自身の設定
  const pubId ='pub-*******************'      // パブリッシャーID
  const sheetname = "report"; // 出力先のシート名

  const ss = SpreadsheetApp.getActive();
  const sheet = ss.getSheetByName(sheetname);
  const adsenseAccount = "accounts/" + pubId;
  const adsenseDimensionId = "ca-" + pubId;
  const metrics = getMetrics();

  const report = AdSense.Accounts.Reports.generate(adsenseAccount, {
    filters: ["AD_CLIENT_ID==" + adsenseDimensionId],
    metrics: metrics,
    dimensions: ["DATE"],
    dateRange: "YESTERDAY", // 昨日の結果取得 
    orderBy: ["+DATE"],

    //抽出例(参考にしてください)
    // TODAY,YESTERDAY,MONTH_TO_DATE,YEAR_TO_DATE,LAST_7_DAYS,LAST_30_DAYS,CUSTOM
    // "startDate.year": 2023,
    // "startDate.month": 4,
    // "startDate.day": 1,
    // "endDate.year": 2023,
    // "endDate.month": 4,
    // "endDate.day": 30,
  });

if (report.rows) {
    // 新しい日付のデータをシートの最終行に出力
    sheet
      .getRange(
        sheet.getLastRow() + 1,
        1,
        report.rows.length,
        report.headers.length
      )
      .setValues(report.rows.map((row) => row.cells.map((cell) => cell.value)));

    // 日付が同じデータは削除
    sheet.getDataRange().removeDuplicates([1]);
  }
}

function getMetrics(){
  return [
    "ACTIVE_VIEW_MEASURABILITY",
    "ACTIVE_VIEW_TIME",
    "ACTIVE_VIEW_VIEWABILITY",
    "ADS_PER_IMPRESSION",
    "AD_REQUESTS",
    "AD_REQUESTS_COVERAGE",
    "AD_REQUESTS_CTR",
    "AD_REQUESTS_RPM",
    "CLICKS",
    "COST_PER_CLICK",
    "ESTIMATED_EARNINGS",
    "IMPRESSIONS",
    "IMPRESSIONS_CTR",
    "IMPRESSIONS_RPM",
    "INDIVIDUAL_AD_IMPRESSIONS",
    "INDIVIDUAL_AD_IMPRESSIONS_CTR",
    "INDIVIDUAL_AD_IMPRESSIONS_RPM",
    "MATCHED_AD_REQUESTS",
    "MATCHED_AD_REQUESTS_CTR",
    "MATCHED_AD_REQUESTS_RPM",
    "PAGE_VIEWS",
    "PAGE_VIEWS_CTR",
    "PAGE_VIEWS_RPM",
    "TOTAL_EARNINGS",
    "TOTAL_IMPRESSIONS",
    "WEBSEARCH_RESULT_PAGES",
  ];
}

◇ AdSense Manegement API
スプレッドシートの1行目は、こちらのページの指標の項目を参照

スプレッドシートで収益データを分析

スプレッドシートに記録された収益データを使えば、以下のような分析が可能

  • 日別、週別、月別の収益推移をグラフ化
    ▶ スプレッドシートのグラフ機能を使って、収益の推移を視覚的に把握
  • 特定期間の収益を比較
    ▶ 特定の期間(例:先月と今月)の収益を比較し、増減を分析
  • 記事ごとの収益を比較
    ▶ Google Analyticsと連携することで、記事ごとの収益を比較し、人気記事や収益性の高い記事を特定
  • 広告の種類ごとの収益を比較
    ▶ 広告の種類ごとの収益を比較し、最適な広告フォーマットを検討

GASを使ったAdSense収益確認の自動化は、日々の作業時間を削減し、収益アップに繋がるデータ分析を可能にする、非常に便利なツールです。

さらに、GASはAdSense以外のGoogleサービスとも連携できるため、収益管理だけでなく、ブログ運営全体の効率化にも役立ちます。

例えば、Google AnalyticsのデータとAdSenseの収益データを連携させることで、より詳細な分析が可能になります。

まとめ

  1. メールで自動通知
  2. リスト化で分析

今回は、GASを使ったAdSense収益確認の自動化方法と、収益アップに繋がるデータ分析方法、そして収益を最大化するテクニックをご紹介しました。

これらの方法を活用することで、あなたは収益確認にかかる時間を大幅に削減し、ブログ運営に集中できます。

さらに、収益データを分析することで、より効果的なブログ運営が可能になります。

さあ、あなたもGASを使って、AdSense収益確認を自動化し、ブログ運営を次のステージへとレベルアップさせましょう!

\小さな作業はGASで自動化!!/

【保存版】スプレッドシートを活用した住所録の入力自動化GASとスプレッドシートで住所録を簡単に作成・管理する方法を解説!コピペでOKの簡単スクリプトで自動化、作業効率アップ!顧客情報の一元管理でビジネスチャンス拡大!プログラミング初心者でも安心のステップバイステップガイド。...

Fatal error: Uncaught JSMin_UnterminatedRegExpException: JSMin: Unterminated RegExp at byte 47225: /.source + in /home/c1448553/public_html/one-walker.net/wp-content/plugins/autoptimize/classes/external/php/jsmin.php:264 Stack trace: #0 /home/c1448553/public_html/one-walker.net/wp-content/plugins/autoptimize/classes/external/php/jsmin.php(150): JSMin->action(1) #1 /home/c1448553/public_html/one-walker.net/wp-content/plugins/autoptimize/classes/external/php/jsmin.php(84): JSMin->min() #2 /home/c1448553/public_html/one-walker.net/wp-content/plugins/autoptimize/classes/autoptimizeSpeedupper.php(38): JSMin::minify('/* PrismJS 1.29...') #3 /home/c1448553/public_html/one-walker.net/wp-includes/class-wp-hook.php(324): autoptimizeSpeedupper->js_snippetcacher('/* PrismJS 1.29...', '/home/c1448553/...') #4 /home/c1448553/public_html/one-walker.net/wp-includes/plugin.php(205): WP_Hook->apply_filters('/* PrismJS 1.29...', Array) #5 /home/c1448553/public_html/one-walker.net/wp-content/plugins/autoptimize/classes/autoptimizeScripts.ph in /home/c1448553/public_html/one-walker.net/wp-content/plugins/autoptimize/classes/external/php/jsmin.php on line 264