2022年6月14日火曜日

【GAS】Google Analytics 4 のデータを Googleスプレットシートに集約し、PDFでメール添付する方法

Google Analytics (UA) については、以前やり方について書き出していました。

また新たに下記ではなくアドオンなしの実装版を 2023年4月6日に公開しました。

ここで利用したGoogle スプレットシートに「Google Analytics」アドオン が Google Analytics 4 に非対応のため、別のアドオンを使ったやり方を紹介します。

2023年11月20日現在、下記で紹介されているように GA4 Reports Builder for Google Analytics というアドオンが Googleから出ているようです(未検証)
【GA4】GA4用のGoogleスプレッドシートアドオンが公開されました
https://www.analytics.cci.co.jp/column/post/ga4-reports-builder


*下記で紹介する「Google Analytics™ connector by SyncWith」は無料版の場合、35回/月の更新しかサポートされていません。20サイトを毎日1回更新した場合、月に1度しか更新できないことになります。1サイトなら1日1度で問題ないが、それ以上は https://syncwith.com/pricing にあるように Business 以上が必要だということですね。

流れは次の通り
  1. Google Analytics 4 からデータを取得し、Googleスプレットシートに挿入
  2. Googleスプレットシートにまとめページ「TOTAL Summary」シートを作成
  3. Googleスプレットシートに送信先「Send-Emails」シートを作成
  4. Google Apps Script で「TOTAL Summary」シートを、メール本文(HTML)とPDF添付で「Send-Emails」に入力したメールアドレス宛に送信
「3」「4」は Google Analytics (UA) 用のものを流用するので、ここでの説明は割愛します。

STEP 1. Google Analytics 4 からデータを取得し、Googleスプレットシートに挿入

Googleスプレットシートにアドオン「Google Analytics™ connector by SyncWith」をインストールします。


こちらは、従来の Google Analytics 3(UA)に対応しています。

詳しくは、下記のブログ先が参考になると思います。
  1. 拡張機能 > Google Analytics™ connector by SyncWith > Manage connections を開く
  2. Google Analytics 4 を選択
  3. Connect an account ボタンをクリックして、 Google Analytics 4 の管理をしているGoogleアカウントでログインします。
    *もし複数アカウントの Google Analytics 4 からデータを取得したいなら、あとでアカウントを追加できます。
  4. 次の設定あたりで十分でしょう。また下記の設定をしているものとして先に進みます。
    - タイトル:Googleスプレットシートの「シート名」になるので短い名前がよいです
    - Select a login: Googleアカウントを選択
    - Select a Google Analytics account: Google Analytics 4で設定したアカウント
    - Loading properties: Google Analytics 4 のプロパティ
    - 日時:下記は、Between を選択し、2022年度を指定しています。
    - Dimensions: Country のみ(今回は国別アクセス数が必要なため)
    - Metrics: Active users, New users, Views
         New users: 新規訪問者数
       Views: アクセス数
    - Scheduling: Automatically refresh daily (1日に1度更新)
  5. 入力し終わったら Insert ボタンを押すことで、「タイトル」シートが生成され、下図のような国別アクセス数が記録されます。
もし複数ページあるなら、
拡張機能 > Google Analytics™ connector by SyncWith > Manage connections
を開いて「Browse」ボタンを押すことで、サイトを追加していくことができます。

STEP 2. Googleスプレットシートにまとめページ「TOTAL Summary」シートを作成

Total Summary シートを作成します。

シートの2行目まではメモとなります。ただしメールで送付されることになるので、ログの取得期間などの情報をいれておくと便利かと思います。


上記で重要なのは、次の4つです。

Sheet Name: Google Analytics™ connector by SyncWithで設定したタイトル(シート名)

Access Log: 関数「=SUM(INDIRECT(B5 & "!D:D"))」を入れる
*Sheet Name!D:D(Viewsの欄)の合計値となります。

Visitors: 関数「=SUM(INDIRECT(B5 & "!C:C"))」を入れる
*Sheet Name!C:C(Viewsの欄)の合計値となります。

Countries: 関数「=COUNTIF(INDIRECT(B5 & "!A:A"), ">=A")」をいれる
*Sheet Name!A:A(Countryの欄)が空欄でない場合
*COUNTA や COUNTIFの "<>" 条件の場合、空欄にみえてデータが入っているのかうまくいきません。そのため、C言語でよくやる文字の数値での比較「C言語における文字(文字変数char)・文字列の表現(ASCIIコード表つき)」が使えるんじゃないかーと思ってやってみたら上手く言った程度です。ここは改良の余地ありですね。

TOP 10 of Countries: 関数「=INDIRECT(B5 & "!A3:A13")」を入れる
実際には11ヵ国にしてます。Japan がトップになることも多くて、日本以外の TOP 10が知りたいなと思ったためです。このあたりは、A3:A13をA3:A12に変えたりいろいろ調整してください。

ここまで出来たら下記の、
(後半)一括取得した Googleスプレットシートの特定シートデータをメール本文(HTML)と PDF にして添付したメール送信
を参考にしてください。

0 件のコメント:

コメントを投稿