
GAS×Geminiで作る 歯科医院レポート自動生成の手順
今回は、記事07で紹介した「Google広告AI分析ダッシュボード」の作り方を、コード含めてすべて公開します。
出し惜しみしません。全部見せます。
ただし正直に言います。
この記事を読んで自力で最後まで構築できる歯科医師は、おそらく100人に1
人もいません。
それでも公開する理由は2つあります。
第一に、「中身がわかる」ことに価値があるから。
外注するにしても、セミナーで学ぶにしても、全体像を知っている人と知らない人では判断の精度がまったく違います。
第二に、「全部出す」ことが信頼の土台だから。
武田塾が勉強法を7,000本の動画で全公開しているのと同じ理屈です。
GAS(Google Apps Script)とは ― 歯科医師のために説明する
GASは、Googleが無料で提供しているプログラミング環境です。
「プログラミング」と聞くと身構えるかもしれませんが、要するに「Googleのサービスを自動で操作するための仕組み」です。
たとえば、Googleスプレッドシートのデータを自動で集計する。
Gmailの受信メールを条件に応じて自動分類する。
Googleカレンダーの予定を自動で作成する。
こういった「手動でやっている繰り返し作業」を、GASに書いておけば自動で実行してくれます。
GASの最大の利点は「Googleアカウントがあれば今すぐ使える」ことです。
ソフトのインストールは不要。
ブラウザだけで書ける。
しかも完全無料。
歯科医院なら、すでにGoogleスプレッドシートやGmailを使っているはずなので、追加コストはゼロです。
今回は、このGASからGoogle広告のデータを取得し、Gemini AIに分析させ、レポートを自動生成する仕組みを作ります。
Gemini APIの取得方法 ― 5分で完了する手順
Geminiは、Googleが提供するAIモデルです。
ChatGPTのGoogle版と考えてください。
今回使うのは「gemini-2.5-flash」というモデルで、高速かつ高精度、しかも無料枠が十分に広い。
歯科医院の月1回のレポート生成なら、無料枠で余裕で収まります。
APIキーの取得手順は以下のとおりです。
①ブラウザで「aistudio.google.com」にアクセス → ②Googleアカウントでログイン →③左メニューの「Get API Key」をクリック → ④「Create API Key」をクリック →
⑤プロジェクトを選択(「Create in new project」でOK) → ⑥APIキーが表示される
このAPIキーは「AIへの入場券」のようなものです。
あとで使うのでメモしておいてください。
セキュリティ上、このキーは他人に見せないでください。
SNSに貼ったりしないように。
使用するエンドポイントはv1beta。
モデルはgemini-2.5-flash。
maxOutputTokensは4096に設定します。
これらの設定値は、後のコードの中で指定します。
全体の処理フロー ― 何が起きているかを理解する
コードを見る前に、全体で何が起きているかを把握してください。
技術的な詳細よりも、この「流れ」を理解することが重要です。
Step A:GASがGoogle広告APIに接続し、過去30日間のキャンペーンデータ(キーワード別の表示回数、クリック数、コンバージョン数、費用)を取得する
Step B:取得したデータをJSON形式(コンピュータが読みやすい形式)に整形し、Gemini 2.5 FlashのAPIに送信する。
このとき、「歯科医院の院長が読むことを前提に、日本語で、具体的な改善アクションを含めて分析してください」というプロンプト(指示文)を一緒に送る
Step C:Geminiが分析結果を返す。
キーワードのパフォーマンス評価、時間帯別の傾向、曜日別のパターン、具体的な改善提案などが含まれる
Step D:Geminiの分析結果をHTMLテンプレートに流し込み、Chart.jsでグラフを描画した見やすいレポートを自動生成する
Step E:生成されたHTMLをNetlifyにデプロイ(公開)する。URLが発行され、ブラウザからいつでもアクセスできる
この一連の処理をGASのトリガー機能で毎月1日に自動実行するように設定します。
院長は何もしなくても、毎月1日にダッシュボードが最新の分析結果に更新されます。
コード公開①:Google広告データ取得
※ note記事上ではコードブロックで全文を掲載します。
ここでは処理の内容を解説します。
Google広告のデータを取得するスクリプトは約80行です。
Google Ads APIのレポーティング機能を使い、GAQL(Google Ads Query Language)というクエリ言語でデータを抽出します。
取得する項目は、キャンペーン名、キーワード、表示回数(Impressions)、クリック数(Clicks)、コンバージョン数(Conversions)、費用(Cost)、クリック率(CTR)、コンバージョン率(CVR)の8項目です。
期間はデフォルトで過去30日間。
これをJSON形式に変換して、次のステップに渡します。
ポイントは、このスクリプトを一度書けば、毎月自動で動くということです。
キャンペーンが増えても、キーワードが変わっても、スクリプトの修正は不要。
APIが自動で最新データを返してくれます。
コード公開②:Gemini分析プロンプト
取得したデータをGeminiに送って分析させる部分です。
ここで最も重要なのはプロンプト(AIへの指示文)の設計です。
僕が実際に使っているプロンプトの骨格を公開します。
「あなたは歯科医院のGoogle広告アナリストです。
以下のデータを分析し、院長(非マーケター)が読むことを前提に日本語で報告してください。
含めるべき内容:
①高パフォーマンスキーワードTOP5とその理由
②低パフォーマンスキーワードと改善案
③時間帯別コンバージョン傾向
④曜日別パフォーマンス
⑤先月比の変化と要因分析
⑥来月に取るべきアクション3つ。
専門用語を使う場合は必ず日本語で補足してください。」
このプロンプトにはいくつかの工夫が入っています。
第一に、「院長(非マーケター)が読む」と明示している。
これでGeminiの出力が一般読者向けの平易な日本語になります。
第二に、出力の構成を6つのセクションで指定している。
毎月同じフォーマットで出力されるので、比較がしやすい。
第三に、「来月に取るべきアクション」を必ず含めさせている。
分析だけで終わらず、次のアクションまで出す。
これが人間のアナリストとの決定的な違いで、AIは遠慮なく具体的な提案をしてくれます。
コード公開③:HTMLレポート生成
Geminiの分析結果を、ブラウザで見られるHTMLレポートに変換します。
テンプレートHTMLにChart.jsを埋め込み、キーワード別のパフォーマンスを棒グラフ、時間帯別コンバージョンを折れ線グラフ、曜日別のヒートマップで可視化します。CSSはレスポンシブ対応で、スマホでもPCでも見やすいレイアウトです。
レポートの上部にはGeminiの分析テキストがそのまま表示され、下部にグラフが並ぶ構成です。
院長は朝、スマホでURLを開いて、上部の分析テキストを読むだけで、先月の広告パフォーマンスと今月やるべきことがわかります。
Netlifyデプロイ手順 ― HTMLを「公開」する方法
Netlifyは、HTMLファイルをインターネット上に公開するサービスです。
無料プランで十分です。
初回のデプロイ(公開)手順は以下のとおりです。
①netlify.comにアクセスし、アカウントを作成(GitHubアカウントでもGoogleアカウントでもOK) → ②ダッシュボードの「Sites」をクリック → ③画面下部の「Deploy
manually」エリアに、生成されたHTMLファイルが入ったフォルダをドラッグ&ドロップ →④数秒でデプロイ完了。URLが発行される
発行されたURLは「https://random-name.netlify.app」のような形式です。
カスタムドメインを設定することも可能ですが、社内用なのでデフォルトのURLで十分です。
2回目以降の自動デプロイは、Netlify APIを使ってGASから直接行います。
GASのスクリプトにNetlifyAPIキーとサイトIDを設定すれば、HTMLが生成されるたびに自動でデプロイされます。
この部分のコードも、note記事上で全公開します。
運用コストの現実
この仕組みの運用コストを正確に整理します。
GAS実行:無料(Google Workspaceの無料枠内)。
Gemini API:無料(gemini-2.5-flashの無料枠は1日あたり十分な量があり、月1回のレポート生成なら余裕)。
Netlifyホスティング:無料(月100GBの帯域幅。社内数人がアクセスする程度ならまったく問題なし)。
Google広告API:無料(Google広告を出稿していれば追加費用なし)。
合計運用コスト:月額0円。
広告代理店にレポーティングだけ外注すると、月3〜5万円はかかります。
しかも代理店のレポートは月1回の定型フォーマット。
AIダッシュボードは毎日更新で、データに基づく改善提案付き。
コストゼロで、品質は上。
理屈で考えれば、やらない理由がありません。
唯一のコストは「最初に構築する時間」です。
僕の場合、Claude Codeに指示しながら作って約半日かかりました。
ゼロから自力でやると数日〜1週間はかかるでしょう。
ここが「99%の院長にとっての壁」です。
この記事を読んで「無理だ」と思ったあなたへ
全部見せました。
コードの構造も、API設定も、デプロイ手順も。
隠していることはありません。
でも、ここまで読んで「自分にはできない」と感じた方が大半だと思います。
それは、あなたの能力の問題ではありません。
歯科医師の仕事とプログラミングは、求められるスキルセットがまったく違うだけで
す。
大事なのは、「何が起きているか」を理解していることです。
GASでデータを取得して、AIに分析させて、HTMLで可視化する。
この「流れ」を知っているだけで、以下のことができるようになります。
外注するとき:「GASとGeminiでGoogle広告のレポート自動生成の仕組みを作ってほしい」と具体的に発注できる。
「なんかいい感じのレポートを作ってください」とは天と地の差です。
代理店と話すとき:「うちは自前でAI分析ダッシュボードを持っています。御社のレポートと照合したいので、ローデータをCSVで提供してもらえますか?」と交渉できる。
セミナーで学ぶとき:全体像が頭に入っているので、「Step Bのプロンプト設計の部分をもっと詳しく教えてほしい」とピンポイントで質問できる。
Dental AI Academy Advancedセミナーでは、このコードをベースに、あなたの医院のGoogle広告アカウントに接続し、実際に動くダッシュボードを一緒に構築します。
セミナー終了時には、あなた専用のダッシュボードURLが手元にある状態を目指します。
次回予告
次回はシリーズ最終回「歯科医院のCLAUDE.md設計ガイド」。
AIに「うちの医院のルール」を教えるファイルの設計方法を、なないろ歯科の303行の実例とともに公開します。
白崎俊|歯科医院のAI自動化
医療法人なないろ歯科・こども矯正歯科クリニック 理事長
Dental AI Academy 主