Instagramで投稿するとき、「いつ投稿すればもっと多くの人に見てもらえるの?」と悩んだことはありませんか?実は、フォロワーのみなさんがスマホを見る時間帯には傾向があり、その時間に投稿するとより多くの人に届きやすくなります。本記事では、GoogleスプレッドシートとChatGPTを使って、自分専用の「最適な投稿ゴールデンタイム」を自動で診断する方法を、高校生でもわかる言葉で解説します。プログラミング経験がなくても大丈夫。手順どおりに進めてみましょう!
1. 準備するもの
まず、以下のものを準備します。
- Instagramビジネスアカウントまたはクリエイターアカウント
インサイト機能を使うために、通常アカウントではなく、ビジネスまたはクリエイターアカウントに切り替えておきましょう。 - Googleアカウント
GoogleスプレッドシートとGoogle Apps Scriptを使うので、Googleアカウントが必要です。 - ChatGPTのAPIキー
OpenAIのChatGPTを呼び出すために、OpenAIのサイトでAPIキーを取得します(無料プランでもOK)。 - 簡単なインターネット接続
どちらもオンラインで作業するので、ネットにつながるパソコンまたはスマホを用意しましょう。
2. Instagramインサイトからデータを取得
まずは、フォロワーのみなさんがいつInstagramを見ているかを知る必要があります。Instagramアプリのインサイト画面で、曜日別・時間帯別のグラフを確認し、その数字を手作業でGoogleスプレッドシートに入力します。
- Instagramアプリを開き、プロファイルページに移動します。
- 右上のメニュー(≡マーク)をタップし、「インサイト」を選びます。
- 「フォロワー」タブをタップし、下にスクロールすると「アクティビティ」欄が見つかります。
- 「フォロワーが最もアクティブな時間帯」が表示されるので、曜日ごとの各時間帯の割合(%)をメモします。たとえば月曜日の19時~20時に10%、20時~21時に8%といった情報です。
この数値を、次のステップで作るGoogleスプレッドシートに入力します。具体的には、列に「曜日」「0時」「1時」「2時」…「23時」まで用意し、各セルにアクティブ率を入れます。後から自動化しますが、最初は手作業で構いません。
3. Googleスプレッドシートを作成
- Googleドライブに移動し、「新規」→「Googleスプレッドシート」を作成します。
- シートの1行目に、空白のA1セルを残して、B1セル以降に「0時」「1時」…「23時」と入力します。
- A2セルからA8セルに「月曜日」「火曜日」「水曜日」「木曜日」「金曜日」「土曜日」「日曜日」と入力します。
- B2セルからX8セルまでに、先ほどInstagramインサイトから得たアクティブ率(%)を入力します。
このように、各曜日・各時間帯のアクティブ率をシートにまとめましょう。
4. ChatGPT APIキーを設定する
次に、Google Apps Scriptを使ってこのシートとChatGPTをつなげます。そのために、APIキーをスクリプトに保存しておく必要があります。
- ChatGPT(OpenAI)のサイトでアカウントを作り、「APIキー」を発行します。
- スプレッドシート上部のメニューから「拡張機能」→「Apps Script」を開きます。
- 新しく開かれたスクリプトエディタで、以下のようなコードを入力し、実行します。javascriptコードをコピーする
function setApiKey() { // ここに自分のAPIキーをコピーして貼り付け const apiKey = 'YOUR_OPENAI_API_KEY'; PropertiesService.getScriptProperties().setProperty('OPENAI_API_KEY', apiKey); }
- コードを保存し、「実行」ボタンを押して、APIキーをスクリプトプロパティに登録します。
これで、ChatGPTを呼び出す準備が整いました。
5. ChatGPTと連携するApps Scriptを作る
次に、「シートからデータを読み込み→ChatGPTに送信→返ってきた結果をシートに書き込む」ためのスクリプトを作成します。
- 先ほどと同じスクリプトエディタに、以下の関数を追加します。javascriptコードをコピーする
const OPENAI_URL = 'https://api.openai.com/v1/chat/completions'; /** * シートからアクティブ率データを読み取り、ChatGPTに送信して * 「各曜日のおすすめ時間帯」を取得する関数 */ function getOptimalTimes() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // シートの範囲を指定(例:A1からX8まで) const dataRange = sheet.getRange(1, 1, 8, 24); const dataValues = dataRange.getDisplayValues(); // データをテキスト形式に整形 let promptData = ''; for (let i = 1; i < dataValues.length; i++) { const row = dataValues[i].slice(1); // A列は曜日、残りが数字 promptData += dataValues[i][0] + ': ' + row.join('% ') + '%\n'; } // ChatGPTに送るメッセージ const prompt = `以下はInstagramフォロワーの曜日別・時間帯別アクティブ率です。 各曜日ごとに、アクティブ率が高い上位3つの時間帯を教えてください。 数字はすべてパーセント(% )で示されています。 ${promptData}`; // ChatGPT APIを呼び出す const apiKey = PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY'); const response = UrlFetchApp.fetch(OPENAI_URL, { method: 'post', contentType: 'application/json', headers: { Authorization: `Bearer ${apiKey}` }, payload: JSON.stringify({ model: 'gpt-4', messages: [{ role: 'user', content: prompt }], max_tokens: 500 }) }); const json = JSON.parse(response.getContentText()); const result = json.choices[0].message.content; // 結果をシートの下側に書き出す(例:A10セルから) sheet.getRange('A10').setValue('おすすめ時間帯(上位3つ)'); sheet.getRange('A11').setValue(result); }
- コードを保存し、「getOptimalTimes」という関数を選んで実行します。
- 最初は権限を求められるので、「計画に従い権限を許可」してください。
実行すると、A10セル以降にChatGPTが返した「各曜日のおすすめ時間帯」が表示されます。これをもとに、実際にいつ投稿すればいいかがわかります。
6. 結果の見方と活用方法
ChatGPTから返ってくる例
ChatGPTはこんなふうに結果を返してくれます(例):
makefileコードをコピーする月曜日: 19時~20時 (10%), 20時~21時 (8%), 18時~19時 (7%)
火曜日: 7時~8時 (9%), 19時~20時 (8%), 21時~22時 (6%)
水曜日: 12時~13時 (11%), 20時~21時 (9%), 18時~19時 (8%)
…
この情報をもとに、**各曜日の一番アクティブな時間帯(上位3つ)**に集中的に投稿してみましょう。たとえば月曜なら、19時や20時を狙って投稿するとリーチが伸びやすくなります。
カレンダー形式にまとめる
- シートの別タブを作り、「曜日」「最適時間1」「最適時間2」「最適時間3」という見出しを用意します。
- ChatGPTの結果をコピーペーストして、それぞれ対応するセルに分けて貼り付けます。
- 色を付けて強調すると、どの日にどの時間がベストかわかりやすくなります。
こうしておけば、投稿するときにいつでも「今週のベスト時間」をパッと確認できます。
7. 定期的なデータ更新と自動化
フォロワーのアクティブ時間は、季節やイベントによって変わることがあります。たとえば学校行事シーズンや年末年始など、スマホを使う時間帯が変化する可能性があります。そこで、定期的にデータを更新して再診断することをおすすめします。
- 週に1回インサイトデータを更新
- Instagramインサイトで新しいアクティブ率を取得
- Googleスプレッドシートに上書きして、ChatGPTスクリプトを再実行する
- 自動実行トリガーを設定
- スクリプトエディタの「時計マーク(トリガー)」をクリック
- “getOptimalTimes”関数を週に1回自動実行するよう設定する
これで、毎週自動的に最新の「おすすめ時間帯」がシートにアップデートされます。手作業なしで常に最適な投稿スケジュールがわかるので、とても便利です。
8. まとめ
- Instagramインサイトでデータ取得:曜日別・時間帯別のフォロワーアクティブ率をメモする。
- Googleスプレッドシートを作成:曜日と24時間のアクティブ率を入力する。
- ChatGPT APIキーを設定:Apps ScriptにAPIキーを保存。
- Apps Scriptで診断コードを書く:シートからデータを読み込み、ChatGPTに送信して結果をシートに書き出す関数を作成。
- 結果を確認し、投稿スケジュールを決める:ChatGPTの返答を元に、各曜日の上位3つの時間を把握。
- 定期更新と自動化:インサイトデータを週に1回更新し、トリガーで診断関数を自動実行。
この手順を実践すれば、AIを味方にした投稿時間の診断ツールが完成します。自分専用のゴールデンタイムを知ることで、リーチやエンゲージメントがさらに伸びるはずです。ぜひ試してみてください!