クライアントからの依頼で、複数(10個ほど)のインスタグラムアカウントのインサイトデータを可視化するダッシュボードを作成することになりました。手作業では煩雑で時間がかかるため、Google Apps Script (以下GAS)を使ってデータを自動的に取得し、Looker Studio(旧Google Data Studio)でダッシュボードを構築しました。この記事では、その過程で学んだ5つの重要なポイントをご紹介します。
学び1 最大実行時間に気をつける
GASには最大実行時間が6分という制限があるため、長時間かかる処理はタイムアウトしてしまう可能性があります。インスタグラムのインサイトデータを複数アカウント分取得する場合、各アカウントごとにデータを取得し、一度に全ての処理を行わないように注意が必要です。
今回はGASの中で、1つのアカウントのインサイトデータの取得が終わったら、一定時間後に次の処理が行われるようにトリガーを設定するようにしました。
// インサイトデータ取得の処理の後にトリガーを設定する
const trigger = ScriptApp.newTrigger(${実行したい関数}).timeBased().at(${1分後}).create();
参考: Google Apps Scriptの割り当てと制限
学び2 インサイトデータの取得と画像の保存処理を分ける
今回、インスタグラムの投稿の画像も可視化のする必要がありました。画像のデータを一度に取得しようとすると処理が重くなりがちです。また前述の最大実行時間の制限にもあたりやすくなります。そのため、インサイトデータの取得と画像の保存処理を別々に行うことをおすすめします。まずインサイトデータのみ取得し、それを保存した後に画像データを取得するスクリプトを実行すると、効率的に処理が進められます。
学び3 データの保存先としてBigQueryを使う
インスタグラムのインサイトデータは大量になることがあります。そのためスプレッドシートでの管理が難しい場合があります。
今回は、クライアントが管理したいインスタグラムが10個ほどあり、日々の投稿数もかなり多いような状況だったため、Google Cloud Platform (GCP)のBigQueryをデータの保存先として利用しました。BigQueryは大量のデータを扱うことを得意としているデータベースであり、Looker Studioとの相性も良いためおすすめです。
学び4 スクリプトはGCPプロジェクトに紐づける
GASのシステムを安定的に運用する上では、GCPプロジェクトに紐づけることが重要です。
これにより、複数のGASを管理している場合、ログが一元管理できるようになったり、GASでエラーが起きたときにSlack等へアラートを飛ばせるようになったりします。
紐づけ方法は以下のとおりです。
-
GCP プロジェクトを新しく作って、プロジェクトの設定を切り替える必要があります。以下のメニューから「プロジェクトの設定」に移動
-
Cloud Logging の機能を有効化した Google Cloud Platform (GCP) プロジェクトのプロジェクト番号を紐づける
参考: Google Apps ScriptでCloud Loggingを使用する
学び5 ダッシュボードにはLooker Studioがおすすめ
最後に、インサイトデータを可視化するためのツールとしてLooker Studioを強くおすすめします。
Looker Studioは、スプレッドシートやBigQueryに保存したデータを簡単にインポートしてダッシュボードを作成できます。また、豊富なビジュアライゼーションオプションやカスタマイズ機能を活用することで、クライアントのニーズに応じた見やすいダッシュボードを作成することが可能です。
最後に
これらの学びを参考にしていただくことで、インスタグラムのインサイトデータを効率的に取得し、効果的に可視化することができると思います。これから同様のプロジェクトに取り組む方々の参考になれば幸いです。
宣伝
GASラボでは、便利な自動化ツール(GAS製・100種類以上)、新規サービス、テンプレートを開発・公開しております。
最新情報については、Twitter(X)でも配信しておりますので、是非チェックしていただけると幸いです。